AI Implementation feature(908): Challenges Page and Challenge Solve Modal 1.04 (#50)

This commit was merged in pull request #50.
This commit is contained in:
2026-07-23 03:47:10 +00:00
parent 54f72f88dc
commit 5a6e832cca
13 changed files with 552 additions and 62 deletions
@@ -16,6 +16,7 @@ import { AuthService } from '../../core/services/auth.service';
import { EventStatusStore } from '../../core/services/event-status.store';
import { AuthenticatedEventSourceService } from '../../core/services/authenticated-event-source.service';
import { UserStore } from '../../core/services/user.store';
import { ChallengesStore } from '../challenges/challenges.store';
import { ShellHeaderComponent } from '../shell/header/shell-header.component';
import {
ChangePasswordModalComponent,
@@ -91,6 +92,7 @@ export class HomeComponent implements OnInit, OnDestroy {
readonly eventStatus = inject(EventStatusStore);
private readonly authenticatedEventSource = inject(AuthenticatedEventSourceService);
readonly userStore = inject(UserStore);
private readonly challengesStore = inject(ChallengesStore);
private readonly router = inject(Router);
private readonly destroyRef = inject(DestroyRef);
@@ -200,6 +202,7 @@ export class HomeComponent implements OnInit, OnDestroy {
await this.auth.logout();
this.userMenuOpen.set(false);
this.userStore.reset();
this.challengesStore.reset();
await this.router.navigateByUrl('/login');
}
@@ -210,6 +213,7 @@ export class HomeComponent implements OnInit, OnDestroy {
_reason: 'peer-logout' | 'sse-unauthorized',
): Promise<void> {
this.userStore.reset();
this.challengesStore.reset();
this.changePasswordOpen.set(false);
this.userMenuOpen.set(false);
if (this.navigatingToLogin) return;