Shinhati2023 commited on
Commit
fc2d620
·
verified ·
1 Parent(s): 0e0dd73

Create layouts/MainLayout/MainLayout.js

Browse files
Files changed (1) hide show
  1. layouts/MainLayout/MainLayout.js +40 -0
layouts/MainLayout/MainLayout.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // layouts/MainLayout.js
2
+ import { useState } from 'react';
3
+ import Link from 'next/link';
4
+ // We need these components for the layout to work
5
+ import GlassDrawer from '../components/GlassDrawer';
6
+ import GlassDock from '../components/GlassDock';
7
+
8
+ export default function MainLayout({ children }) {
9
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
10
+ const [activeTab, setActiveTab] = useState('home');
11
+
12
+ return (
13
+ <div className="min-h-screen bg-[#F8FAFC]">
14
+ {/* 1. Top Navigation Bar */}
15
+ <div className="fixed top-0 left-0 right-0 z-40 flex justify-between items-center p-6 pt-safe-top pointer-events-none">
16
+ {/* Menu Button (Top Left) */}
17
+ <button
18
+ onClick={() => setIsMenuOpen(true)}
19
+ className="pointer-events-auto active:scale-90 transition-transform"
20
+ >
21
+ {/* Ensure this file exists in public/assets/ */}
22
+ <img
23
+ src="/assets/menu_button.png"
24
+ alt="Menu"
25
+ className="w-12 h-auto drop-shadow-md"
26
+ />
27
+ </button>
28
+ </div>
29
+
30
+ {/* 2. The Slide-out Menu */}
31
+ <GlassDrawer isOpen={isMenuOpen} setIsOpen={setIsMenuOpen} />
32
+
33
+ {/* 3. The Main Content (The Feed) */}
34
+ <main>{children}</main>
35
+
36
+ {/* 4. The Bottom Dock (Home/Plus/Profile) */}
37
+ <GlassDock activeTab={activeTab} setActiveTab={setActiveTab} />
38
+ </div>
39
+ );
40
+ }