| @@ -0,0 +1,16 @@ | |||||
| $brand-black: #272727; | |||||
| $brand-red: #ED1C24; | |||||
| $brand-red-rgb: 237, 28, 36; | |||||
| $light-grey: #666666; | |||||
| $light-grey-rgb: 102, 102, 102; | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| $lumous-blue: #1a2389; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| $voilet: #424264; | |||||
| $dark-voilet: #09092b; | |||||
| $luminous-blue: #2ea9f5; | |||||
| $sea-blue: #2ea9f5; | |||||
| @@ -1,5 +1,5 @@ | |||||
| <ion-content> | <ion-content> | ||||
| <section class="action-buttons"> | |||||
| <section class="header-with-action-buttons"> | |||||
| <div class="nav"> | <div class="nav"> | ||||
| <button (click)="back()"> | <button (click)="back()"> | ||||
| <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> | <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> | ||||
| @@ -1,9 +1,4 @@ | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| @import '../colors'; | |||||
| ion-content { | ion-content { | ||||
| --background: white; | --background: white; | ||||
| @@ -1,6 +1,6 @@ | |||||
| <ion-content> | <ion-content> | ||||
| <section class="action-buttons"> | |||||
| <section class="header-with-action-buttons"> | |||||
| <div class="nav"> | <div class="nav"> | ||||
| <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | ||||
| </div> | </div> | ||||
| @@ -61,7 +61,7 @@ | |||||
| <section class="checkout-data" *ngIf="selectedSeats.length > 0"> | <section class="checkout-data" *ngIf="selectedSeats.length > 0"> | ||||
| <p> <span> Total: </span> ₹ {{ getTotalAmount() }} </p> | <p> <span> Total: </span> ₹ {{ getTotalAmount() }} </p> | ||||
| <button class="checkout-button"> Proceed to Payment </button> | |||||
| <button class="checkout-button" (click)="confirmPayment()"> Proceed to Payment </button> | |||||
| </section> | </section> | ||||
| </ion-content> | </ion-content> | ||||
| @@ -1,92 +1,14 @@ | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| $sea-blue: #2ea9f5; | |||||
| $green: #01b868; | |||||
| ion-content { | |||||
| --background: transparent; | |||||
| background-color: $dark-blue; | |||||
| } | |||||
| @import '../colors'; | |||||
| .push-bottom { | .push-bottom { | ||||
| margin-bottom: 50px; | margin-bottom: 50px; | ||||
| } | } | ||||
| .action-buttons { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: flex-start; | |||||
| padding: 0 3% 0 0%; | |||||
| height: 70px; | |||||
| .header-with-action-buttons { | |||||
| position: fixed; | position: fixed; | ||||
| left: 0; | left: 0; | ||||
| top: 0; | top: 0; | ||||
| background-color: lighten($blue-grey, 35%); | |||||
| z-index: 2; | |||||
| width: 100%; | |||||
| align-items: center; | |||||
| box-shadow: 0px 0px 5px $dark-blue; | |||||
| button { | |||||
| background-color: transparent; | |||||
| border: none; | |||||
| } | |||||
| .nav button { | |||||
| color: $blue-grey; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: flex-start; | |||||
| ion-icon { | |||||
| font-size: 24px; | |||||
| } | |||||
| span { | |||||
| font-size: 14px; | |||||
| } | |||||
| } | |||||
| header { | |||||
| flex-grow: 1; | |||||
| padding: 0 10px; | |||||
| font-size: 14px; | |||||
| color: darken($blue-grey, 30%); | |||||
| font-weight: 500; | |||||
| text-align: left; | |||||
| white-space: nowrap; | |||||
| overflow: hidden; | |||||
| text-overflow: ellipsis; | |||||
| span { | |||||
| font-weight: 500; | |||||
| color: $blue-grey; | |||||
| font-size: 12px; | |||||
| } | |||||
| } | |||||
| .action { | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| } | |||||
| .action button { | |||||
| width: 35px; | |||||
| height: 35px; | |||||
| border: 1px solid $blue-grey; | |||||
| background-color: rgba($blue-grey, 0.1); | |||||
| border-radius: 50%; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| margin-left: 15px; | |||||
| ion-icon { | |||||
| color: $blue-grey; | |||||
| font-size: 17px; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| .upfold { | .upfold { | ||||
| @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; | |||||
| import { ActivatedRoute } from '@angular/router'; | import { ActivatedRoute } from '@angular/router'; | ||||
| import { Location } from '@angular/common'; | import { Location } from '@angular/common'; | ||||
| import * as moment from 'moment'; | import * as moment from 'moment'; | ||||
| import { AlertController } from '@ionic/angular'; | |||||
| @Component({ | @Component({ | ||||
| selector: 'app-booking-details', | selector: 'app-booking-details', | ||||
| @@ -18,9 +19,29 @@ export class BookingDetailsPage implements OnInit { | |||||
| constructor( | constructor( | ||||
| private route: ActivatedRoute, | private route: ActivatedRoute, | ||||
| private location: Location | |||||
| private location: Location, | |||||
| public alertController: AlertController | |||||
| ) { } | ) { } | ||||
| async confirmPayment() { | |||||
| const alert = await this.alertController.create({ | |||||
| header: 'Purchase Complete', | |||||
| message: 'Your ticket details will be sent over E-Mail and SMS, Enjoy the game!', | |||||
| mode: 'ios', | |||||
| buttons: [{ | |||||
| text: 'Okay!', | |||||
| role: 'confirm', | |||||
| handler: () => { | |||||
| setTimeout(() => { | |||||
| this.back(); | |||||
| }, 100); | |||||
| } | |||||
| }] | |||||
| }); | |||||
| await alert.present(); | |||||
| } | |||||
| ngOnInit() { | ngOnInit() { | ||||
| this.matchDay = JSON.parse(this.route.snapshot.paramMap.get('matchData')); | this.matchDay = JSON.parse(this.route.snapshot.paramMap.get('matchData')); | ||||
| console.log(this.matchDay); | console.log(this.matchDay); | ||||
| @@ -1,7 +1,7 @@ | |||||
| <ion-content> | <ion-content> | ||||
| <div class="content-container"> | <div class="content-container"> | ||||
| <div class="heading-holder"> | <div class="heading-holder"> | ||||
| <h2 class="main-header"> Booking </h2> | |||||
| <h2 class="main-header"> # Booking </h2> | |||||
| <section class="segments"> | <section class="segments"> | ||||
| <button [ngClass]="{'active' : selectedDate === bookingDate.dateTime}" | <button [ngClass]="{'active' : selectedDate === bookingDate.dateTime}" | ||||
| @@ -1,20 +1,14 @@ | |||||
| $lumous-blue: #1a2389; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| ion-content { | |||||
| --background: transparent; | |||||
| background: linear-gradient(90deg, $dark-blue-shade1 50%, $dark-blue-shade2); | |||||
| } | |||||
| @import '../colors'; | |||||
| .heading-holder { | .heading-holder { | ||||
| margin-bottom: 2.3rem; | margin-bottom: 2.3rem; | ||||
| } | } | ||||
| .main-header { | .main-header { | ||||
| color: white; | |||||
| background: linear-gradient(90deg, lighten($brand-red, 0%), lighten($brand-red, 10%) 50%); | |||||
| -webkit-background-clip: text; | |||||
| background-clip: text; | |||||
| -webkit-text-fill-color: transparent; | |||||
| font-size: 2.3rem; | font-size: 2.3rem; | ||||
| font-weight: 700; | font-weight: 700; | ||||
| letter-spacing: 1px; | letter-spacing: 1px; | ||||
| @@ -32,7 +26,7 @@ ion-content { | |||||
| button { | button { | ||||
| display: inline-block; | display: inline-block; | ||||
| background-color: rgba(#ffff, 0.4); | |||||
| background-color: rgba($blue-grey, 0.4); | |||||
| padding: 10px 15px; | padding: 10px 15px; | ||||
| color: white; | color: white; | ||||
| font-size: 1rem; | font-size: 1rem; | ||||
| @@ -45,7 +39,7 @@ ion-content { | |||||
| &.active { | &.active { | ||||
| font-weight: 500; | font-weight: 500; | ||||
| background-color: white; | background-color: white; | ||||
| color: $lumous-blue; | |||||
| color: lighten($brand-red, 10%); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -65,7 +59,7 @@ ion-slides { | |||||
| display: block; | display: block; | ||||
| overflow: visible; | overflow: visible; | ||||
| text-align: left; | text-align: left; | ||||
| height: 80%; | |||||
| height: 90%; | |||||
| position: relative; | position: relative; | ||||
| transform: scale(0.9); | transform: scale(0.9); | ||||
| background-color: transparent; | background-color: transparent; | ||||
| @@ -81,7 +75,7 @@ ion-slides { | |||||
| height: 100%; | height: 100%; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| border-radius: 7px; | border-radius: 7px; | ||||
| box-shadow: 0px 10px 25px -7px darken($lumous-blue, 80%); | |||||
| box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||||
| figure { | figure { | ||||
| margin: 0; | margin: 0; | ||||
| @@ -1,5 +1,5 @@ | |||||
| <ion-content> | <ion-content> | ||||
| <section class="action-buttons"> | |||||
| <section class="header-with-action-buttons"> | |||||
| <div class="nav"> | <div class="nav"> | ||||
| <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | ||||
| </div> | </div> | ||||
| @@ -1,69 +1,8 @@ | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| ion-content { | |||||
| --background: transparent; | |||||
| background-color: $dark-blue; | |||||
| } | |||||
| .action-buttons { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| padding: 15px 5% 15px 10px; | |||||
| position: fixed; | |||||
| top: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| z-index: 1; | |||||
| background-color: #161e2d; | |||||
| box-shadow: 0px 0px 5px black; | |||||
| button { | |||||
| background-color: transparent; | |||||
| border: none; | |||||
| } | |||||
| .nav button { | |||||
| color: $blue-grey; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| @import '../colors'; | |||||
| ion-icon { | |||||
| font-size: 24px; | |||||
| } | |||||
| span { | |||||
| margin-left: 5px; | |||||
| font-size: 0.9rem; | |||||
| font-size: 14px; | |||||
| } | |||||
| } | |||||
| .action { | |||||
| display: flex; | |||||
| } | |||||
| .header-with-action-buttons { | |||||
| .action button { | .action button { | ||||
| width: 35px; | |||||
| height: 35px; | |||||
| border: 1px solid $blue-grey; | |||||
| background-color: rgba($blue-grey, 0.1); | |||||
| border-radius: 50%; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| margin-left: 15px; | |||||
| ion-icon { | |||||
| color: $blue-grey; | |||||
| font-size: 17px; | |||||
| } | |||||
| &.toggle { | &.toggle { | ||||
| width: auto; | width: auto; | ||||
| padding: 0 10px; | padding: 0 10px; | ||||
| @@ -71,15 +10,15 @@ ion-content { | |||||
| color: $blue-grey; | color: $blue-grey; | ||||
| font-weight: 500; | font-weight: 500; | ||||
| letter-spacing: 0.5px; | letter-spacing: 0.5px; | ||||
| ion-checkbox { | ion-checkbox { | ||||
| pointer-events: none; | pointer-events: none; | ||||
| margin: 0; | margin: 0; | ||||
| margin-right: 10px; | margin-right: 10px; | ||||
| --border-color: #949599a6; | --border-color: #949599a6; | ||||
| --border-color-checked: #d73e53; | |||||
| --border-color-checked: #01b868; | |||||
| --background: #94959970; | --background: #94959970; | ||||
| --background-checked: #d73e53; | |||||
| --background-checked: #01b868; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -88,7 +27,6 @@ ion-content { | |||||
| .chat { | .chat { | ||||
| margin-top: 65px; | |||||
| padding: 10px 5%; | padding: 10px 5%; | ||||
| height: calc(100vh - 65px); | height: calc(100vh - 65px); | ||||
| color: white; | color: white; | ||||
| @@ -217,7 +155,7 @@ ion-content { | |||||
| background-color: white; | background-color: white; | ||||
| padding: 10px; | padding: 10px; | ||||
| border-radius: 10px; | border-radius: 10px; | ||||
| box-shadow: 0px 0px 10px -2px black; | |||||
| box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||||
| margin: 40px 0; | margin: 40px 0; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| background-color: rgba($blue-grey, 0.3); | background-color: rgba($blue-grey, 0.3); | ||||
| @@ -82,7 +82,7 @@ export class ChatPage implements OnInit { | |||||
| this.myAccount = this.members[myAccountIndex]; | this.myAccount = this.members[myAccountIndex]; | ||||
| for (let i = 0; i < 5; i += 1) { | |||||
| for (let i = 0; i < 2; i += 1) { | |||||
| let options = []; | let options = []; | ||||
| for (let j = 0; j < 4; j += 1) { | for (let j = 0; j < 4; j += 1) { | ||||
| @@ -99,7 +99,7 @@ export class ChatPage implements OnInit { | |||||
| let chat = []; | let chat = []; | ||||
| for (let k = 0; k < randomNumber; k += 1) { | for (let k = 0; k < randomNumber; k += 1) { | ||||
| let randomMemberIndex = Math.floor(Math.random() * 19); | |||||
| let randomMemberIndex = Math.floor(Math.random() * 3); | |||||
| chat.push({ | chat.push({ | ||||
| user: this.members[randomMemberIndex], | user: this.members[randomMemberIndex], | ||||
| text: faker.lorem.sentence(), | text: faker.lorem.sentence(), | ||||
| @@ -2,15 +2,16 @@ | |||||
| <ion-button (click)="showGrid = !showGrid" | <ion-button (click)="showGrid = !showGrid" | ||||
| class="grid-button"> | class="grid-button"> | ||||
| <ion-icon *ngIf="!showGrid" name="grid"></ion-icon> | |||||
| <ion-icon *ngIf="showGrid" name="logo-buffer"></ion-icon> | |||||
| <ion-icon *ngIf="!showGrid" name="apps-outline"></ion-icon> | |||||
| <ion-icon *ngIf="showGrid" name="layers-outline"></ion-icon> | |||||
| </ion-button> | </ion-button> | ||||
| <section class="collections"> | <section class="collections"> | ||||
| <ng-container *ngIf="showGrid"> | <ng-container *ngIf="showGrid"> | ||||
| <ul class="collection-grid"> | <ul class="collection-grid"> | ||||
| <li *ngFor="let collection of collections"> | |||||
| <li *ngFor="let collection of collections; let i = index" | |||||
| (click)="goToCollection(i)"> | |||||
| <img [src]="collection.image"> | <img [src]="collection.image"> | ||||
| <label> {{ collection.name }} </label> | <label> {{ collection.name }} </label> | ||||
| </li> | </li> | ||||
| @@ -20,7 +21,7 @@ | |||||
| <ng-container *ngIf="!showGrid"> | <ng-container *ngIf="!showGrid"> | ||||
| <img class="glass-box" src="assets/collections/glassbox.png" alt=""> | <img class="glass-box" src="assets/collections/glassbox.png" alt=""> | ||||
| <ion-slides [options]="slideOpts"> | |||||
| <ion-slides #slides [options]="slideOpts"> | |||||
| <ion-slide *ngFor="let collection of collections"> | <ion-slide *ngFor="let collection of collections"> | ||||
| <img [ngClass]="{'bat' : collection.type === 'BAT' || collection.type === 'INVERTED BAT', | <img [ngClass]="{'bat' : collection.type === 'BAT' || collection.type === 'INVERTED BAT', | ||||
| 'ball' : collection.type === 'BALL', | 'ball' : collection.type === 'BALL', | ||||
| @@ -1,10 +1,4 @@ | |||||
| $lumous-blue: #1a2389; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| @import '../colors'; | |||||
| .collections { | .collections { | ||||
| height: calc(100vh - 56px); | height: calc(100vh - 56px); | ||||
| @@ -15,11 +9,11 @@ $blue-grey: #949599; | |||||
| .grid-button { | .grid-button { | ||||
| position: fixed; | position: fixed; | ||||
| right: 10px; | |||||
| top: 10px; | |||||
| --border-radius: 10px; | |||||
| width: 40px; | |||||
| height: 40px; | |||||
| right: calc(50% - 35px); | |||||
| bottom: 20px; | |||||
| --border-radius: 50%; | |||||
| width: 70px; | |||||
| height: 70px; | |||||
| z-index: 3; | z-index: 3; | ||||
| margin: 0; | margin: 0; | ||||
| --padding-start: 0; | --padding-start: 0; | ||||
| @@ -28,9 +22,10 @@ $blue-grey: #949599; | |||||
| --padding-bottom: 0; | --padding-bottom: 0; | ||||
| --background: white; | --background: white; | ||||
| --color: #d73e53; | --color: #d73e53; | ||||
| --box-shadow: 2px 2px 5px -2px var(--dark-blue); | |||||
| ion-icon { | ion-icon { | ||||
| font-size: 24px; | |||||
| font-size: 28px; | |||||
| } | } | ||||
| } | } | ||||
| @@ -1,4 +1,5 @@ | |||||
| import { Component, OnInit } from '@angular/core'; | |||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | |||||
| import { IonSlides } from '@ionic/angular'; | |||||
| @Component({ | @Component({ | ||||
| selector: 'app-collections', | selector: 'app-collections', | ||||
| @@ -6,6 +7,9 @@ import { Component, OnInit } from '@angular/core'; | |||||
| styleUrls: ['./collections.page.scss'], | styleUrls: ['./collections.page.scss'], | ||||
| }) | }) | ||||
| export class CollectionsPage implements OnInit { | export class CollectionsPage implements OnInit { | ||||
| @ViewChild('slides') slides: IonSlides; | |||||
| selectedIndex: number = 0; | |||||
| slideOpts = { | slideOpts = { | ||||
| slidesPerView: 1, | slidesPerView: 1, | ||||
| @@ -14,7 +18,6 @@ export class CollectionsPage implements OnInit { | |||||
| centeredSlides: true, | centeredSlides: true, | ||||
| simulateTouch: false, | simulateTouch: false, | ||||
| followFinger: false, | followFinger: false, | ||||
| loop: true, | |||||
| }; | }; | ||||
| collections: Array<{ | collections: Array<{ | ||||
| @@ -47,4 +50,11 @@ export class CollectionsPage implements OnInit { | |||||
| }]; | }]; | ||||
| } | } | ||||
| goToCollection(index: number) { | |||||
| this.showGrid = false; | |||||
| setTimeout(() => { | |||||
| this.slides.slideTo(index); | |||||
| }, 200); | |||||
| } | |||||
| } | } | ||||
| @@ -1,12 +1,11 @@ | |||||
| $dark-blue: #076a93; | |||||
| $dark-voilet: #8c6ee5; | |||||
| @import '../colors'; | |||||
| .heading-holder { | .heading-holder { | ||||
| margin-bottom: 2.7rem; | margin-bottom: 2.7rem; | ||||
| } | } | ||||
| .main-header { | .main-header { | ||||
| background: -webkit-linear-gradient(180deg, $dark-blue 50%, $dark-voilet); | |||||
| background: linear-gradient(90deg, lighten($brand-red, 0%), lighten($brand-red, 10%) 50%); | |||||
| -webkit-background-clip: text; | -webkit-background-clip: text; | ||||
| background-clip: text; | background-clip: text; | ||||
| -webkit-text-fill-color: transparent; | -webkit-text-fill-color: transparent; | ||||
| @@ -26,7 +25,7 @@ $dark-voilet: #8c6ee5; | |||||
| button { | button { | ||||
| background-color: transparent; | background-color: transparent; | ||||
| color: $dark-blue; | |||||
| color: $blue-grey; | |||||
| font-size: 1.1rem; | font-size: 1.1rem; | ||||
| font-weight: 400; | font-weight: 400; | ||||
| margin-right: 5%; | margin-right: 5%; | ||||
| @@ -36,7 +35,7 @@ $dark-voilet: #8c6ee5; | |||||
| &.active { | &.active { | ||||
| font-weight: 500; | font-weight: 500; | ||||
| opacity: 1; | opacity: 1; | ||||
| color: var(--brand-black); | |||||
| color: $blue-grey; | |||||
| &::before { | &::before { | ||||
| content: ''; | content: ''; | ||||
| @@ -46,7 +45,7 @@ $dark-voilet: #8c6ee5; | |||||
| position: absolute; | position: absolute; | ||||
| bottom: -18px; | bottom: -18px; | ||||
| left: calc(50% - 4px); | left: calc(50% - 4px); | ||||
| background-color: var(--brand-red); | |||||
| background-color: $blue-grey; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -69,7 +68,7 @@ ion-slides { | |||||
| text-align: left; | text-align: left; | ||||
| height: 100%; | height: 100%; | ||||
| position: relative; | position: relative; | ||||
| box-shadow: 0px 10px 25px -7px rgba(var(--light-grey-rgb), 0.5); | |||||
| box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||||
| transition: transform 0.3s; | transition: transform 0.3s; | ||||
| transform: scale(0.9); | transform: scale(0.9); | ||||
| @@ -4,7 +4,7 @@ | |||||
| <div class="heading-holder"> | <div class="heading-holder"> | ||||
| <h2 class="main-header"> | <h2 class="main-header"> | ||||
| Matches | |||||
| #Live | |||||
| </h2> | </h2> | ||||
| <p> | <p> | ||||
| @@ -1,13 +1,4 @@ | |||||
| $lumous-blue: #1a2389; | |||||
| $dark-blue-shade1: #24367c; | |||||
| $dark-blue-shade2: #263982; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| ion-content { | |||||
| --background: transparent; | |||||
| background: linear-gradient(90deg, $dark-blue-shade1 50%, $dark-blue-shade2); | |||||
| } | |||||
| @import '../colors'; | |||||
| .content-container { | .content-container { | ||||
| padding-bottom: 50px; | padding-bottom: 50px; | ||||
| @@ -18,15 +9,18 @@ ion-content { | |||||
| padding: 0px 7%; | padding: 0px 7%; | ||||
| .main-header { | .main-header { | ||||
| background: linear-gradient(90deg, lighten($brand-red, 0%), lighten($brand-red, 10%) 50%); | |||||
| -webkit-background-clip: text; | |||||
| background-clip: text; | |||||
| -webkit-text-fill-color: transparent; | |||||
| font-size: 2.3rem; | font-size: 2.3rem; | ||||
| font-weight: 700; | font-weight: 700; | ||||
| letter-spacing: 1px; | letter-spacing: 1px; | ||||
| margin: 5% 0%; | margin: 5% 0%; | ||||
| color: white; | |||||
| } | } | ||||
| p { | p { | ||||
| color: white; | |||||
| color: $blue-grey; | |||||
| font-size: 1.2rem; | font-size: 1.2rem; | ||||
| font-weight: 500; | font-weight: 500; | ||||
| } | } | ||||
| @@ -39,12 +33,13 @@ ion-content { | |||||
| padding: 15px 5%; | padding: 15px 5%; | ||||
| overflow: visible; | overflow: visible; | ||||
| position: relative; | position: relative; | ||||
| background: linear-gradient(45deg, $pink 30%, $dark-blue-shade1); | |||||
| background: linear-gradient(45deg, lighten($brand-red, 5%) 5%, lighten($dark-blue, 10%) 80%); | |||||
| box-shadow: 2px 2px 10px -2px darken($dark-blue, 5%); | |||||
| .format { | .format { | ||||
| background-color: $green; | |||||
| background-color: darken($green, 5%); | |||||
| border-radius: 5px; | border-radius: 5px; | ||||
| padding: 7px; | |||||
| padding: 7px 15px; | |||||
| color: white; | color: white; | ||||
| font-size: 0.9rem; | font-size: 0.9rem; | ||||
| font-weight: 500; | font-weight: 500; | ||||
| @@ -138,8 +133,8 @@ ion-content { | |||||
| margin: 30px auto; | margin: 30px auto; | ||||
| border-radius: 10px; | border-radius: 10px; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| background: linear-gradient(90deg, darken($dark-blue-shade2, 10%) 50%, $dark-blue-shade2); | |||||
| box-shadow: 0px 0px 5px darken($dark-blue-shade2, 30%); | |||||
| background: linear-gradient(45deg, lighten($dark-blue, 10%) 20%, lighten($dark-blue, 15%)); | |||||
| box-shadow: 5px 5px 10px -5px darken($dark-blue, 5%); | |||||
| height: 50px; | height: 50px; | ||||
| -webkit-perspective: 1200px; | -webkit-perspective: 1200px; | ||||
| @@ -173,11 +168,12 @@ ion-content { | |||||
| button { | button { | ||||
| border-radius: 50%; | border-radius: 50%; | ||||
| background-color: $green; | |||||
| background-color: darken($green, 5%); | |||||
| box-shadow: 2px 2px 7px -2px darken($dark-blue, 10%); | |||||
| height: 30px; | height: 30px; | ||||
| width: 30px; | width: 30px; | ||||
| font-size: 24px; | font-size: 24px; | ||||
| color: white; | |||||
| color: white; | |||||
| } | } | ||||
| } | } | ||||
| @@ -185,11 +181,12 @@ ion-content { | |||||
| display: block; | display: block; | ||||
| width: 100%; | width: 100%; | ||||
| border-radius: 7px; | border-radius: 7px; | ||||
| background-color: $pink; | |||||
| background-color: lighten($brand-red, 10%); | |||||
| font-weight: 500; | |||||
| color: white; | color: white; | ||||
| font-size: 1rem; | font-size: 1rem; | ||||
| height: 40px; | height: 40px; | ||||
| box-shadow: 0px 0px 5px 2px darken($dark-blue-shade2, 10%); | |||||
| box-shadow: 2px 2px 7px -3px darken($dark-blue, 10%); | |||||
| } | } | ||||
| .card { | .card { | ||||
| @@ -238,7 +235,7 @@ ion-content { | |||||
| } | } | ||||
| ion-slides { | ion-slides { | ||||
| padding: 30px 0 20px 0; | |||||
| padding: 15px 0 20px 0; | |||||
| position: relative; | position: relative; | ||||
| left: 0; | left: 0; | ||||
| top: 0; | top: 0; | ||||
| @@ -267,7 +264,7 @@ ion-slides { | |||||
| height: 100%; | height: 100%; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| border-radius: 7px; | border-radius: 7px; | ||||
| box-shadow: 0px 10px 25px -7px darken($lumous-blue, 80%); | |||||
| box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||||
| figure { | figure { | ||||
| margin: 0; | margin: 0; | ||||
| @@ -1,13 +1,13 @@ | |||||
| <ion-content *ngIf="matchStats" [scrollEvents]="true"> | <ion-content *ngIf="matchStats" [scrollEvents]="true"> | ||||
| <section class="action-buttons"> | |||||
| <section class="header-with-action-buttons"> | |||||
| <div class="nav"> | <div class="nav"> | ||||
| <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | <button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | ||||
| </div> | </div> | ||||
| <header> {{ matchStats.homeTeam.teamName }} v/s {{ matchStats.awayTeam.teamName }} <br> | <header> {{ matchStats.homeTeam.teamName }} v/s {{ matchStats.awayTeam.teamName }} <br> | ||||
| <span> Live from {{ matchStats.stadium }} Stadium </span> </header> | <span> Live from {{ matchStats.stadium }} Stadium </span> </header> | ||||
| <div class="action"> | <div class="action"> | ||||
| <button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||||
| <button> <ion-icon name="share-social"></ion-icon> </button> | |||||
| </div> | </div> | ||||
| </section> | </section> | ||||
| @@ -1,100 +1,14 @@ | |||||
| $dark-blue: #161e2d; | |||||
| $blue-grey: #949599; | |||||
| $luminous-blue: #2ea9f5; | |||||
| $voilet: #424264; | |||||
| $dark-voilet: #09092b; | |||||
| $green: #01b868; | |||||
| $pink: #d73e53; | |||||
| ion-content { | |||||
| --background: white; | |||||
| } | |||||
| .action-buttons { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: flex-start; | |||||
| padding: 0 3% 0 0%; | |||||
| height: 70px; | |||||
| position: sticky; | |||||
| position: -webkit-sticky; | |||||
| left: 0; | |||||
| top: 0; | |||||
| background-color: lighten($blue-grey, 35%); | |||||
| z-index: 2; | |||||
| width: 100%; | |||||
| align-items: center; | |||||
| box-shadow: 0px 0px 5px $blue-grey; | |||||
| button { | |||||
| background-color: transparent; | |||||
| border: none; | |||||
| } | |||||
| .nav button { | |||||
| color: $blue-grey; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: flex-start; | |||||
| @import '../colors'; | |||||
| ion-icon { | |||||
| font-size: 24px; | |||||
| } | |||||
| span { | |||||
| font-size: 14px; | |||||
| } | |||||
| } | |||||
| header { | |||||
| flex-grow: 1; | |||||
| padding: 0 10px; | |||||
| font-size: 14px; | |||||
| color: darken($blue-grey, 30%); | |||||
| font-weight: 500; | |||||
| text-align: left; | |||||
| white-space: nowrap; | |||||
| overflow: hidden; | |||||
| text-overflow: ellipsis; | |||||
| span { | |||||
| font-weight: 500; | |||||
| color: $blue-grey; | |||||
| font-size: 12px; | |||||
| } | |||||
| } | |||||
| .action { | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| } | |||||
| .action button { | |||||
| width: 35px; | |||||
| height: 35px; | |||||
| border: 1px solid $blue-grey; | |||||
| background-color: rgba($blue-grey, 0.1); | |||||
| border-radius: 50%; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| margin-left: 15px; | |||||
| ion-icon { | |||||
| color: $blue-grey; | |||||
| font-size: 17px; | |||||
| } | |||||
| } | |||||
| } | |||||
| .field-container { | .field-container { | ||||
| position: sticky; | position: sticky; | ||||
| position: -webkit-sticky; | position: -webkit-sticky; | ||||
| top: 70px; | |||||
| top: 0px; | |||||
| height: calc(100vh - 70px); | height: calc(100vh - 70px); | ||||
| width: 100%; | width: 100%; | ||||
| z-index: 0; | z-index: 0; | ||||
| margin-top: -80px; | |||||
| } | } | ||||
| .field-image { | .field-image { | ||||
| @@ -249,8 +163,8 @@ ion-content { | |||||
| } | } | ||||
| &:nth-child(12) { | &:nth-child(12) { | ||||
| left: 45%; | |||||
| top: 53%; | |||||
| left: 50%; | |||||
| top: 52%; | |||||
| animation: runUp 1s forwards linear; | animation: runUp 1s forwards linear; | ||||
| animation-delay: 2.8s; | animation-delay: 2.8s; | ||||
| } | } | ||||
| @@ -275,17 +189,17 @@ ion-content { | |||||
| 0% { | 0% { | ||||
| transform: translate(0,0); | transform: translate(0,0); | ||||
| } 100% { | } 100% { | ||||
| transform: translate(-5vw, 15vh); | |||||
| transform: translate(7vw, 15vh); | |||||
| } | } | ||||
| } | } | ||||
| &:nth-child(14) { | &:nth-child(14) { | ||||
| left: 37%; | |||||
| left: 39%; | |||||
| top: 82%; | top: 82%; | ||||
| img { | img { | ||||
| width: 30px; | |||||
| height: 30px; | |||||
| width: 20px; | |||||
| height: 20px; | |||||
| } | } | ||||
| &::after { | &::after { | ||||
| @@ -358,7 +272,7 @@ ion-content { | |||||
| display: flex; | display: flex; | ||||
| justify-content: center; | justify-content: center; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| background-color: rgba(white, 0.5); | |||||
| background-color: rgba($blue-grey, 0.5); | |||||
| &.change-bg { | &.change-bg { | ||||
| background-color: rgba($blue-grey, 0.3); | background-color: rgba($blue-grey, 0.3); | ||||
| @@ -374,7 +288,7 @@ ion-content { | |||||
| } | } | ||||
| button:nth-child(3) { | button:nth-child(3) { | ||||
| color: #4eb54b; | |||||
| color: darken($green, 10%); | |||||
| } | } | ||||
| button:nth-child(1) { | button:nth-child(1) { | ||||
| @@ -412,7 +326,7 @@ ion-content { | |||||
| border-radius: 30px; | border-radius: 30px; | ||||
| border-radius: 30px; | border-radius: 30px; | ||||
| transition: color 0.3s; | transition: color 0.3s; | ||||
| color: #4eb54b; | |||||
| color: darken($green, 10%); | |||||
| height: 100%; | height: 100%; | ||||
| background-color: transparent; | background-color: transparent; | ||||
| font-weight: 700; | font-weight: 700; | ||||
| @@ -428,7 +342,7 @@ ion-content { | |||||
| span { | span { | ||||
| width: 12px; | width: 12px; | ||||
| height: 12px; | height: 12px; | ||||
| background-color: #4eb54b; | |||||
| background-color: darken($green, 10%); | |||||
| display: block; | display: block; | ||||
| border-radius: 50%; | border-radius: 50%; | ||||
| @@ -440,7 +354,7 @@ ion-content { | |||||
| width: 16px; | width: 16px; | ||||
| position: absolute; | position: absolute; | ||||
| border-radius: 50%; | border-radius: 50%; | ||||
| border: 12px solid rgba(#4eb54b, 0.5); | |||||
| border: 12px solid rgba(darken($green, 10%), 0.5); | |||||
| opacity: 0.7; | opacity: 0.7; | ||||
| animation: rippleBorder 1.5s infinite; | animation: rippleBorder 1.5s infinite; | ||||
| } | } | ||||
| @@ -468,16 +382,19 @@ ion-content { | |||||
| } | } | ||||
| .segment-holder { | .segment-holder { | ||||
| position: fixed; | |||||
| position: sticky; | |||||
| left: 0; | left: 0; | ||||
| top: 70px; | top: 70px; | ||||
| z-index: 2; | |||||
| z-index: 1; | |||||
| width: 100%; | width: 100%; | ||||
| padding: 20px 0; | padding: 20px 0; | ||||
| background-color: lighten($voilet, 10%); | |||||
| background-color: $dark-blue; | |||||
| box-shadow: 0px 0px 10px -2px darken($dark-blue, 10%); | |||||
| transition: background-color 0.3s, box-shadow 0.3s; | |||||
| &.no-bg { | &.no-bg { | ||||
| background-color: transparent; | background-color: transparent; | ||||
| box-shadow: 0px 0px 0px $dark-blue; | |||||
| } | } | ||||
| } | } | ||||
| @@ -490,11 +407,12 @@ ion-content { | |||||
| display: flex; | display: flex; | ||||
| justify-content: center; | justify-content: center; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| background-color: rgba($blue-grey, 0.5); | |||||
| background-color: lighten($dark-blue, 15%); | |||||
| box-shadow: 0px 0px 5px inset $dark-blue; | |||||
| &.active { | &.active { | ||||
| &::before { | &::before { | ||||
| transform: translateX(100%); | |||||
| transform: translateX(98%); | |||||
| } | } | ||||
| button:nth-child(2) { | button:nth-child(2) { | ||||
| @@ -512,10 +430,12 @@ ion-content { | |||||
| left: 0; | left: 0; | ||||
| top: 0; | top: 0; | ||||
| width: 50%; | width: 50%; | ||||
| height: 100%; | |||||
| height: 90%; | |||||
| top: 5%; | |||||
| border-radius: 30px; | border-radius: 30px; | ||||
| background-color: $luminous-blue; | |||||
| background-color: darken($green, 5%); | |||||
| transition: transform 0.3s; | transition: transform 0.3s; | ||||
| transform: translateX(2%); | |||||
| } | } | ||||
| button { | button { | ||||
| @@ -537,17 +457,14 @@ ion-content { | |||||
| } | } | ||||
| } | } | ||||
| .score-container { | |||||
| margin-top: 100px; | |||||
| } | |||||
| .score-card { | .score-card { | ||||
| background-color: white; | background-color: white; | ||||
| box-shadow: 0px 0px 10px $blue-grey; | |||||
| box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||||
| border-radius: 7px; | border-radius: 7px; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| width: 90%; | width: 90%; | ||||
| margin: 20px auto; | |||||
| margin: 30px auto; | |||||
| .container { | .container { | ||||
| width: 90%; | width: 90%; | ||||
| @@ -636,8 +553,6 @@ ion-content { | |||||
| } | } | ||||
| .player-list { | .player-list { | ||||
| background: linear-gradient(0deg, $voilet 50%, $dark-voilet); | |||||
| margin-top: 78px; | |||||
| position: sticky; | position: sticky; | ||||
| top: 0px; | top: 0px; | ||||
| z-index: 0; | z-index: 0; | ||||
| @@ -653,7 +568,6 @@ ion-content { | |||||
| display: flex; | display: flex; | ||||
| width: 100%; | width: 100%; | ||||
| align-items: center; | align-items: center; | ||||
| background-color: rgba(#ffff, 0.1); | |||||
| border-bottom: 1px solid rgba(white, 0.1); | border-bottom: 1px solid rgba(white, 0.1); | ||||
| padding: 15px 5%; | padding: 15px 5%; | ||||
| } | } | ||||
| @@ -1,28 +1,17 @@ | |||||
| @import '../colors'; | |||||
| ion-tab-bar { | ion-tab-bar { | ||||
| --background: white; | |||||
| --background: transparent; | |||||
| background-color: $dark-blue; | |||||
| --border: none; | --border: none; | ||||
| margin-top: -1px; | |||||
| box-shadow: 0px 0px 15px rgba(var(--light-grey-rgb), 0.5); | |||||
| --color: var(--light-grey); | |||||
| --color-selected: var(--brand-black); | |||||
| &.live { | |||||
| --background: #24367c; | |||||
| --color: white; | |||||
| --color-selected: #01b868; | |||||
| box-shadow: none; | |||||
| } | |||||
| &.dark { | |||||
| --background: #161e2d; | |||||
| --color: white; | |||||
| --color-selected: #01b868; | |||||
| box-shadow: none; | |||||
| } | |||||
| margin-top: -2px; | |||||
| box-shadow: 0px 0px 15px -2px darken($dark-blue, 10%); | |||||
| --color: var(--blue-grey); | |||||
| --color-selected: #01b868; | |||||
| ion-tab-button { | ion-tab-button { | ||||
| ion-icon { | ion-icon { | ||||
| font-size: 20px; | |||||
| font-size: 25px; | |||||
| &:nth-child(1) { | &:nth-child(1) { | ||||
| display: block; | display: block; | ||||
| @@ -25,6 +25,8 @@ | |||||
| @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"; | ||||
| @import './app/colors'; | |||||
| @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap'); | ||||
| * { | * { | ||||
| @@ -34,6 +36,89 @@ | |||||
| letter-spacing: 0.5px; | letter-spacing: 0.5px; | ||||
| } | } | ||||
| ion-content { | |||||
| --background: transparent; | |||||
| background: linear-gradient(0deg, lighten($dark-blue, 10%), $dark-blue 80%); | |||||
| } | |||||
| .header-with-action-buttons { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: flex-start; | |||||
| padding: 0 3% 0 0%; | |||||
| height: 70px; | |||||
| position: sticky; | |||||
| position: -webkit-sticky; | |||||
| left: 0; | |||||
| top: 0; | |||||
| background-color: lighten($dark-blue, 5%); | |||||
| z-index: 2; | |||||
| width: 100%; | |||||
| align-items: center; | |||||
| box-shadow: 0px 0px 5px $dark-blue; | |||||
| button { | |||||
| background-color: transparent; | |||||
| border: none; | |||||
| } | |||||
| .nav button { | |||||
| color: lighten($blue-grey, 10%); | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: flex-start; | |||||
| ion-icon { | |||||
| font-size: 24px; | |||||
| } | |||||
| span { | |||||
| font-size: 14px; | |||||
| } | |||||
| } | |||||
| header { | |||||
| flex-grow: 1; | |||||
| padding: 0 15px; | |||||
| font-size: 14px; | |||||
| color: lighten($blue-grey, 50%); | |||||
| font-weight: 500; | |||||
| text-align: left; | |||||
| white-space: nowrap; | |||||
| overflow: hidden; | |||||
| text-overflow: ellipsis; | |||||
| span { | |||||
| font-weight: 500; | |||||
| color: lighten($blue-grey, 10%); | |||||
| font-size: 12px; | |||||
| } | |||||
| } | |||||
| .action { | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| } | |||||
| .action button { | |||||
| width: 40px; | |||||
| height: 40px; | |||||
| border: 2px solid darken($green, 10%); | |||||
| background-color: rgba($green, 0.1); | |||||
| border-radius: 50%; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| margin-left: 15px; | |||||
| ion-icon { | |||||
| color: darken($green, 10%); | |||||
| font-size: 20px; | |||||
| } | |||||
| } | |||||
| } | |||||
| figure { | figure { | ||||
| margin: 0; | margin: 0; | ||||
| } | } | ||||
| @@ -55,7 +140,9 @@ figure { | |||||
| } | } | ||||
| .chat-button { | .chat-button { | ||||
| --background: #d73e53; | |||||
| --background: transparent; | |||||
| background-color: lighten($brand-red, 10%); | |||||
| border-radius: 50%; | |||||
| position: relative; | position: relative; | ||||
| overflow: visible; | overflow: visible; | ||||
| width: 60px; | width: 60px; | ||||
| @@ -67,8 +154,8 @@ figure { | |||||
| ion-badge { | ion-badge { | ||||
| position: absolute; | position: absolute; | ||||
| right: 10px; | |||||
| top: 10px; | |||||
| right: 7px; | |||||
| top: 7px; | |||||
| font-size: 10px; | font-size: 10px; | ||||
| } | } | ||||
| } | } | ||||
| @@ -82,6 +82,8 @@ | |||||
| --brand-red-rgb: 237, 28, 36; | --brand-red-rgb: 237, 28, 36; | ||||
| --light-grey: #666666; | --light-grey: #666666; | ||||
| --light-grey-rgb: 102, 102, 102; | --light-grey-rgb: 102, 102, 102; | ||||
| --dark-blue: #161e2d; | |||||
| --blue-grey: #949599; | |||||
| } | } | ||||