Files
indie/frontend/src/app/auth/oauth-callback/oauth-callback.component.ts
2026-06-30 11:13:55 +05:45

38 lines
1.2 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AuthService } from '../../core/services/auth.service';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@Component({
selector: 'app-oauth-callback',
standalone: true,
imports: [MatProgressSpinnerModule],
template: `
<div class="min-h-screen flex items-center justify-center bg-gray-50">
<div class="text-center">
<mat-spinner diameter="40" class="mx-auto mb-4"></mat-spinner>
<p class="text-gray-500">Completing sign in...</p>
</div>
</div>
`,
})
export class OAuthCallbackComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private router: Router,
private authService: AuthService,
) {}
ngOnInit(): void {
const accessToken = this.route.snapshot.queryParamMap.get('accessToken');
const refreshToken = this.route.snapshot.queryParamMap.get('refreshToken');
if (accessToken && refreshToken) {
this.authService.setSessionFromOAuth(accessToken, refreshToken);
this.router.navigate(['/dashboard']);
} else {
this.router.navigate(['/login']);
}
}
}