Some checks failed
Queue Release Build / prepare (push) Has been cancelled
Queue Release Build / build-linux (push) Has been cancelled
Queue Release Build / build-windows (push) Has been cancelled
Queue Release Build / finalize (push) Has been cancelled
Deploy Web Apps / deploy (push) Successful in 6m2s
24 lines
712 B
TypeScript
24 lines
712 B
TypeScript
import { Injectable, signal } from '@angular/core';
|
|
export type SettingsPage = 'general' | 'network' | 'voice' | 'updates' | 'debugging' | 'server' | 'members' | 'bans' | 'permissions';
|
|
|
|
@Injectable({ providedIn: 'root' })
|
|
export class SettingsModalService {
|
|
readonly isOpen = signal(false);
|
|
readonly activePage = signal<SettingsPage>('general');
|
|
readonly targetServerId = signal<string | null>(null);
|
|
|
|
open(page: SettingsPage = 'general', serverId?: string): void {
|
|
this.activePage.set(page);
|
|
this.targetServerId.set(serverId ?? null);
|
|
this.isOpen.set(true);
|
|
}
|
|
|
|
close(): void {
|
|
this.isOpen.set(false);
|
|
}
|
|
|
|
navigate(page: SettingsPage): void {
|
|
this.activePage.set(page);
|
|
}
|
|
}
|