From 67912dc78d44123f68d64c028f3602b364230e0e Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 9 Mar 2026 22:14:51 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20App.jsx=20=E2=80=94=20dynamic=20kennel?= =?UTF-8?q?=20name=20in=20header,=20Settings=20nav=20link,=20useSettings?= =?UTF-8?q?=20hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/App.jsx | 111 ++++++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 51 deletions(-) diff --git a/client/src/App.jsx b/client/src/App.jsx index bddf6bc..729ff39 100644 --- a/client/src/App.jsx +++ b/client/src/App.jsx @@ -1,5 +1,5 @@ -import { BrowserRouter as Router, Routes, Route, Link} from 'react-router-dom' -import { Home, Users, Activity, Heart, FlaskConical } from 'lucide-react' +import { BrowserRouter as Router, Routes, Route, Link, useLocation } from 'react-router-dom' +import { Home, Users, Activity, Heart, FlaskConical, Settings } from 'lucide-react' import Dashboard from './pages/Dashboard' import DogList from './pages/DogList' import DogDetail from './pages/DogDetail' @@ -8,60 +8,69 @@ import LitterList from './pages/LitterList' import LitterDetail from './pages/LitterDetail' import BreedingCalendar from './pages/BreedingCalendar' import PairingSimulator from './pages/PairingSimulator' +import SettingsPage from './pages/SettingsPage' +import { useSettings } from './hooks/useSettings' import './App.css' +function NavLink({ to, icon: Icon, label }) { + const location = useLocation() + const isActive = location.pathname === to + return ( + + + {label} + + ) +} + +function AppInner() { + const { settings } = useSettings() + const kennelName = settings?.kennel_name || 'BREEDR' + + return ( +
+ + +
+ + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + +
+
+ ) +} + function App() { return ( -
- - -
- - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - -
-
+
) }