aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/App.tsx
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-15 16:23:06 +0900
committernsfisis <nsfisis@gmail.com>2026-02-15 16:23:06 +0900
commit805f30f2b26d325cd772efc3cb30cb50a8e4c226 (patch)
tree7458e90389a88dfc72d9d41f8494474ebaeed074 /src/client/App.tsx
parent6f40259a4eb0e4d35f1d56c160df3f06df251e42 (diff)
downloadkioku-805f30f2b26d325cd772efc3cb30cb50a8e4c226.tar.gz
kioku-805f30f2b26d325cd772efc3cb30cb50a8e4c226.tar.zst
kioku-805f30f2b26d325cd772efc3cb30cb50a8e4c226.zip
feat(ui): add version display in app footer
Inject package.json version via Vite's define config and display it in a persistent footer across all pages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/client/App.tsx')
-rw-r--r--src/client/App.tsx67
1 files changed, 36 insertions, 31 deletions
diff --git a/src/client/App.tsx b/src/client/App.tsx
index 69af60f..8da919d 100644
--- a/src/client/App.tsx
+++ b/src/client/App.tsx
@@ -12,37 +12,42 @@ import {
export function App() {
return (
- <>
+ <div className="min-h-screen flex flex-col">
<OfflineBanner />
- <Switch>
- <Route path="/">
- <ProtectedRoute>
- <HomePage />
- </ProtectedRoute>
- </Route>
- <Route path="/decks/:deckId/cards">
- <ProtectedRoute>
- <DeckCardsPage />
- </ProtectedRoute>
- </Route>
- <Route path="/decks/:deckId/study">
- <ProtectedRoute>
- <StudyPage />
- </ProtectedRoute>
- </Route>
- <Route path="/decks/:deckId">
- <ProtectedRoute>
- <DeckDetailPage />
- </ProtectedRoute>
- </Route>
- <Route path="/note-types">
- <ProtectedRoute>
- <NoteTypesPage />
- </ProtectedRoute>
- </Route>
- <Route path="/login" component={LoginPage} />
- <Route component={NotFoundPage} />
- </Switch>
- </>
+ <div className="flex-1">
+ <Switch>
+ <Route path="/">
+ <ProtectedRoute>
+ <HomePage />
+ </ProtectedRoute>
+ </Route>
+ <Route path="/decks/:deckId/cards">
+ <ProtectedRoute>
+ <DeckCardsPage />
+ </ProtectedRoute>
+ </Route>
+ <Route path="/decks/:deckId/study">
+ <ProtectedRoute>
+ <StudyPage />
+ </ProtectedRoute>
+ </Route>
+ <Route path="/decks/:deckId">
+ <ProtectedRoute>
+ <DeckDetailPage />
+ </ProtectedRoute>
+ </Route>
+ <Route path="/note-types">
+ <ProtectedRoute>
+ <NoteTypesPage />
+ </ProtectedRoute>
+ </Route>
+ <Route path="/login" component={LoginPage} />
+ <Route component={NotFoundPage} />
+ </Switch>
+ </div>
+ <footer className="py-2 text-center text-xs text-muted">
+ v{__APP_VERSION__}
+ </footer>
+ </div>
);
}