aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/app/(main)
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/(main)')
-rw-r--r--frontend/src/app/(main)/layout.tsx43
1 files changed, 22 insertions, 21 deletions
diff --git a/frontend/src/app/(main)/layout.tsx b/frontend/src/app/(main)/layout.tsx
index 5902dd6..ee1026c 100644
--- a/frontend/src/app/(main)/layout.tsx
+++ b/frontend/src/app/(main)/layout.tsx
@@ -93,7 +93,7 @@ export default function MainLayout({
return (
<div className="min-h-screen bg-background flex flex-col">
{/* Top Navigation */}
- <header className="border-b shadow-sm backdrop-blur-sm bg-background/90 sticky top-0 z-50">
+ <header className="border-b shadow-sm backdrop-blur-sm bg-background/90 sticky top-0 z-50 w-full">
<div className="w-full flex h-16 items-center px-4 md:px-6">
<div className="flex items-center gap-4">
{/* Mobile menu button - only visible on small screens */}
@@ -199,11 +199,12 @@ export default function MainLayout({
</div>
{/* Main Content */}
- <div className="flex flex-1 h-[calc(100vh-4rem)]">
+ <div className="flex flex-1 overflow-hidden">
{/* Sidebar - hidden on mobile */}
<aside
className={`
- hidden md:block relative h-full transition-all duration-300 ease-in-out border-r
+ hidden md:flex flex-col h-[calc(100vh-4rem)] border-r bg-background flex-shrink-0 relative
+ transition-all duration-300 ease-in-out
${isSidebarCollapsed ? 'w-16' : 'w-64'}
`}
>
@@ -218,11 +219,11 @@ export default function MainLayout({
</div>
</button>
- <nav className="space-y-2 px-2 mt-4">
+ <nav className="space-y-2 px-2 mt-4 flex-1">
<Link
href="/dashboard"
className={`
- flex items-center p-2 rounded-md transition-all duration-200
+ flex items-center p-2 rounded-md transition-all duration-200 overflow-hidden
${pathname === '/dashboard'
? 'bg-primary/10 text-primary font-medium'
: 'hover:bg-muted text-foreground/80 hover:text-foreground'
@@ -232,14 +233,14 @@ export default function MainLayout({
title="Dashboard"
>
<LayoutDashboardIcon size={18} className={`transition-transform duration-300 ${pathname === '/dashboard' ? 'scale-110' : ''}`} />
- {!isSidebarCollapsed && (
- <span className="ml-2 transition-opacity duration-300 opacity-100">Dashboard</span>
- )}
+ <span className={`ml-2 transition-all duration-300 overflow-hidden whitespace-nowrap ${isSidebarCollapsed ? 'w-0 opacity-0' : 'w-auto opacity-100'}`}>
+ Dashboard
+ </span>
</Link>
<Link
href="/loans"
className={`
- flex items-center p-2 rounded-md transition-all duration-200
+ flex items-center p-2 rounded-md transition-all duration-200 overflow-hidden
${pathname === '/loans'
? 'bg-primary/10 text-primary font-medium'
: 'hover:bg-muted text-foreground/80 hover:text-foreground'
@@ -249,14 +250,14 @@ export default function MainLayout({
title="Loans"
>
<CoinsIcon size={18} className={`transition-transform duration-300 ${pathname === '/loans' ? 'scale-110' : ''}`} />
- {!isSidebarCollapsed && (
- <span className="ml-2 transition-opacity duration-300 opacity-100">Loans</span>
- )}
+ <span className={`ml-2 transition-all duration-300 overflow-hidden whitespace-nowrap ${isSidebarCollapsed ? 'w-0 opacity-0' : 'w-auto opacity-100'}`}>
+ Loans
+ </span>
</Link>
<Link
href="/goals"
className={`
- flex items-center p-2 rounded-md transition-all duration-200
+ flex items-center p-2 rounded-md transition-all duration-200 overflow-hidden
${pathname === '/goals'
? 'bg-primary/10 text-primary font-medium'
: 'hover:bg-muted text-foreground/80 hover:text-foreground'
@@ -266,14 +267,14 @@ export default function MainLayout({
title="Goals"
>
<TargetIcon size={18} className={`transition-transform duration-300 ${pathname === '/goals' ? 'scale-110' : ''}`} />
- {!isSidebarCollapsed && (
- <span className="ml-2 transition-opacity duration-300 opacity-100">Goals</span>
- )}
+ <span className={`ml-2 transition-all duration-300 overflow-hidden whitespace-nowrap ${isSidebarCollapsed ? 'w-0 opacity-0' : 'w-auto opacity-100'}`}>
+ Goals
+ </span>
</Link>
<Link
href="/settings"
className={`
- flex items-center p-2 rounded-md transition-all duration-200
+ flex items-center p-2 rounded-md transition-all duration-200 overflow-hidden
${pathname === '/settings'
? 'bg-primary/10 text-primary font-medium'
: 'hover:bg-muted text-foreground/80 hover:text-foreground'
@@ -283,15 +284,15 @@ export default function MainLayout({
title="Settings"
>
<SettingsIcon size={18} className={`transition-transform duration-300 ${pathname === '/settings' ? 'scale-110' : ''}`} />
- {!isSidebarCollapsed && (
- <span className="ml-2 transition-opacity duration-300 opacity-100">Settings</span>
- )}
+ <span className={`ml-2 transition-all duration-300 overflow-hidden whitespace-nowrap ${isSidebarCollapsed ? 'w-0 opacity-0' : 'w-auto opacity-100'}`}>
+ Settings
+ </span>
</Link>
</nav>
</aside>
{/* Page Content */}
- <main className="flex-1 p-4 md:p-8 overflow-auto transition-all duration-300">
+ <main className="flex-1 p-4 md:p-8 overflow-auto h-[calc(100vh-4rem)] transition-all duration-300">
<PageTransition>
{children}
</PageTransition>