Migrate saju service UI

This commit is contained in:
2026-05-28 03:16:42 +09:00
parent 86f020182a
commit d8dcf682c4
23 changed files with 1800 additions and 170 deletions

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Outlet } from 'react-router-dom';
import { Outlet, useLocation } from 'react-router-dom';
import Navbar from './components/Navbar';
import BottomNav from './components/BottomNav';
import PageHeader from './components/PageHeader';
@@ -9,19 +9,21 @@ import './App.css';
function App() {
const isMobile = useIsMobile();
const { pathname } = useLocation();
const isImmersiveRoute = pathname.startsWith('/saju');
return (
<div className="app-shell">
<Navbar />
<div className="app-content">
<main className="site-main">
<PageHeader />
<div className={`app-shell${isImmersiveRoute ? ' app-shell--immersive' : ''}`}>
{!isImmersiveRoute && <Navbar />}
<div className={`app-content${isImmersiveRoute ? ' app-content--immersive' : ''}`}>
<main className={`site-main${isImmersiveRoute ? ' site-main--immersive' : ''}`}>
{!isImmersiveRoute && <PageHeader />}
<React.Suspense fallback={<div className="suspend-loading"><Loading /></div>}>
<Outlet />
</React.Suspense>
</main>
</div>
{isMobile && <BottomNav />}
{isMobile && !isImmersiveRoute && <BottomNav />}
</div>
);
}