From 3de0408e6f7a2ef03dad8882c34e7cb2968c5cae Mon Sep 17 00:00:00 2001 From: parsaaghayi Date: Fri, 12 Jun 2026 01:08:04 +0330 Subject: [PATCH] feat: core pages and components migrated to Next.js (Home, Shop, Product) --- frontend/application/app/ClientLayout.tsx | 29 +-- frontend/application/app/page.tsx | 171 ++++++++++++------ frontend/application/app/shop/[id]/page.tsx | 6 + frontend/application/app/shop/page.tsx | 9 + .../application/components/ArchivePage.tsx | 30 ++- .../components/FeaturedProducts.tsx | 9 +- frontend/application/components/Hero.tsx | 7 +- .../application/components/ProductPage.tsx | 41 +++-- .../application/components/SmartAdvisor.tsx | 45 +++-- .../application/components/VetGallery.tsx | 11 +- frontend/application/lib/store/uiStore.ts | 26 +++ 11 files changed, 246 insertions(+), 138 deletions(-) create mode 100644 frontend/application/app/shop/[id]/page.tsx create mode 100644 frontend/application/app/shop/page.tsx create mode 100644 frontend/application/lib/store/uiStore.ts diff --git a/frontend/application/app/ClientLayout.tsx b/frontend/application/app/ClientLayout.tsx index 0034071..cb9c825 100644 --- a/frontend/application/app/ClientLayout.tsx +++ b/frontend/application/app/ClientLayout.tsx @@ -12,12 +12,13 @@ import LoginModal from "../components/LoginModal"; import B2BPortal from "../components/B2BPortal"; import { useUserStore } from "../lib/store/userStore"; import { useSettingsStore } from "../lib/store/settingsStore"; +import { useUIStore } from "../lib/store/uiStore"; export default function ClientLayout({ children }: { children: React.ReactNode }) { - const [isCartOpen, setIsCartOpen] = useState(false); - const [showB2B, setShowB2B] = useState(false); - const [showLoginModal, setShowLoginModal] = useState(false); - const [advisorData, setAdvisorData] = useState(null); + const { + isCartOpen, isLoginModalOpen, isB2BPortalOpen, advisorData, + setCartOpen, setLoginModalOpen, setB2BPortalOpen, clearAdvisorData + } = useUIStore(); const pathname = usePathname(); const router = useRouter(); @@ -72,30 +73,30 @@ export default function ClientLayout({ children }: { children: React.ReactNode } onNavigate={handleNavigate} onShopNavigate={navigateToShop} currentView={currentView} - onCartOpen={() => setIsCartOpen(true)} + onCartOpen={() => setCartOpen(true)} onSearch={handleSearch} - onB2BOpen={() => setShowB2B(true)} + onB2BOpen={() => setB2BPortalOpen(true)} />
{children}
-