@@ -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> | |||
<section class="action-buttons"> | |||
<section class="header-with-action-buttons"> | |||
<div class="nav"> | |||
<button (click)="back()"> | |||
<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 { | |||
--background: white; | |||
@@ -1,6 +1,6 @@ | |||
<ion-content> | |||
<section class="action-buttons"> | |||
<section class="header-with-action-buttons"> | |||
<div class="nav"> | |||
<button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | |||
</div> | |||
@@ -61,7 +61,7 @@ | |||
<section class="checkout-data" *ngIf="selectedSeats.length > 0"> | |||
<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> | |||
</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 { | |||
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; | |||
left: 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 { | |||
@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; | |||
import { ActivatedRoute } from '@angular/router'; | |||
import { Location } from '@angular/common'; | |||
import * as moment from 'moment'; | |||
import { AlertController } from '@ionic/angular'; | |||
@Component({ | |||
selector: 'app-booking-details', | |||
@@ -18,9 +19,29 @@ export class BookingDetailsPage implements OnInit { | |||
constructor( | |||
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() { | |||
this.matchDay = JSON.parse(this.route.snapshot.paramMap.get('matchData')); | |||
console.log(this.matchDay); | |||
@@ -1,7 +1,7 @@ | |||
<ion-content> | |||
<div class="content-container"> | |||
<div class="heading-holder"> | |||
<h2 class="main-header"> Booking </h2> | |||
<h2 class="main-header"> # Booking </h2> | |||
<section class="segments"> | |||
<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 { | |||
margin-bottom: 2.3rem; | |||
} | |||
.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-weight: 700; | |||
letter-spacing: 1px; | |||
@@ -32,7 +26,7 @@ ion-content { | |||
button { | |||
display: inline-block; | |||
background-color: rgba(#ffff, 0.4); | |||
background-color: rgba($blue-grey, 0.4); | |||
padding: 10px 15px; | |||
color: white; | |||
font-size: 1rem; | |||
@@ -45,7 +39,7 @@ ion-content { | |||
&.active { | |||
font-weight: 500; | |||
background-color: white; | |||
color: $lumous-blue; | |||
color: lighten($brand-red, 10%); | |||
} | |||
} | |||
} | |||
@@ -65,7 +59,7 @@ ion-slides { | |||
display: block; | |||
overflow: visible; | |||
text-align: left; | |||
height: 80%; | |||
height: 90%; | |||
position: relative; | |||
transform: scale(0.9); | |||
background-color: transparent; | |||
@@ -81,7 +75,7 @@ ion-slides { | |||
height: 100%; | |||
overflow: hidden; | |||
border-radius: 7px; | |||
box-shadow: 0px 10px 25px -7px darken($lumous-blue, 80%); | |||
box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||
figure { | |||
margin: 0; | |||
@@ -1,5 +1,5 @@ | |||
<ion-content> | |||
<section class="action-buttons"> | |||
<section class="header-with-action-buttons"> | |||
<div class="nav"> | |||
<button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | |||
</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 { | |||
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 { | |||
width: auto; | |||
padding: 0 10px; | |||
@@ -71,15 +10,15 @@ ion-content { | |||
color: $blue-grey; | |||
font-weight: 500; | |||
letter-spacing: 0.5px; | |||
ion-checkbox { | |||
pointer-events: none; | |||
margin: 0; | |||
margin-right: 10px; | |||
--border-color: #949599a6; | |||
--border-color-checked: #d73e53; | |||
--border-color-checked: #01b868; | |||
--background: #94959970; | |||
--background-checked: #d73e53; | |||
--background-checked: #01b868; | |||
} | |||
} | |||
} | |||
@@ -88,7 +27,6 @@ ion-content { | |||
.chat { | |||
margin-top: 65px; | |||
padding: 10px 5%; | |||
height: calc(100vh - 65px); | |||
color: white; | |||
@@ -217,7 +155,7 @@ ion-content { | |||
background-color: white; | |||
padding: 10px; | |||
border-radius: 10px; | |||
box-shadow: 0px 0px 10px -2px black; | |||
box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||
margin: 40px 0; | |||
overflow: hidden; | |||
background-color: rgba($blue-grey, 0.3); | |||
@@ -82,7 +82,7 @@ export class ChatPage implements OnInit { | |||
this.myAccount = this.members[myAccountIndex]; | |||
for (let i = 0; i < 5; i += 1) { | |||
for (let i = 0; i < 2; i += 1) { | |||
let options = []; | |||
for (let j = 0; j < 4; j += 1) { | |||
@@ -99,7 +99,7 @@ export class ChatPage implements OnInit { | |||
let chat = []; | |||
for (let k = 0; k < randomNumber; k += 1) { | |||
let randomMemberIndex = Math.floor(Math.random() * 19); | |||
let randomMemberIndex = Math.floor(Math.random() * 3); | |||
chat.push({ | |||
user: this.members[randomMemberIndex], | |||
text: faker.lorem.sentence(), | |||
@@ -2,15 +2,16 @@ | |||
<ion-button (click)="showGrid = !showGrid" | |||
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> | |||
<section class="collections"> | |||
<ng-container *ngIf="showGrid"> | |||
<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"> | |||
<label> {{ collection.name }} </label> | |||
</li> | |||
@@ -20,7 +21,7 @@ | |||
<ng-container *ngIf="!showGrid"> | |||
<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"> | |||
<img [ngClass]="{'bat' : collection.type === 'BAT' || collection.type === 'INVERTED BAT', | |||
'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 { | |||
height: calc(100vh - 56px); | |||
@@ -15,11 +9,11 @@ $blue-grey: #949599; | |||
.grid-button { | |||
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; | |||
margin: 0; | |||
--padding-start: 0; | |||
@@ -28,9 +22,10 @@ $blue-grey: #949599; | |||
--padding-bottom: 0; | |||
--background: white; | |||
--color: #d73e53; | |||
--box-shadow: 2px 2px 5px -2px var(--dark-blue); | |||
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({ | |||
selector: 'app-collections', | |||
@@ -6,6 +7,9 @@ import { Component, OnInit } from '@angular/core'; | |||
styleUrls: ['./collections.page.scss'], | |||
}) | |||
export class CollectionsPage implements OnInit { | |||
@ViewChild('slides') slides: IonSlides; | |||
selectedIndex: number = 0; | |||
slideOpts = { | |||
slidesPerView: 1, | |||
@@ -14,7 +18,6 @@ export class CollectionsPage implements OnInit { | |||
centeredSlides: true, | |||
simulateTouch: false, | |||
followFinger: false, | |||
loop: true, | |||
}; | |||
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 { | |||
margin-bottom: 2.7rem; | |||
} | |||
.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; | |||
background-clip: text; | |||
-webkit-text-fill-color: transparent; | |||
@@ -26,7 +25,7 @@ $dark-voilet: #8c6ee5; | |||
button { | |||
background-color: transparent; | |||
color: $dark-blue; | |||
color: $blue-grey; | |||
font-size: 1.1rem; | |||
font-weight: 400; | |||
margin-right: 5%; | |||
@@ -36,7 +35,7 @@ $dark-voilet: #8c6ee5; | |||
&.active { | |||
font-weight: 500; | |||
opacity: 1; | |||
color: var(--brand-black); | |||
color: $blue-grey; | |||
&::before { | |||
content: ''; | |||
@@ -46,7 +45,7 @@ $dark-voilet: #8c6ee5; | |||
position: absolute; | |||
bottom: -18px; | |||
left: calc(50% - 4px); | |||
background-color: var(--brand-red); | |||
background-color: $blue-grey; | |||
} | |||
} | |||
} | |||
@@ -69,7 +68,7 @@ ion-slides { | |||
text-align: left; | |||
height: 100%; | |||
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; | |||
transform: scale(0.9); | |||
@@ -4,7 +4,7 @@ | |||
<div class="heading-holder"> | |||
<h2 class="main-header"> | |||
Matches | |||
#Live | |||
</h2> | |||
<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 { | |||
padding-bottom: 50px; | |||
@@ -18,15 +9,18 @@ ion-content { | |||
padding: 0px 7%; | |||
.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-weight: 700; | |||
letter-spacing: 1px; | |||
margin: 5% 0%; | |||
color: white; | |||
} | |||
p { | |||
color: white; | |||
color: $blue-grey; | |||
font-size: 1.2rem; | |||
font-weight: 500; | |||
} | |||
@@ -39,12 +33,13 @@ ion-content { | |||
padding: 15px 5%; | |||
overflow: visible; | |||
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 { | |||
background-color: $green; | |||
background-color: darken($green, 5%); | |||
border-radius: 5px; | |||
padding: 7px; | |||
padding: 7px 15px; | |||
color: white; | |||
font-size: 0.9rem; | |||
font-weight: 500; | |||
@@ -138,8 +133,8 @@ ion-content { | |||
margin: 30px auto; | |||
border-radius: 10px; | |||
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; | |||
-webkit-perspective: 1200px; | |||
@@ -173,11 +168,12 @@ ion-content { | |||
button { | |||
border-radius: 50%; | |||
background-color: $green; | |||
background-color: darken($green, 5%); | |||
box-shadow: 2px 2px 7px -2px darken($dark-blue, 10%); | |||
height: 30px; | |||
width: 30px; | |||
font-size: 24px; | |||
color: white; | |||
color: white; | |||
} | |||
} | |||
@@ -185,11 +181,12 @@ ion-content { | |||
display: block; | |||
width: 100%; | |||
border-radius: 7px; | |||
background-color: $pink; | |||
background-color: lighten($brand-red, 10%); | |||
font-weight: 500; | |||
color: white; | |||
font-size: 1rem; | |||
height: 40px; | |||
box-shadow: 0px 0px 5px 2px darken($dark-blue-shade2, 10%); | |||
box-shadow: 2px 2px 7px -3px darken($dark-blue, 10%); | |||
} | |||
.card { | |||
@@ -238,7 +235,7 @@ ion-content { | |||
} | |||
ion-slides { | |||
padding: 30px 0 20px 0; | |||
padding: 15px 0 20px 0; | |||
position: relative; | |||
left: 0; | |||
top: 0; | |||
@@ -267,7 +264,7 @@ ion-slides { | |||
height: 100%; | |||
overflow: hidden; | |||
border-radius: 7px; | |||
box-shadow: 0px 10px 25px -7px darken($lumous-blue, 80%); | |||
box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||
figure { | |||
margin: 0; | |||
@@ -1,13 +1,13 @@ | |||
<ion-content *ngIf="matchStats" [scrollEvents]="true"> | |||
<section class="action-buttons"> | |||
<section class="header-with-action-buttons"> | |||
<div class="nav"> | |||
<button (click)="back()"> <ion-icon name="chevron-back-outline"></ion-icon> <span> BACK </span> </button> | |||
</div> | |||
<header> {{ matchStats.homeTeam.teamName }} v/s {{ matchStats.awayTeam.teamName }} <br> | |||
<span> Live from {{ matchStats.stadium }} Stadium </span> </header> | |||
<div class="action"> | |||
<button> <ion-icon name="share-social-outline"></ion-icon> </button> | |||
<button> <ion-icon name="share-social"></ion-icon> </button> | |||
</div> | |||
</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 { | |||
position: sticky; | |||
position: -webkit-sticky; | |||
top: 70px; | |||
top: 0px; | |||
height: calc(100vh - 70px); | |||
width: 100%; | |||
z-index: 0; | |||
margin-top: -80px; | |||
} | |||
.field-image { | |||
@@ -249,8 +163,8 @@ ion-content { | |||
} | |||
&:nth-child(12) { | |||
left: 45%; | |||
top: 53%; | |||
left: 50%; | |||
top: 52%; | |||
animation: runUp 1s forwards linear; | |||
animation-delay: 2.8s; | |||
} | |||
@@ -275,17 +189,17 @@ ion-content { | |||
0% { | |||
transform: translate(0,0); | |||
} 100% { | |||
transform: translate(-5vw, 15vh); | |||
transform: translate(7vw, 15vh); | |||
} | |||
} | |||
&:nth-child(14) { | |||
left: 37%; | |||
left: 39%; | |||
top: 82%; | |||
img { | |||
width: 30px; | |||
height: 30px; | |||
width: 20px; | |||
height: 20px; | |||
} | |||
&::after { | |||
@@ -358,7 +272,7 @@ ion-content { | |||
display: flex; | |||
justify-content: center; | |||
overflow: hidden; | |||
background-color: rgba(white, 0.5); | |||
background-color: rgba($blue-grey, 0.5); | |||
&.change-bg { | |||
background-color: rgba($blue-grey, 0.3); | |||
@@ -374,7 +288,7 @@ ion-content { | |||
} | |||
button:nth-child(3) { | |||
color: #4eb54b; | |||
color: darken($green, 10%); | |||
} | |||
button:nth-child(1) { | |||
@@ -412,7 +326,7 @@ ion-content { | |||
border-radius: 30px; | |||
border-radius: 30px; | |||
transition: color 0.3s; | |||
color: #4eb54b; | |||
color: darken($green, 10%); | |||
height: 100%; | |||
background-color: transparent; | |||
font-weight: 700; | |||
@@ -428,7 +342,7 @@ ion-content { | |||
span { | |||
width: 12px; | |||
height: 12px; | |||
background-color: #4eb54b; | |||
background-color: darken($green, 10%); | |||
display: block; | |||
border-radius: 50%; | |||
@@ -440,7 +354,7 @@ ion-content { | |||
width: 16px; | |||
position: absolute; | |||
border-radius: 50%; | |||
border: 12px solid rgba(#4eb54b, 0.5); | |||
border: 12px solid rgba(darken($green, 10%), 0.5); | |||
opacity: 0.7; | |||
animation: rippleBorder 1.5s infinite; | |||
} | |||
@@ -468,16 +382,19 @@ ion-content { | |||
} | |||
.segment-holder { | |||
position: fixed; | |||
position: sticky; | |||
left: 0; | |||
top: 70px; | |||
z-index: 2; | |||
z-index: 1; | |||
width: 100%; | |||
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 { | |||
background-color: transparent; | |||
box-shadow: 0px 0px 0px $dark-blue; | |||
} | |||
} | |||
@@ -490,11 +407,12 @@ ion-content { | |||
display: flex; | |||
justify-content: center; | |||
overflow: hidden; | |||
background-color: rgba($blue-grey, 0.5); | |||
background-color: lighten($dark-blue, 15%); | |||
box-shadow: 0px 0px 5px inset $dark-blue; | |||
&.active { | |||
&::before { | |||
transform: translateX(100%); | |||
transform: translateX(98%); | |||
} | |||
button:nth-child(2) { | |||
@@ -512,10 +430,12 @@ ion-content { | |||
left: 0; | |||
top: 0; | |||
width: 50%; | |||
height: 100%; | |||
height: 90%; | |||
top: 5%; | |||
border-radius: 30px; | |||
background-color: $luminous-blue; | |||
background-color: darken($green, 5%); | |||
transition: transform 0.3s; | |||
transform: translateX(2%); | |||
} | |||
button { | |||
@@ -537,17 +457,14 @@ ion-content { | |||
} | |||
} | |||
.score-container { | |||
margin-top: 100px; | |||
} | |||
.score-card { | |||
background-color: white; | |||
box-shadow: 0px 0px 10px $blue-grey; | |||
box-shadow: 10px 10px 15px -7px darken($dark-blue, 10%); | |||
border-radius: 7px; | |||
overflow: hidden; | |||
width: 90%; | |||
margin: 20px auto; | |||
margin: 30px auto; | |||
.container { | |||
width: 90%; | |||
@@ -636,8 +553,6 @@ ion-content { | |||
} | |||
.player-list { | |||
background: linear-gradient(0deg, $voilet 50%, $dark-voilet); | |||
margin-top: 78px; | |||
position: sticky; | |||
top: 0px; | |||
z-index: 0; | |||
@@ -653,7 +568,6 @@ ion-content { | |||
display: flex; | |||
width: 100%; | |||
align-items: center; | |||
background-color: rgba(#ffff, 0.1); | |||
border-bottom: 1px solid rgba(white, 0.1); | |||
padding: 15px 5%; | |||
} | |||
@@ -1,28 +1,17 @@ | |||
@import '../colors'; | |||
ion-tab-bar { | |||
--background: white; | |||
--background: transparent; | |||
background-color: $dark-blue; | |||
--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-icon { | |||
font-size: 20px; | |||
font-size: 25px; | |||
&:nth-child(1) { | |||
display: block; | |||
@@ -25,6 +25,8 @@ | |||
@import "~@ionic/angular/css/text-transformation.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'); | |||
* { | |||
@@ -34,6 +36,89 @@ | |||
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 { | |||
margin: 0; | |||
} | |||
@@ -55,7 +140,9 @@ figure { | |||
} | |||
.chat-button { | |||
--background: #d73e53; | |||
--background: transparent; | |||
background-color: lighten($brand-red, 10%); | |||
border-radius: 50%; | |||
position: relative; | |||
overflow: visible; | |||
width: 60px; | |||
@@ -67,8 +154,8 @@ figure { | |||
ion-badge { | |||
position: absolute; | |||
right: 10px; | |||
top: 10px; | |||
right: 7px; | |||
top: 7px; | |||
font-size: 10px; | |||
} | |||
} |
@@ -82,6 +82,8 @@ | |||
--brand-red-rgb: 237, 28, 36; | |||
--light-grey: #666666; | |||
--light-grey-rgb: 102, 102, 102; | |||
--dark-blue: #161e2d; | |||
--blue-grey: #949599; | |||
} | |||