diff --git a/src/Pages/Home/Home.tsx b/src/Pages/Home/Home.tsx index e0d658f..9319c8b 100644 --- a/src/Pages/Home/Home.tsx +++ b/src/Pages/Home/Home.tsx @@ -49,7 +49,7 @@ const Home: FC = () => {
-
+
diff --git a/src/Pages/Home/components/Sidebar.tsx b/src/Pages/Home/components/Sidebar.tsx index 36639d8..187c172 100644 --- a/src/Pages/Home/components/Sidebar.tsx +++ b/src/Pages/Home/components/Sidebar.tsx @@ -1,4 +1,5 @@ import { type FC, useState, useEffect } from 'react' +import { Menu, CloseSquare } from 'iconsax-reactjs' interface Service { id: string; @@ -24,6 +25,7 @@ interface SidebarProps { const Sidebar: FC = ({ guides }) => { const [activeGuideId, setActiveGuideId] = useState('') + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false) useEffect(() => { const handleScroll = () => { @@ -80,37 +82,109 @@ const Sidebar: FC = ({ guides }) => { // تنظیم active state setActiveGuideId(guideId) + + // بستن منوی موبایل + setIsMobileMenuOpen(false) } } + const toggleMobileMenu = () => { + setIsMobileMenuOpen(!isMobileMenuOpen) + } + return ( -
-
- لیست محتوا + <> + {/* دسکتاپ Sidebar */} +
+
+ لیست محتوا +
+ +
+ {guides.length > 0 ? ( + guides.map((guide) => ( +
handleGuideClick(guide.id)} + > +
+ {guide.title} +
+
+ {guide.description} +
+
+ )) + ) : null} +
-
- {guides.length > 0 ? ( - guides.map((guide) => ( -
handleGuideClick(guide.id)} - > -
- {guide.title} -
-
- {guide.description} -
-
- )) - ) : null} + {/* موبایل Floating Button */} +
+
-
+ + {/* موبایل Drawer */} + {isMobileMenuOpen && ( +
+ {/* Backdrop */} +
+ + {/* Drawer */} +
+ {/* Header */} +
+

لیست محتوا

+ +
+ + {/* Content */} +
+ {guides.length > 0 ? ( + guides.map((guide) => ( +
handleGuideClick(guide.id)} + > +
+ {guide.title} +
+
+ {guide.description} +
+
+ )) + ) : ( +
+ محتوایی برای نمایش وجود ندارد +
+ )} +
+
+
+ )} + ) } diff --git a/src/index.css b/src/index.css index 9caad10..5175bbe 100644 --- a/src/index.css +++ b/src/index.css @@ -2,7 +2,6 @@ html { direction: rtl; - overflow: hidden; max-width: 100%; } @@ -12,10 +11,8 @@ body { padding: 0; width: 100%; direction: rtl; - overflow: hidden !important; background: #eceef6; font-weight: 300; - overflow: hidden; font-feature-settings: "lnum"; /* اطمینان از نمایش اعداد انگلیسی */ user-select: none; -webkit-user-select: none;