@@ -1,72 +1,76 @@ | |||
import { NgModule } from '@angular/core'; | |||
import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; | |||
const routes: Routes = [ | |||
{ | |||
path: '', | |||
loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule) | |||
}, | |||
{ | |||
path: 'home', | |||
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) | |||
}, | |||
{ | |||
path: 'live', | |||
loadChildren: () => import('./live/live.module').then( m => m.LivePageModule) | |||
}, | |||
{ | |||
path: 'more', | |||
loadChildren: () => import('./more/more.module').then( m => m.MorePageModule) | |||
}, | |||
{ | |||
path: 'home-details', | |||
loadChildren: () => import('./home-details/home-details.module').then( m => m.HomeDetailsPageModule) | |||
}, | |||
{ | |||
path: 'player-stats', | |||
loadChildren: () => import('./player-stats/player-stats.module').then( m => m.PlayerStatsPageModule) | |||
}, | |||
{ | |||
path: 'booking', | |||
loadChildren: () => import('./booking/booking.module').then( m => m.BookingPageModule) | |||
}, | |||
{ | |||
path: 'booking-details', | |||
loadChildren: () => import('./booking-details/booking-details.module').then( m => m.BookingDetailsPageModule) | |||
}, | |||
{ | |||
path: 'match-details', | |||
loadChildren: () => import('./match-details/match-details.module').then( m => m.MatchDetailsPageModule) | |||
}, | |||
{ | |||
path: 'chat', | |||
loadChildren: () => import('./chat/chat.module').then( m => m.ChatPageModule) | |||
}, | |||
{ | |||
path: 'collections', | |||
loadChildren: () => import('./collections/collections.module').then( m => m.CollectionsPageModule) | |||
}, | |||
{ | |||
path: 'add-party', | |||
loadChildren: () => import('./add-party/add-party.module').then( m => m.AddPartyPageModule) | |||
}, | |||
{ | |||
path: 'ar-fan-cam', | |||
loadChildren: () => import('./ar-fan-cam/ar-fan-cam.module').then( m => m.ArFanCamPageModule) | |||
}, | |||
{ | |||
path: 'quiz', | |||
loadChildren: () => import('./quiz/quiz.module').then( m => m.QuizPageModule) | |||
}, | |||
{ | |||
path: 'shop', | |||
loadChildren: () => import('./shop/shop.module').then( m => m.ShopPageModule) | |||
import { NgModule } from '@angular/core'; | |||
import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; | |||
const routes: Routes = [ | |||
{ | |||
path: '', | |||
loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule) | |||
}, | |||
{ | |||
path: 'home', | |||
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) | |||
}, | |||
{ | |||
path: 'live', | |||
loadChildren: () => import('./live/live.module').then( m => m.LivePageModule) | |||
}, | |||
{ | |||
path: 'more', | |||
loadChildren: () => import('./more/more.module').then( m => m.MorePageModule) | |||
}, | |||
{ | |||
path: 'home-details', | |||
loadChildren: () => import('./home-details/home-details.module').then( m => m.HomeDetailsPageModule) | |||
}, | |||
{ | |||
path: 'player-stats', | |||
loadChildren: () => import('./player-stats/player-stats.module').then( m => m.PlayerStatsPageModule) | |||
}, | |||
{ | |||
path: 'booking', | |||
loadChildren: () => import('./booking/booking.module').then( m => m.BookingPageModule) | |||
}, | |||
{ | |||
path: 'booking-details', | |||
loadChildren: () => import('./booking-details/booking-details.module').then( m => m.BookingDetailsPageModule) | |||
}, | |||
{ | |||
path: 'match-details', | |||
loadChildren: () => import('./match-details/match-details.module').then( m => m.MatchDetailsPageModule) | |||
}, | |||
{ | |||
path: 'chat', | |||
loadChildren: () => import('./chat/chat.module').then( m => m.ChatPageModule) | |||
}, | |||
{ | |||
path: 'collections', | |||
loadChildren: () => import('./collections/collections.module').then( m => m.CollectionsPageModule) | |||
}, | |||
{ | |||
path: 'add-party', | |||
loadChildren: () => import('./add-party/add-party.module').then( m => m.AddPartyPageModule) | |||
}, | |||
{ | |||
path: 'ar-fan-cam', | |||
loadChildren: () => import('./ar-fan-cam/ar-fan-cam.module').then( m => m.ArFanCamPageModule) | |||
}, | |||
{ | |||
path: 'quiz', | |||
loadChildren: () => import('./quiz/quiz.module').then( m => m.QuizPageModule) | |||
}, | |||
{ | |||
path: 'shop', | |||
loadChildren: () => import('./shop/shop.module').then( m => m.ShopPageModule) | |||
}, { | |||
path: 'fan-zone', | |||
loadChildren: () => import('./fan-zone/fan-zone.module').then( m => m.FanZonePageModule) | |||
} | |||
]; | |||
@NgModule({ | |||
imports: [ | |||
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) | |||
], | |||
exports: [RouterModule] | |||
}) | |||
export class AppRoutingModule {} | |||
]; | |||
@NgModule({ | |||
imports: [ | |||
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) | |||
], | |||
exports: [RouterModule] | |||
}) | |||
export class AppRoutingModule {} |
@@ -0,0 +1,17 @@ | |||
import { NgModule } from '@angular/core'; | |||
import { Routes, RouterModule } from '@angular/router'; | |||
import { FanZonePage } from './fan-zone.page'; | |||
const routes: Routes = [ | |||
{ | |||
path: '', | |||
component: FanZonePage | |||
} | |||
]; | |||
@NgModule({ | |||
imports: [RouterModule.forChild(routes)], | |||
exports: [RouterModule], | |||
}) | |||
export class FanZonePageRoutingModule {} |
@@ -0,0 +1,20 @@ | |||
import { NgModule } from '@angular/core'; | |||
import { CommonModule } from '@angular/common'; | |||
import { FormsModule } from '@angular/forms'; | |||
import { IonicModule } from '@ionic/angular'; | |||
import { FanZonePageRoutingModule } from './fan-zone-routing.module'; | |||
import { FanZonePage } from './fan-zone.page'; | |||
@NgModule({ | |||
imports: [ | |||
CommonModule, | |||
FormsModule, | |||
IonicModule, | |||
FanZonePageRoutingModule | |||
], | |||
declarations: [FanZonePage] | |||
}) | |||
export class FanZonePageModule {} |
@@ -0,0 +1,60 @@ | |||
<ion-content> | |||
<div class="content-container"> | |||
<div class="heading-holder"> | |||
<h2 class="main-header"> | |||
#FanZone | |||
</h2> | |||
<p> | |||
Games, Merch & More! | |||
</p> | |||
</div> | |||
<ul class="stories"> | |||
<li *ngFor="let story of fanStories" [ngClass]="{'active' : !story.opened }"> | |||
{{ story.profileImage }} | |||
</li> | |||
</ul> | |||
<ul class="fan-feature-list"> | |||
<li [routerLink]="['/ar-fan-cam']"> | |||
<div> | |||
<ion-icon name="camera-outline"></ion-icon> | |||
<label> Fan Cam </label> | |||
</div> | |||
</li> | |||
<li [routerLink]="['/collections']"> | |||
<div> | |||
<ion-icon name="trophy-outline"></ion-icon> | |||
<label> Collections </label> | |||
</div> | |||
</li> | |||
<li [routerLink]="['/quiz']"> | |||
<div> | |||
<ion-icon name="bar-chart-outline"></ion-icon> | |||
<label> Quiz </label> | |||
</div> | |||
</li> | |||
<li [routerLink]="['/shop']"> | |||
<div> | |||
<ion-icon name="bag-handle-outline"></ion-icon> | |||
<label> Shop </label> | |||
</div> | |||
</li> | |||
<li [routerLink]="['/booking']"> | |||
<div> | |||
<ion-icon name="ticket-outline"></ion-icon> | |||
<label> Tickets </label> | |||
</div> | |||
</li> | |||
</ul> | |||
</div> | |||
</ion-content> |
@@ -0,0 +1,72 @@ | |||
@import '../colors'; | |||
.content-container { | |||
padding-bottom: 50px; | |||
} | |||
.heading-holder { | |||
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%; | |||
} | |||
p { | |||
color: $blue-grey; | |||
font-size: 1.2rem; | |||
font-weight: 500; | |||
} | |||
} | |||
.fan-feature-list { | |||
display: flex; | |||
align-items: center; | |||
width: 100%; | |||
padding: 0 5%; | |||
flex-wrap: wrap; | |||
list-style: none; | |||
margin: 0; | |||
li { | |||
border-radius: 7px; | |||
background-color: rgba(white, 0.1); | |||
box-shadow: 5px 5px 10px -5px darken($dark-blue, 5%); | |||
color: $blue-grey; | |||
width: 25vw; | |||
height: 25vw; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
padding: 10px; | |||
text-align: center; | |||
margin: 10px 2vw; | |||
line-height: 1.5; | |||
} | |||
label { | |||
display: block; | |||
font-size: 0.9rem; | |||
margin-top: 10px; | |||
} | |||
ion-icon { | |||
margin: 0 auto; | |||
display: block; | |||
font-size: 1.8rem; | |||
} | |||
} | |||
.stories { | |||
display: inline-block; | |||
li { | |||
} | |||
} |
@@ -0,0 +1,24 @@ | |||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |||
import { IonicModule } from '@ionic/angular'; | |||
import { FanZonePage } from './fan-zone.page'; | |||
describe('FanZonePage', () => { | |||
let component: FanZonePage; | |||
let fixture: ComponentFixture<FanZonePage>; | |||
beforeEach(async(() => { | |||
TestBed.configureTestingModule({ | |||
declarations: [ FanZonePage ], | |||
imports: [IonicModule.forRoot()] | |||
}).compileComponents(); | |||
fixture = TestBed.createComponent(FanZonePage); | |||
component = fixture.componentInstance; | |||
fixture.detectChanges(); | |||
})); | |||
it('should create', () => { | |||
expect(component).toBeTruthy(); | |||
}); | |||
}); |
@@ -0,0 +1,38 @@ | |||
import { Component, OnInit } from '@angular/core'; | |||
@Component({ | |||
selector: 'app-fan-zone', | |||
templateUrl: './fan-zone.page.html', | |||
styleUrls: ['./fan-zone.page.scss'], | |||
}) | |||
export class FanZonePage implements OnInit { | |||
fanStories: Array<{ | |||
profileImage: string, | |||
name: string, | |||
storyImage: string, | |||
likeCount: number, | |||
opened: boolean | |||
}>; | |||
constructor() { } | |||
ngOnInit() { | |||
this.fanStories = [{ | |||
name: 'Amarpreet', | |||
likeCount: 230, | |||
profileImage: 'https://th.bing.com/th/id/OIP.AAvPtBwt0-1npE8vxTgTeQHaHa?pid=Api&rs=1', | |||
storyImage: 'https://www.kxip.in/static-assets/waf-images/43/75/3e/16-9/796-597/sG5PGkS0K7.jpg', | |||
opened: false, | |||
}, { | |||
name: 'Prem', | |||
likeCount: 230, | |||
profileImage: 'https://m.media-amazon.com/images/M/MV5BMmNkMjNkZmEtYWNhYS00ZjI0LTkzZTktZmViODI1NmI0ZmMyXkEyXkFqcGdeQXVyMTM1ODM2MjM@._V1_UY317_CR130,0,214,317_AL_.jpg', | |||
storyImage: 'https://i.pinimg.com/originals/dd/78/64/dd78643b1b2980bcfa83daa2d188fa91.jpg', | |||
opened: false | |||
}] | |||
} | |||
} |
@@ -297,6 +297,7 @@ | |||
font-weight: 500; | |||
height: 40px; | |||
padding: 0 15px; | |||
background-color: white; | |||
} | |||
button { | |||
@@ -131,17 +131,17 @@ | |||
</div> | |||
<ion-fab vertical="bottom" horizontal="end" slot="fixed" *ngIf="!showAddParty"> | |||
<ion-fab vertical="bottom" horizontal="end" slot="fixed"> | |||
<ion-fab-button class="chat-button" (click)="presentChatModal()"> | |||
<ion-icon name="chatbubble-ellipses-outline"></ion-icon> | |||
<ion-badge color="dark"> 10 </ion-badge> | |||
</ion-fab-button> | |||
</ion-fab> | |||
<ion-fab vertical="bottom" horizontal="end" slot="fixed" *ngIf="showAddParty"> | |||
<!-- <ion-fab vertical="bottom" horizontal="end" slot="fixed" *ngIf="showAddParty"> | |||
<ion-fab-button class="chat-button" (click)="presentAddChatModal()"> | |||
<ion-icon name="add-outline"></ion-icon> | |||
</ion-fab-button> | |||
</ion-fab> | |||
</ion-fab> --> | |||
</ion-content> |
@@ -51,8 +51,8 @@ | |||
</section> | |||
<button class="next-button" (click)="startQuiz()"> | |||
<span class="text"> Restart </span> | |||
<button class="next-button" (click)="back()"> | |||
<span class="text"> Back </span> | |||
<span class="dot"></span> | |||
</button> | |||
@@ -1,5 +1,6 @@ | |||
import { Component, OnInit } from '@angular/core'; | |||
import * as faker from 'faker'; | |||
import { Location } from '@angular/common'; | |||
@Component({ | |||
selector: 'app-quiz', | |||
@@ -24,7 +25,13 @@ export class QuizPage implements OnInit { | |||
}>; | |||
showReport: boolean = true; | |||
constructor() { } | |||
constructor( | |||
private location: Location | |||
) { } | |||
back() { | |||
this.location.back(); | |||
} | |||
ngOnInit() { | |||
this.startQuiz(); | |||
@@ -43,14 +50,19 @@ export class QuizPage implements OnInit { | |||
} | |||
}, 1000); | |||
let cardQuestions = []; | |||
for (let i = 0; i < 4; i += 1) { | |||
cardQuestions.push({ | |||
text: faker.lorem.sentence(), | |||
image: faker.image.abstract() | |||
}); | |||
} | |||
let cardQuestions = [{ | |||
text: 'Is this Chris Gayle?', | |||
image: 'https://i.ebayimg.com/images/g/IP0AAOSwaZVec~9X/s-l300.jpg' | |||
}, { | |||
text: 'KL Rahul has scored 4 consecutive 50s, True or False?', | |||
image: 'https://www.insidesport.co/wp-content/uploads/2019/04/KL-Rahul-1-696x464.jpg' | |||
}, { | |||
text: 'Who is a better Capt?', | |||
image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSUsEaO3_mUEhJ6OGUcu5LS-ZfPi228FSLxng&usqp=CAU' | |||
}, { | |||
text: 'Who will win the next game?', | |||
image: 'https://firstsportz.com/wp-content/uploads/2020/10/WhatsApp-Image-2020-10-25-at-6.12.13-PM-1024x576.jpeg' | |||
}]; | |||
this.questions = [{ | |||
type: 'MCQ', | |||
@@ -9,7 +9,7 @@ | |||
</section> | |||
<div class="action-buttons"> | |||
<button (click)="userClickedButton($event, false)"> <ion-icon name="close-outline"></ion-icon> </button> | |||
<button (click)="userClickedButton($event, true)"> <ion-icon name="checkmark"></ion-icon> </button> | |||
<button (click)="userClickedButton($event, false)"> <ion-icon name="chevron-back-outline"></ion-icon> </button> | |||
<button (click)="userClickedButton($event, true)"> <ion-icon name="chevron-forward-outline"></ion-icon> </button> | |||
</div> | |||
</div> |
@@ -29,7 +29,7 @@ | |||
img { | |||
width: 100%; | |||
object-fit: cover; | |||
object-fit: contain; | |||
display: block; | |||
border-radius: 10px; | |||
margin-bottom: 10px; | |||
@@ -38,6 +38,10 @@ const routes: Routes = [ | |||
{ | |||
path: 'shop', | |||
loadChildren: () => import('../shop/shop.module').then( m => m.ShopPageModule) | |||
}, | |||
{ | |||
path: 'fan-zone', | |||
loadChildren: () => import('../fan-zone/fan-zone.module').then( m => m.FanZonePageModule) | |||
} | |||
] | |||
}, | |||
@@ -11,31 +11,10 @@ | |||
<ion-icon name="play-circle"></ion-icon> | |||
</ion-tab-button> | |||
<ion-tab-button tab="ar"> | |||
<ion-icon name="camera-outline"></ion-icon> | |||
<ion-icon name="camera"></ion-icon> | |||
</ion-tab-button> | |||
<ion-tab-button tab="booking"> | |||
<ion-icon name="ticket-outline"></ion-icon> | |||
<ion-icon name="ticket"></ion-icon> | |||
</ion-tab-button> | |||
<ion-tab-button tab="collections"> | |||
<ion-icon name="trophy-outline"></ion-icon> | |||
<ion-icon name="trophy"></ion-icon> | |||
</ion-tab-button> | |||
<ion-tab-button tab="quiz"> | |||
<ion-tab-button tab="fan-zone"> | |||
<ion-icon name="game-controller-outline"></ion-icon> | |||
<ion-icon name="game-controller"></ion-icon> | |||
</ion-tab-button> | |||
<ion-tab-button tab="shop"> | |||
<ion-icon name="bag-handle-outline"></ion-icon> | |||
<ion-icon name="bag-handle"></ion-icon> | |||
</ion-tab-button> | |||
</ion-tab-bar> | |||
</ion-tabs> |