{{ message }}
+diff --git a/frontend/src/app/app.routes.ts b/frontend/src/app/app.routes.ts index 8807c02..9dbaac1 100644 --- a/frontend/src/app/app.routes.ts +++ b/frontend/src/app/app.routes.ts @@ -106,6 +106,10 @@ export const routes: Routes = [ path: 'staffpowers', loadComponent: () => import('./pages/reference/staffpowers/staffpowers.component').then(m => m.StaffpowersComponent) }, + { + path: 'forms', + loadComponent: () => import('./pages/forms/forms.component').then(m => m.FormsComponent) + }, { path: 'forms/appeal', loadComponent: () => import('./pages/forms/appeal/appeal.component').then(m => m.AppealComponent), @@ -115,8 +119,12 @@ export const routes: Routes = [ } }, { - path: 'forms', - loadComponent: () => import('./pages/forms/forms.component').then(m => m.FormsComponent) + path: 'forms/sent', + loadComponent: () => import('./pages/forms/sent/sent.component').then(m => m.SentComponent), + canActivate: [AuthGuard], + data: { + requiredAuthorizations: ['SCOPE_user'] + } }, { path: 'community', diff --git a/frontend/src/app/pages/forms/appeal/appeal.component.ts b/frontend/src/app/pages/forms/appeal/appeal.component.ts index dc7b3f9..862c8e3 100644 --- a/frontend/src/app/pages/forms/appeal/appeal.component.ts +++ b/frontend/src/app/pages/forms/appeal/appeal.component.ts @@ -23,6 +23,7 @@ import {MatInputModule} from '@angular/material/input'; import {HistoryFormatService} from '@pages/reference/bans/history-format.service'; import {MatDialog} from '@angular/material/dialog'; import {VerifyMailDialogComponent} from '@pages/forms/verify-mail-dialog/verify-mail-dialog.component'; +import {Router} from '@angular/router'; @Component({ selector: 'app-appeal', @@ -163,6 +164,8 @@ export class AppealComponent implements OnInit, OnDestroy, AfterViewInit { } } + private router = inject(Router) + private sendForm() { const rawValue = this.form.getRawValue(); const uuid = this.authService.getUuid(); @@ -177,7 +180,14 @@ export class AppealComponent implements OnInit, OnDestroy, AfterViewInit { username: this.authService.username()!, uuid: uuid } - this.appealsService.submitMinecraftAppeal(appeal).subscribe() + this.appealsService.submitMinecraftAppeal(appeal).subscribe((result) => { + if (!result.verified_mail) { + throw new Error('Mail not verified'); + } + this.router.navigate(['/form/sent'], { + state: {message: result.message} + }).then(); + }) } public currentPageIndex: number = 0; diff --git a/frontend/src/app/pages/forms/sent/sent.component.html b/frontend/src/app/pages/forms/sent/sent.component.html new file mode 100644 index 0000000..39f928a --- /dev/null +++ b/frontend/src/app/pages/forms/sent/sent.component.html @@ -0,0 +1,13 @@ +
{{ message }}
+