diff --git a/frontend/public/images/after.webp b/frontend/public/images/after.webp new file mode 100644 index 0000000..f06bf19 Binary files /dev/null and b/frontend/public/images/after.webp differ diff --git a/frontend/public/images/before.webp b/frontend/public/images/before.webp new file mode 100644 index 0000000..184e79b Binary files /dev/null and b/frontend/public/images/before.webp differ diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index dce1d9a..f7e4a50 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -16,6 +16,9 @@ import { ArticleDetail } from './pages/ArticleDetail'; import { FaqPage } from './pages/FaqPage'; import { ContactPage } from './pages/ContactPage'; import { SiteProvider, useSiteData } from './api'; +import { AdminProvider, useAdmin } from './admin/AdminContext'; +import { AdminBar } from './admin/AdminBar'; +import { AdminLoginPage } from './admin/AdminLoginPage'; function ScrollToTop() { const { pathname } = useLocation(); @@ -35,8 +38,9 @@ function AnimatedRoutes() { animate={{ opacity: 1 }} exit={{ opacity: 0 }} transition={{ duration: 0.28, ease: [0.23, 1, 0.32, 1] }}> - + + } /> } /> } /> } /> @@ -54,6 +58,22 @@ function AnimatedRoutes() { } +function AppChrome() { + const { pathname } = useLocation(); + const { isAuthenticated } = useAdmin(); + const isLoginPage = pathname === '/admin/login'; + + return ( + <> + {!isLoginPage &&
} + + {!isLoginPage &&