34 lines
919 B
TypeScript
34 lines
919 B
TypeScript
import { Component, inject } from '@angular/core';
|
|
import { FormsModule } from '@angular/forms';
|
|
import { Router, RouterLink, RouterOutlet } from '@angular/router';
|
|
|
|
import { resolvePreferredLocale, setPreferredLocale, t } from './lobby-i18n';
|
|
|
|
@Component({
|
|
selector: 'app-root',
|
|
standalone: true,
|
|
imports: [RouterOutlet, RouterLink, FormsModule],
|
|
templateUrl: './app.component.html',
|
|
styleUrl: './app.component.css',
|
|
})
|
|
export class AppComponent {
|
|
private readonly router = inject(Router);
|
|
|
|
locale = resolvePreferredLocale();
|
|
|
|
constructor() {
|
|
const shellRoute = document.body.dataset['wppShellRoute'];
|
|
if (shellRoute?.startsWith('/host') || shellRoute?.startsWith('/player')) {
|
|
void this.router.navigateByUrl(shellRoute);
|
|
}
|
|
}
|
|
|
|
copy(key: string): string {
|
|
return t(key, this.locale);
|
|
}
|
|
|
|
setLocale(locale: string): void {
|
|
this.locale = setPreferredLocale(locale);
|
|
}
|
|
}
|