| @@ -17,7 +17,6 @@ | |||||
| "@angular/platform-browser-dynamic": "^17.0.2", | "@angular/platform-browser-dynamic": "^17.0.2", | ||||
| "@angular/router": "^17.0.2", | "@angular/router": "^17.0.2", | ||||
| "@ionic/angular": "^7.0.0", | "@ionic/angular": "^7.0.0", | ||||
| "angular-svg-round-progressbar": "^12.0.0", | |||||
| "ionicons": "^7.0.0", | "ionicons": "^7.0.0", | ||||
| "rxjs": "~7.8.0", | "rxjs": "~7.8.0", | ||||
| "tslib": "^2.3.0", | "tslib": "^2.3.0", | ||||
| @@ -4734,18 +4733,6 @@ | |||||
| "ajv": "^8.8.2" | "ajv": "^8.8.2" | ||||
| } | } | ||||
| }, | }, | ||||
| "node_modules/angular-svg-round-progressbar": { | |||||
| "version": "12.0.0", | |||||
| "resolved": "https://registry.npmjs.org/angular-svg-round-progressbar/-/angular-svg-round-progressbar-12.0.0.tgz", | |||||
| "integrity": "sha512-zf5TLC0goQZgirSp6g72SdN8Vz7a3VuKVqdSnIuAf0Q7Nx55crmlwLWIEYIxrKe5A1wea8fnOF8oFK5v8mCAsA==", | |||||
| "dependencies": { | |||||
| "tslib": "^2.3.0" | |||||
| }, | |||||
| "peerDependencies": { | |||||
| "@angular/common": "^17.0.0", | |||||
| "@angular/core": "^17.0.0" | |||||
| } | |||||
| }, | |||||
| "node_modules/ansi-colors": { | "node_modules/ansi-colors": { | ||||
| "version": "4.1.3", | "version": "4.1.3", | ||||
| "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", | ||||
| @@ -19855,14 +19842,6 @@ | |||||
| "fast-deep-equal": "^3.1.3" | "fast-deep-equal": "^3.1.3" | ||||
| } | } | ||||
| }, | }, | ||||
| "angular-svg-round-progressbar": { | |||||
| "version": "12.0.0", | |||||
| "resolved": "https://registry.npmjs.org/angular-svg-round-progressbar/-/angular-svg-round-progressbar-12.0.0.tgz", | |||||
| "integrity": "sha512-zf5TLC0goQZgirSp6g72SdN8Vz7a3VuKVqdSnIuAf0Q7Nx55crmlwLWIEYIxrKe5A1wea8fnOF8oFK5v8mCAsA==", | |||||
| "requires": { | |||||
| "tslib": "^2.3.0" | |||||
| } | |||||
| }, | |||||
| "ansi-colors": { | "ansi-colors": { | ||||
| "version": "4.1.3", | "version": "4.1.3", | ||||
| "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", | ||||
| @@ -22,7 +22,6 @@ | |||||
| "@angular/platform-browser-dynamic": "^17.0.2", | "@angular/platform-browser-dynamic": "^17.0.2", | ||||
| "@angular/router": "^17.0.2", | "@angular/router": "^17.0.2", | ||||
| "@ionic/angular": "^7.0.0", | "@ionic/angular": "^7.0.0", | ||||
| "angular-svg-round-progressbar": "^12.0.0", | |||||
| "ionicons": "^7.0.0", | "ionicons": "^7.0.0", | ||||
| "rxjs": "~7.8.0", | "rxjs": "~7.8.0", | ||||
| "tslib": "^2.3.0", | "tslib": "^2.3.0", | ||||
| @@ -14,11 +14,7 @@ const routes: Routes = [ | |||||
| { | { | ||||
| path: 'story-details', | path: 'story-details', | ||||
| loadChildren: () => import('./story-details/story-details.module').then( m => m.StoryDetailsPageModule) | loadChildren: () => import('./story-details/story-details.module').then( m => m.StoryDetailsPageModule) | ||||
| }, | |||||
| { | |||||
| path: 'chant-mantras', | |||||
| loadChildren: () => import('./chant-mantras/chant-mantras.module').then( m => m.ChantMantrasPageModule) | |||||
| }, | |||||
| } | |||||
| ]; | ]; | ||||
| @NgModule({ | @NgModule({ | ||||
| @@ -1,17 +0,0 @@ | |||||
| import { NgModule } from '@angular/core'; | |||||
| import { Routes, RouterModule } from '@angular/router'; | |||||
| import { ChantMantrasPage } from './chant-mantras.page'; | |||||
| const routes: Routes = [ | |||||
| { | |||||
| path: '', | |||||
| component: ChantMantrasPage | |||||
| } | |||||
| ]; | |||||
| @NgModule({ | |||||
| imports: [RouterModule.forChild(routes)], | |||||
| exports: [RouterModule], | |||||
| }) | |||||
| export class ChantMantrasPageRoutingModule {} | |||||
| @@ -1,23 +0,0 @@ | |||||
| import { NgModule } from '@angular/core'; | |||||
| import { CommonModule } from '@angular/common'; | |||||
| import { FormsModule } from '@angular/forms'; | |||||
| import { IonicModule } from '@ionic/angular'; | |||||
| import { ChantMantrasPageRoutingModule } from './chant-mantras-routing.module'; | |||||
| import { ChantMantrasPage } from './chant-mantras.page'; | |||||
| import { RoundProgressModule } from 'angular-svg-round-progressbar'; | |||||
| @NgModule({ | |||||
| imports: [ | |||||
| CommonModule, | |||||
| FormsModule, | |||||
| IonicModule, | |||||
| ChantMantrasPageRoutingModule, | |||||
| RoundProgressModule, | |||||
| ], | |||||
| declarations: [ChantMantrasPage], | |||||
| }) | |||||
| export class ChantMantrasPageModule {} | |||||
| @@ -1,20 +0,0 @@ | |||||
| <ion-content [fullscreen]="true"> | |||||
| <section class="timer"> | |||||
| <round-progress | |||||
| [current]="options.current" | |||||
| [max]="options.max" | |||||
| [color]="options.color" | |||||
| [background]="options.background" | |||||
| [stroke]="options.stroke" | |||||
| [semicircle]="options.semicircle" | |||||
| [rounded]="options.rounded" | |||||
| [clockwise]="options.clockwise" | |||||
| [responsive]="options.responsive" | |||||
| [duration]="options.duration" | |||||
| [animation]="options.animation" | |||||
| [animationDelay]="options.animationDelay"/> | |||||
| <div class="indicator"> | |||||
| {{ totalTime }} | |||||
| </div> | |||||
| </section> | |||||
| </ion-content> | |||||
| @@ -1,13 +0,0 @@ | |||||
| .timer { | |||||
| position: relative; | |||||
| .indicator { | |||||
| background: linear-gradient(90deg, var(--brand-orange-shade1), var(--brand-orange-shade2)); | |||||
| margin: 0 auto; | |||||
| height: 30vh; | |||||
| width: 30vh; | |||||
| position: absolute; | |||||
| border-top-left-radius: 50%; | |||||
| border-top-right-radius: 50%; | |||||
| } | |||||
| } | |||||
| @@ -1,17 +0,0 @@ | |||||
| import { ComponentFixture, TestBed } from '@angular/core/testing'; | |||||
| import { ChantMantrasPage } from './chant-mantras.page'; | |||||
| describe('ChantMantrasPage', () => { | |||||
| let component: ChantMantrasPage; | |||||
| let fixture: ComponentFixture<ChantMantrasPage>; | |||||
| beforeEach(async(() => { | |||||
| fixture = TestBed.createComponent(ChantMantrasPage); | |||||
| component = fixture.componentInstance; | |||||
| fixture.detectChanges(); | |||||
| })); | |||||
| it('should create', () => { | |||||
| expect(component).toBeTruthy(); | |||||
| }); | |||||
| }); | |||||
| @@ -1,44 +0,0 @@ | |||||
| import { Component, OnInit, OnDestroy } from '@angular/core'; | |||||
| @Component({ | |||||
| selector: 'app-chant-mantras', | |||||
| templateUrl: './chant-mantras.page.html', | |||||
| styleUrls: ['./chant-mantras.page.scss'], | |||||
| }) | |||||
| export class ChantMantrasPage implements OnInit, OnDestroy { | |||||
| options = { | |||||
| current: 100, | |||||
| max: 100, | |||||
| color: '#fa9900', | |||||
| background: '#fce09f', | |||||
| stroke: 10, | |||||
| semicircle: true, | |||||
| rounded: true, | |||||
| clockwise: true, | |||||
| responsive: true, | |||||
| duration: 1000, | |||||
| animation: 'easeInOutQuart', | |||||
| animationDelay: 0, | |||||
| }; | |||||
| totalTime: number = 100000; | |||||
| currentTime: number = 0; | |||||
| timerInterval: any; | |||||
| constructor() {} | |||||
| ngOnDestroy() { | |||||
| clearInterval(this.timerInterval); | |||||
| } | |||||
| ngOnInit() { | |||||
| this.currentTime = this.totalTime; | |||||
| this.timerInterval = setInterval(() => { | |||||
| if (this.currentTime > 0) { | |||||
| this.currentTime -= 1000; | |||||
| this.options.current = this.currentTime * 100 / this.totalTime; | |||||
| } else { | |||||
| clearInterval(this.timerInterval); | |||||
| } | |||||
| }, 1000); | |||||
| } | |||||
| } | |||||
| @@ -5,7 +5,7 @@ | |||||
| <h5>Om Namo Narayani</h5> | <h5>Om Namo Narayani</h5> | ||||
| <button class="notifications-button"> | <button class="notifications-button"> | ||||
| <ion-icon src="assets/revised-assets/bell.svg"></ion-icon> | <ion-icon src="assets/revised-assets/bell.svg"></ion-icon> | ||||
| <ion-badge>11</ion-badge> | |||||
| <ion-badge>9</ion-badge> | |||||
| </button> | </button> | ||||
| </header> | </header> | ||||
| <ul class="stories remove-scrollbar" (click)="showStoryDetails()"> | <ul class="stories remove-scrollbar" (click)="showStoryDetails()"> | ||||
| @@ -63,25 +63,32 @@ | |||||
| <ul class="horizontal-card-list remove-scrollbar"> | <ul class="horizontal-card-list remove-scrollbar"> | ||||
| <li> | <li> | ||||
| <figure> | <figure> | ||||
| <img src="assets/sample-images/merch/idol.webp" alt="" /> | |||||
| <img src="assets/revised-assets/meditation.svg" /> | |||||
| </figure> | </figure> | ||||
| <span> Thrive beyond fear </span> | |||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| <figure> | <figure> | ||||
| <img src="assets/sample-images/merch/incense-1.jpeg" alt="" /> | |||||
| </figure> | |||||
| </li> | |||||
| <li> | |||||
| <figure> | |||||
| <img src="assets/sample-images/merch/incense-2.jpeg" alt="" /> | |||||
| </figure> | |||||
| </li> | |||||
| <li> | |||||
| <figure> | |||||
| <img src="assets/sample-images/merch/kunkum.webp" alt="" /> | |||||
| <img src="assets/revised-assets/chakras.svg" /> | |||||
| </figure> | </figure> | ||||
| <span> Conquer addiction </span> | |||||
| </li> | </li> | ||||
| </ul> | </ul> | ||||
| </section> | </section> | ||||
| </section> | |||||
| <section class="action-card alternative"> | |||||
| <div class="container"> | |||||
| <h5> Explore Temple </h5> | |||||
| <p> Discover The Essence of a Journey of Spiritual Awakening. </p> | |||||
| <button> | |||||
| <ion-icon src="assets/revised-assets/play-filled.svg"></ion-icon> | |||||
| Watch Live | |||||
| </button> | |||||
| </div> | |||||
| <figure> | |||||
| <img src="assets/sample-images/temple-image.png" alt="temple image"> | |||||
| </figure> | |||||
| </section> | |||||
| </section> | |||||
| </ion-content> | </ion-content> | ||||
| @@ -16,7 +16,7 @@ h5 { | |||||
| border-bottom-right-radius: var(--card-radius); | border-bottom-right-radius: var(--card-radius); | ||||
| border-bottom-left-radius: var(--card-radius); | border-bottom-left-radius: var(--card-radius); | ||||
| height: 40rem; | height: 40rem; | ||||
| margin-bottom: -17rem; | |||||
| margin-bottom: -15rem; | |||||
| overflow: hidden; | overflow: hidden; | ||||
| .pattern { | .pattern { | ||||
| @@ -63,12 +63,11 @@ h5 { | |||||
| ion-badge { | ion-badge { | ||||
| position: absolute; | position: absolute; | ||||
| right: 0; | |||||
| top: 0; | |||||
| right: -0.1rem; | |||||
| top: -0.1rem; | |||||
| background-color: #79af2e; | background-color: #79af2e; | ||||
| color: var(--brand-cream-light); | color: var(--brand-cream-light); | ||||
| border-radius: 50%; | |||||
| transform: translate(0.3rem, -0.3rem); | |||||
| font-size: 1rem; | |||||
| } | } | ||||
| } | } | ||||
| @@ -125,6 +124,7 @@ h5 { | |||||
| .container { | .container { | ||||
| align-self: center; | align-self: center; | ||||
| padding: var(--standard-vertical-spacing-between-sections) 0; | |||||
| } | } | ||||
| .icon { | .icon { | ||||
| @@ -160,10 +160,34 @@ h5 { | |||||
| font-size: 1.1rem; | font-size: 1.1rem; | ||||
| } | } | ||||
| } | } | ||||
| &.alternative { | |||||
| background-color: var(--brand-red); | |||||
| grid-template-columns: 0.6fr 0.4fr; | |||||
| h5, p { | |||||
| color: var(--brand-cream-light); | |||||
| } | |||||
| button { | |||||
| border-color: var(--brand-cream-light); | |||||
| background-color: var(--brand-cream-light); | |||||
| color: var(--brand-red); | |||||
| ion-icon { | |||||
| font-size: 2rem; | |||||
| margin-left: 0; | |||||
| } | |||||
| } | |||||
| figure { | |||||
| align-self: center; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| .card-collections { | .card-collections { | ||||
| padding-top: 2rem; | |||||
| padding-top: 4rem; | |||||
| header { | header { | ||||
| align-items: center; | align-items: center; | ||||
| @@ -186,57 +210,55 @@ h5 { | |||||
| .horizontal-card-list { | .horizontal-card-list { | ||||
| list-style: none; | list-style: none; | ||||
| width: calc(100% + 2rem); | |||||
| width: calc(100% + (2 * var(--page-padding-value))); | |||||
| overflow-x: auto; | overflow-x: auto; | ||||
| overflow-y: hidden; | overflow-y: hidden; | ||||
| white-space: nowrap; | white-space: nowrap; | ||||
| padding: var(--standard-vertical-spacing-between-sections); | |||||
| margin: var(--standard-vertical-spacing-between-sections) 0; | margin: var(--standard-vertical-spacing-between-sections) 0; | ||||
| margin-left: -var(--standard-vertical-spacing-between-sections); | |||||
| padding-left: var(--page-padding-value); | |||||
| margin-left: calc(var(--page-padding-value) * -1); | |||||
| $card-height: 22rem; | |||||
| li { | li { | ||||
| display: inline-block; | display: inline-block; | ||||
| margin-right: 2rem; | margin-right: 2rem; | ||||
| position: relative; | position: relative; | ||||
| &::before { | |||||
| content: ''; | |||||
| width: 90%; | |||||
| height: 100%; | |||||
| left: 5%; | |||||
| position: absolute; | |||||
| top: -1rem; | |||||
| background-color: var(--brand-red); | |||||
| opacity: 0.1; | |||||
| border-radius: var(--card-radius); | |||||
| } | |||||
| &::after { | |||||
| content: ''; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| left: 0; | |||||
| position: absolute; | |||||
| top: 0rem; | |||||
| background-color: var(--brand-red); | |||||
| opacity: 0.2; | |||||
| border-radius: var(--card-radius); | |||||
| z-index: 1; | |||||
| } | |||||
| background: linear-gradient(180deg, #e0c086, #756445 50%); | |||||
| padding: 2rem; | |||||
| border-radius: var(--card-radius); | |||||
| width: calc($card-height - 2rem); | |||||
| height: $card-height; | |||||
| overflow: hidden; | |||||
| } | } | ||||
| figure { | figure { | ||||
| position: relative; | position: relative; | ||||
| z-index: 0; | z-index: 0; | ||||
| width: 15rem; | |||||
| height: 20rem; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| img { | img { | ||||
| border-radius: var(--card-radius); | border-radius: var(--card-radius); | ||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| object-fit: cover; | |||||
| object-fit: contain; | |||||
| object-position: center; | object-position: center; | ||||
| } | } | ||||
| } | } | ||||
| span { | |||||
| position: absolute; | |||||
| bottom: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| display: block; | |||||
| font-family: 'charter-bold'; | |||||
| text-align: center; | |||||
| font-size: 1.6rem; | |||||
| color: var(--brand-cream-light); | |||||
| width: 100%; | |||||
| padding: 2rem; | |||||
| font-size: 1.4rem; | |||||
| white-space: normal; | |||||
| } | |||||
| } | } | ||||
| @@ -20,19 +20,19 @@ figure { | |||||
| height: 40vh; | height: 40vh; | ||||
| text-align: center; | text-align: center; | ||||
| display: flex; | display: flex; | ||||
| align-items: center; | |||||
| justify-content: center; | |||||
| } | } | ||||
| h5 { | h5 { | ||||
| font-weight: 700; | font-weight: 700; | ||||
| font-size: 2rem; | font-size: 2rem; | ||||
| margin-bottom: var(--standard-vertical-spacing-between-sections); | margin-bottom: var(--standard-vertical-spacing-between-sections); | ||||
| color: var(--brand-red); | |||||
| } | } | ||||
| p { | p { | ||||
| font-size: 1.8rem; | font-size: 1.8rem; | ||||
| font-style: italic; | font-style: italic; | ||||
| color: var(--brand-brown); | |||||
| } | } | ||||
| .action-items { | .action-items { | ||||