| @@ -1,6 +1,30 @@ | |||||
| <ion-content [fullscreen]="true"> | <ion-content [fullscreen]="true"> | ||||
| <h5> Namaskaram! </h5> | <h5> Namaskaram! </h5> | ||||
| <ul> | |||||
| <ul class="stories"> | |||||
| <li> | |||||
| <img src="assets/sample-images/golden-temple-icon.webp" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/lakshmi-idol-icon.webp" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/narayani-peedam-icon.jpeg" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/swarnalakshmi-icon.jpeg" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/golden-temple-icon.webp" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/lakshmi-idol-icon.webp" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/narayani-peedam-icon.jpeg" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | |||||
| <img src="assets/sample-images/swarnalakshmi-icon.jpeg" alt="golden-temple-icon"> | |||||
| </li> | |||||
| <li> | <li> | ||||
| <img src="assets/sample-images/golden-temple-icon.webp" alt="golden-temple-icon"> | <img src="assets/sample-images/golden-temple-icon.webp" alt="golden-temple-icon"> | ||||
| </li> | </li> | ||||
| @@ -14,24 +38,26 @@ | |||||
| <img src="assets/sample-images/swarnalakshmi-icon.jpeg" alt="golden-temple-icon"> | <img src="assets/sample-images/swarnalakshmi-icon.jpeg" alt="golden-temple-icon"> | ||||
| </li> | </li> | ||||
| </ul> | </ul> | ||||
| <section class="card grid"> | |||||
| <section class="card action-card"> | |||||
| <div> | <div> | ||||
| <h5> Explore Temple </h5> | <h5> Explore Temple </h5> | ||||
| <p> Discover The Essence of a Journey of Spiritual Awakening. </p> | <p> Discover The Essence of a Journey of Spiritual Awakening. </p> | ||||
| <button> | <button> | ||||
| <ion-icon name="play-circle-sharp"></ion-icon> | <ion-icon name="play-circle-sharp"></ion-icon> | ||||
| Explore | |||||
| Watch Live | |||||
| </button> | </button> | ||||
| </div> | </div> | ||||
| <figure> | <figure> | ||||
| <img src="assets/sample-images/temple-image.png" alt="temple image"> | <img src="assets/sample-images/temple-image.png" alt="temple image"> | ||||
| </figure> | </figure> | ||||
| </section> | </section> | ||||
| <section class="card"> | |||||
| <section class="card image-action-card"> | |||||
| <figure> | <figure> | ||||
| <img src="assets/sample-images/chanting.webp" alt="temple image"> | <img src="assets/sample-images/chanting.webp" alt="temple image"> | ||||
| </figure> | </figure> | ||||
| <div> | |||||
| <div class="action-items"> | |||||
| <button> | <button> | ||||
| <ion-icon name="play-outline"></ion-icon> | <ion-icon name="play-outline"></ion-icon> | ||||
| Start Today's Chant | Start Today's Chant | ||||
| @@ -39,12 +65,12 @@ | |||||
| </div> | </div> | ||||
| </section> | </section> | ||||
| <section> | |||||
| <section class="card-collections"> | |||||
| <header> | <header> | ||||
| <h5> Trending Collections </h5> | <h5> Trending Collections </h5> | ||||
| <button> See All </button> | |||||
| <a href="#"> See All </a> | |||||
| </header> | </header> | ||||
| <ul> | |||||
| <ul class="horizontal-card-list"> | |||||
| <li> | <li> | ||||
| <figure> | <figure> | ||||
| <img src="assets/sample-images/merch/idol.webp" alt=""> | <img src="assets/sample-images/merch/idol.webp" alt=""> | ||||
| @@ -0,0 +1,215 @@ | |||||
| // light 300; semi-regular 400; regular 500; semi-bold 600; bold 700; | |||||
| $standard-vertical-spacing-between-sections: 1.5rem; | |||||
| $stories-height: 6rem; | |||||
| $card-radius: 1rem; | |||||
| @mixin removeScrollbar { | |||||
| &::-webkit-scrollbar { | |||||
| width: 0px; | |||||
| height: 0px; | |||||
| } | |||||
| } | |||||
| ion-content { | |||||
| --background: var(--brand-cream-shade1); | |||||
| } | |||||
| h5 { | |||||
| font-weight: 600; | |||||
| font-size: 1.6rem; | |||||
| margin: 0 0 $standard-vertical-spacing-between-sections 0; | |||||
| } | |||||
| .stories { | |||||
| list-style: none; | |||||
| width: calc(100% + 2rem); | |||||
| overflow-x: auto; | |||||
| overflow-y: hidden; | |||||
| height: $stories-height; | |||||
| white-space: nowrap; | |||||
| margin: $standard-vertical-spacing-between-sections 0; | |||||
| @include removeScrollbar; | |||||
| li { | |||||
| display: inline-block; | |||||
| margin: 0rem 0.5rem; | |||||
| height: 100%; | |||||
| img { | |||||
| border: 0.2rem solid var(--brand-red); | |||||
| width: $stories-height; | |||||
| height: $stories-height; | |||||
| border-radius: 50%; | |||||
| overflow: hidden; | |||||
| object-fit: cover; | |||||
| display: block; | |||||
| object-position: center; | |||||
| } | |||||
| } | |||||
| } | |||||
| .card { | |||||
| border-radius: $card-radius; | |||||
| overflow: hidden; | |||||
| background-color: white; | |||||
| margin: $standard-vertical-spacing-between-sections 0; | |||||
| h5, p { | |||||
| margin-bottom: 1rem; | |||||
| } | |||||
| p { | |||||
| font-size: 1.2rem; | |||||
| } | |||||
| button { | |||||
| padding: 0.7rem; | |||||
| width: auto; | |||||
| border-radius: 3rem; | |||||
| font-size: 1.2rem; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| font-weight: 600; | |||||
| ion-icon { | |||||
| margin-right: 0.3rem; | |||||
| font-size: 2.4rem; | |||||
| } | |||||
| } | |||||
| } | |||||
| .action-card { | |||||
| padding: $standard-vertical-spacing-between-sections; | |||||
| display: grid; | |||||
| grid-template-columns: 0.6fr 0.4fr; | |||||
| background-image: url('../../assets/sample-images/pattern.png'); | |||||
| background-repeat: repeat; | |||||
| background-size: 70%; | |||||
| box-shadow: 0px 0px 1rem var(--brand-orange-shade2); | |||||
| align-items: center; | |||||
| button { | |||||
| color: white; | |||||
| background-color: var(--brand-orange-shade1); | |||||
| } | |||||
| figure { | |||||
| display: block; | |||||
| img { | |||||
| display: block; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| object-fit: contain; | |||||
| } | |||||
| } | |||||
| } | |||||
| .image-action-card { | |||||
| box-shadow: 0px 0px 1rem var(--brand-red); | |||||
| background-color: var(--brand-red); | |||||
| figure { | |||||
| height: 20rem; | |||||
| display: block; | |||||
| img { | |||||
| display: block; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| object-fit: cover; | |||||
| object-position: top; | |||||
| border-radius: $card-radius; | |||||
| } | |||||
| } | |||||
| .action-items { | |||||
| padding: 0.5rem; | |||||
| } | |||||
| button { | |||||
| margin: 0 auto; | |||||
| background-color: var(--brand-red); | |||||
| color: white; | |||||
| } | |||||
| } | |||||
| header { | |||||
| display: grid; | |||||
| grid-template-columns: 0.7fr 0.3fr; | |||||
| } | |||||
| .card-collections { | |||||
| header { | |||||
| h5 { | |||||
| margin: 0; | |||||
| } | |||||
| a { | |||||
| text-align: right; | |||||
| font-size: 1.2rem; | |||||
| background-color: transparent; | |||||
| color: var(--brand-orange-shade1); | |||||
| font-weight: 600; | |||||
| } | |||||
| } | |||||
| } | |||||
| .horizontal-card-list { | |||||
| list-style: none; | |||||
| width: calc(100% + 2rem); | |||||
| overflow-x: auto; | |||||
| overflow-y: hidden; | |||||
| white-space: nowrap; | |||||
| padding: $standard-vertical-spacing-between-sections; | |||||
| margin: $standard-vertical-spacing-between-sections 0; | |||||
| margin-left: -$standard-vertical-spacing-between-sections; | |||||
| @include removeScrollbar; | |||||
| li { | |||||
| display: inline-block; | |||||
| margin-right: 2rem; | |||||
| position: relative; | |||||
| &::before { | |||||
| content: ''; | |||||
| width: 90%; | |||||
| height: 100%; | |||||
| left: 5%; | |||||
| position: absolute; | |||||
| top: -1rem; | |||||
| background-color: var(--brand-red); | |||||
| opacity: 0.1; | |||||
| border-radius: $card-radius; | |||||
| } | |||||
| &::after { | |||||
| content: ''; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| left: 0; | |||||
| position: absolute; | |||||
| top: 0rem; | |||||
| background-color: var(--brand-red); | |||||
| opacity: 0.2; | |||||
| border-radius: $card-radius; | |||||
| z-index: 1; | |||||
| } | |||||
| } | |||||
| figure { | |||||
| position: relative; | |||||
| z-index: 0; | |||||
| width: 15rem; | |||||
| height: 20rem; | |||||
| img { | |||||
| border-radius: $card-radius; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| object-fit: cover; | |||||
| object-position: center; | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -24,3 +24,37 @@ | |||||
| @import "@ionic/angular/css/text-alignment.css"; | @import "@ionic/angular/css/text-alignment.css"; | ||||
| @import "@ionic/angular/css/text-transformation.css"; | @import "@ionic/angular/css/text-transformation.css"; | ||||
| @import "@ionic/angular/css/flex-utils.css"; | @import "@ionic/angular/css/flex-utils.css"; | ||||
| body, | |||||
| h1, | |||||
| h2, | |||||
| h3, | |||||
| h4, | |||||
| h5, | |||||
| h6, | |||||
| p, | |||||
| ul, | |||||
| li, | |||||
| figure, | |||||
| img, | |||||
| button, | |||||
| span, | |||||
| a { | |||||
| font-family: 'Open Sans', sans-serif; | |||||
| box-sizing: border-box; | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| font-weight: 500; | |||||
| color: var(--brand-black); | |||||
| } | |||||
| ion-content { | |||||
| --padding-top: 2rem; | |||||
| --padding-start: 2rem; | |||||
| --padding-end: 2rem; | |||||
| --padding-bottom: 2rem; | |||||
| } | |||||
| :root { | |||||
| font-size: 62.5%; | |||||
| } | |||||
| @@ -1,26 +1,33 @@ | |||||
| <!DOCTYPE html> | <!DOCTYPE html> | ||||
| <html lang="en"> | <html lang="en"> | ||||
| <head> | |||||
| <meta charset="utf-8" /> | |||||
| <title>Ionic App</title> | |||||
| <head> | |||||
| <meta charset="utf-8" /> | |||||
| <title>Ionic App</title> | |||||
| <base href="/" /> | |||||
| <base href="/" /> | |||||
| <meta name="color-scheme" content="light dark" /> | |||||
| <meta | |||||
| name="viewport" | |||||
| content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" | |||||
| /> | |||||
| <meta name="format-detection" content="telephone=no" /> | |||||
| <meta name="msapplication-tap-highlight" content="no" /> | |||||
| <meta name="color-scheme" content="light dark" /> | |||||
| <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> | |||||
| <meta name="format-detection" content="telephone=no" /> | |||||
| <meta name="msapplication-tap-highlight" content="no" /> | |||||
| <link rel="icon" type="image/png" href="assets/icon/favicon.png" /> | |||||
| <link rel="icon" type="image/png" href="assets/icon/favicon.png" /> | |||||
| <!-- add to homescreen for ios --> | |||||
| <meta name="apple-mobile-web-app-capable" content="yes" /> | |||||
| <meta name="apple-mobile-web-app-status-bar-style" content="black" /> | |||||
| </head> | |||||
| <body> | |||||
| <app-root></app-root> | |||||
| </body> | |||||
| <!-- add to homescreen for ios --> | |||||
| <meta name="apple-mobile-web-app-capable" content="yes" /> | |||||
| <meta name="apple-mobile-web-app-status-bar-style" content="black" /> | |||||
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | |||||
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | |||||
| <link | |||||
| href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap" | |||||
| rel="stylesheet" | |||||
| /> | |||||
| </head> | |||||
| <body> | |||||
| <app-root></app-root> | |||||
| </body> | |||||
| </html> | </html> | ||||
| @@ -74,6 +74,14 @@ | |||||
| --ion-color-light-contrast-rgb: 0, 0, 0; | --ion-color-light-contrast-rgb: 0, 0, 0; | ||||
| --ion-color-light-shade: #d7d8da; | --ion-color-light-shade: #d7d8da; | ||||
| --ion-color-light-tint: #f5f6f9; | --ion-color-light-tint: #f5f6f9; | ||||
| // Custom Colors | |||||
| --brand-black: #1F1F1F; | |||||
| --brand-red: #9f1905; | |||||
| --brand-orange-shade1: #dc5b1c; | |||||
| --brand-orange-shade2: #fa9900; | |||||
| --brand-cream-shade1: #fde6c8; | |||||
| --brand-cream-shade2: #fce09f; | |||||
| } | } | ||||
| // @media (prefers-color-scheme: dark) { | // @media (prefers-color-scheme: dark) { | ||||