Horse-Betting/src/app/components/navbar/navbar.component.ts
2025-06-24 09:29:44 +05:30

113 lines
2.2 KiB
TypeScript

import { Component, OnInit, HostListener } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css'],
standalone: true,
imports: [CommonModule]
})
export class NavbarComponent implements OnInit {
dateTime: string = '';
isMenuOpen: boolean = false;
screenWidth: number = window.innerWidth;
// Venue and Race state
showVenueModal = false;
showRaceModal = false;
venues = ['MYS', 'BLR', 'CHN'];
races = ['1', '2', '3'];
selectedVenue = 'MYS';
selectedRace = '1';
// Modal state flags
showWalletModal = false;
showResultModal = false;
showMessagesModal = false;
showLogModal = false;
// Wallet data
wallet = {
withdraw: 0,
deposit: 0,
payout: 0,
cancel: 0,
ticketing: 0,
balance: 0
};
// Messages
messages = ['HIII']; // Can be dynamically fetched
// Logs
logs = [
{ description: '', venue: '', ticketNumber: '', poolName: '', totalAmount: '' }
];
ngOnInit() {
this.updateDateTime();
setInterval(() => this.updateDateTime(), 1000);
}
updateDateTime() {
const now = new Date();
this.dateTime = now.toLocaleString();
}
@HostListener('window:resize', ['$event'])
onResize(event: any) {
this.screenWidth = event.target.innerWidth;
if (this.screenWidth > 800) {
this.isMenuOpen = false;
}
}
toggleMenu() {
this.isMenuOpen = !this.isMenuOpen;
}
openVenueModal() {
this.showVenueModal = true;
}
openRaceModal() {
this.showRaceModal = true;
}
openWalletModal() {
this.showWalletModal = true;
}
openResultModal() {
this.showResultModal = true;
}
openMessagesModal() {
this.showMessagesModal = true;
}
openLogModal() {
this.showLogModal = true;
}
closeModals() {
this.showVenueModal = false;
this.showRaceModal = false;
this.showWalletModal = false;
this.showResultModal = false;
this.showMessagesModal = false;
this.showLogModal = false;
}
selectVenue(venue: string) {
this.selectedVenue = venue;
this.closeModals();
}
selectRace(race: string) {
this.selectedRace = race;
this.closeModals();
}
}