@@ -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; | font-weight: 500; | ||||
height: 40px; | height: 40px; | ||||
padding: 0 15px; | padding: 0 15px; | ||||
background-color: white; | |||||
} | } | ||||
button { | button { | ||||
@@ -131,17 +131,17 @@ | |||||
</div> | </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-fab-button class="chat-button" (click)="presentChatModal()"> | ||||
<ion-icon name="chatbubble-ellipses-outline"></ion-icon> | <ion-icon name="chatbubble-ellipses-outline"></ion-icon> | ||||
<ion-badge color="dark"> 10 </ion-badge> | <ion-badge color="dark"> 10 </ion-badge> | ||||
</ion-fab-button> | </ion-fab-button> | ||||
</ion-fab> | </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-fab-button class="chat-button" (click)="presentAddChatModal()"> | ||||
<ion-icon name="add-outline"></ion-icon> | <ion-icon name="add-outline"></ion-icon> | ||||
</ion-fab-button> | </ion-fab-button> | ||||
</ion-fab> | |||||
</ion-fab> --> | |||||
</ion-content> | </ion-content> |
@@ -51,8 +51,8 @@ | |||||
</section> | </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> | <span class="dot"></span> | ||||
</button> | </button> | ||||
@@ -1,5 +1,6 @@ | |||||
import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||
import * as faker from 'faker'; | import * as faker from 'faker'; | ||||
import { Location } from '@angular/common'; | |||||
@Component({ | @Component({ | ||||
selector: 'app-quiz', | selector: 'app-quiz', | ||||
@@ -24,7 +25,13 @@ export class QuizPage implements OnInit { | |||||
}>; | }>; | ||||
showReport: boolean = true; | showReport: boolean = true; | ||||
constructor() { } | |||||
constructor( | |||||
private location: Location | |||||
) { } | |||||
back() { | |||||
this.location.back(); | |||||
} | |||||
ngOnInit() { | ngOnInit() { | ||||
this.startQuiz(); | this.startQuiz(); | ||||
@@ -43,14 +50,19 @@ export class QuizPage implements OnInit { | |||||
} | } | ||||
}, 1000); | }, 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 = [{ | this.questions = [{ | ||||
type: 'MCQ', | type: 'MCQ', | ||||
@@ -9,7 +9,7 @@ | |||||
</section> | </section> | ||||
<div class="action-buttons"> | <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> | ||||
</div> | </div> |
@@ -29,7 +29,7 @@ | |||||
img { | img { | ||||
width: 100%; | width: 100%; | ||||
object-fit: cover; | |||||
object-fit: contain; | |||||
display: block; | display: block; | ||||
border-radius: 10px; | border-radius: 10px; | ||||
margin-bottom: 10px; | margin-bottom: 10px; | ||||
@@ -38,6 +38,10 @@ const routes: Routes = [ | |||||
{ | { | ||||
path: 'shop', | path: 'shop', | ||||
loadChildren: () => import('../shop/shop.module').then( m => m.ShopPageModule) | 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-icon name="play-circle"></ion-icon> | ||||
</ion-tab-button> | </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-outline"></ion-icon> | ||||
<ion-icon name="game-controller"></ion-icon> | <ion-icon name="game-controller"></ion-icon> | ||||
</ion-tab-button> | </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-tab-bar> | ||||
</ion-tabs> | </ion-tabs> |