From 29a5c8465170771848b5882b2c71ff7a5d0da03a Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Fri, 13 Feb 2026 13:59:18 +0100 Subject: [PATCH 1/8] Fix footer floating mid-page on short content pages Co-Authored-By: Claude Opus 4.6 --- ...-tracker-36wg--make-footer-stick-to-bottom-of-viewport.md | 5 +++-- frontend/src/components/Layout.tsx | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.beans/nuzlocke-tracker-36wg--make-footer-stick-to-bottom-of-viewport.md b/.beans/nuzlocke-tracker-36wg--make-footer-stick-to-bottom-of-viewport.md index 2f2af95..d3b937d 100644 --- a/.beans/nuzlocke-tracker-36wg--make-footer-stick-to-bottom-of-viewport.md +++ b/.beans/nuzlocke-tracker-36wg--make-footer-stick-to-bottom-of-viewport.md @@ -1,10 +1,11 @@ --- # nuzlocke-tracker-36wg title: Make footer stick to bottom of viewport -status: todo +status: in-progress type: bug +priority: normal created_at: 2026-02-13T07:47:48Z -updated_at: 2026-02-13T07:47:48Z +updated_at: 2026-02-13T12:51:48Z --- On pages with little content, the footer appears right after the content instead of staying at the bottom of the viewport. The footer should always be at the bottom of the browser window, pushing down when there's enough content but not floating in the middle of the page when content is short (sticky footer pattern). \ No newline at end of file diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx index 0dfa06d..c4967e3 100644 --- a/frontend/src/components/Layout.tsx +++ b/frontend/src/components/Layout.tsx @@ -5,7 +5,7 @@ export function Layout() { const [menuOpen, setMenuOpen] = useState(false) return ( -
+
-
+
+ {/* Naming scheme */} +
+
+

+ Naming Scheme +

+

+ Get nickname suggestions from a themed word list when catching Pokemon. Applied to all legs. +

+
+
+ +
+
+
+
+
Naming Scheme
+
+ {namingScheme + ? namingScheme.charAt(0).toUpperCase() + namingScheme.slice(1) + : 'None'} +
+
diff --git a/frontend/src/pages/RunEncounters.tsx b/frontend/src/pages/RunEncounters.tsx index dda4cba..1585129 100644 --- a/frontend/src/pages/RunEncounters.tsx +++ b/frontend/src/pages/RunEncounters.tsx @@ -1437,6 +1437,7 @@ export function RunEncounters() { gameId={run!.gameId} runId={runIdNum} namingScheme={run!.namingScheme} + isGenlocke={!!run!.genlocke} existing={editingEncounter ?? undefined} dupedPokemonIds={dupedPokemonIds} retiredPokemonIds={retiredPokemonIds} diff --git a/frontend/src/types/game.ts b/frontend/src/types/game.ts index eb5ae41..7c4d6d5 100644 --- a/frontend/src/types/game.ts +++ b/frontend/src/types/game.ts @@ -230,6 +230,7 @@ export interface Genlocke { status: 'active' | 'completed' | 'failed' genlockeRules: GenlockeRules nuzlockeRules: NuzlockeRules + namingScheme: string | null createdAt: string legs: GenlockeLeg[] } @@ -239,6 +240,7 @@ export interface CreateGenlockeInput { gameIds: number[] genlockeRules: GenlockeRules nuzlockeRules: NuzlockeRules + namingScheme?: string | null } // Genlocke list / detail types @@ -283,6 +285,7 @@ export interface GenlockeDetail { status: 'active' | 'completed' | 'failed' genlockeRules: GenlockeRules nuzlockeRules: NuzlockeRules + namingScheme: string | null createdAt: string legs: GenlockeLegDetail[] stats: GenlockeStats -- 2.49.1