aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/app/(auth)/layout.tsx
diff options
context:
space:
mode:
authorLibravatarLibravatar Biswa Kalyan Bhuyan <biswa@surgot.in> 2025-04-24 09:13:07 +0530
committerLibravatarLibravatar Biswa Kalyan Bhuyan <biswa@surgot.in> 2025-04-24 09:13:07 +0530
commitcaace928ac81c284629ee50942d72179d4da9784 (patch)
treeb2f4e87b7a53e30ac5ac9af94cdc70c2da5bbfb9 /frontend/src/app/(auth)/layout.tsx
parent50d5e6534f5e593297a09323e683c7c8b850117b (diff)
downloadfinance-caace928ac81c284629ee50942d72179d4da9784.tar.gz
finance-caace928ac81c284629ee50942d72179d4da9784.tar.bz2
finance-caace928ac81c284629ee50942d72179d4da9784.zip
feat: Fix loan API type assertion and complete core loan features
- Resolve interface conversion panic in loan handlers by correcting user type assertions from *models.User to models.User - Finalize loan management API integration with frontend components - Implement remaining loan calculation logic and CRUD operations - Connect loan display components to backend APIs as per Phase 3 - Update project status in README.md to reflect completed loan features - Add CORS middleware configuration for frontend-backend communication This commit completes core loan management functionality and fixes critical type safety issues in the API handlers, enabling proper user context handling.
Diffstat (limited to 'frontend/src/app/(auth)/layout.tsx')
-rw-r--r--frontend/src/app/(auth)/layout.tsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/frontend/src/app/(auth)/layout.tsx b/frontend/src/app/(auth)/layout.tsx
new file mode 100644
index 0000000..9651b4b
--- /dev/null
+++ b/frontend/src/app/(auth)/layout.tsx
@@ -0,0 +1,36 @@
+'use client';
+
+import { useEffect } from 'react';
+import { useRouter } from 'next/navigation';
+
+export default function AuthLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ const router = useRouter();
+
+ useEffect(() => {
+ // If already logged in, redirect to dashboard
+ const token = localStorage.getItem('token');
+ if (token) {
+ router.push('/dashboard');
+ }
+ }, [router]);
+
+ return (
+ <div className="flex min-h-screen flex-col items-center justify-center bg-muted/40">
+ <div className="w-full max-w-md rounded-lg border bg-card p-6 shadow-sm">
+ <div className="flex flex-col space-y-2 text-center mb-6">
+ <h1 className="text-2xl font-semibold tracking-tight">
+ Finance Management
+ </h1>
+ <p className="text-sm text-muted-foreground">
+ Manage your personal finances
+ </p>
+ </div>
+ {children}
+ </div>
+ </div>
+ );
+} \ No newline at end of file