From d6585c01c686c1c7fdf56779abc0f9ed16e1a1db Mon Sep 17 00:00:00 2001 From: jason Date: Wed, 11 Mar 2026 16:33:38 -0500 Subject: [PATCH 1/2] Code review and fixes --- client/src/App.jsx | 11 +++- client/src/components/AuditLog.jsx | 6 +- client/src/components/Dashboard.jsx | 4 +- client/src/components/EmployeeModal.jsx | 5 +- client/src/components/EmployeeNotes.jsx | 15 +++++ client/src/components/ExpirationTimeline.jsx | 4 +- client/src/components/NegateModal.jsx | 2 - client/src/components/ViolationForm.jsx | 4 +- server.js | 65 ++++++++++++++++++-- 9 files changed, 98 insertions(+), 18 deletions(-) diff --git a/client/src/App.jsx b/client/src/App.jsx index 2b02499..4c627af 100755 --- a/client/src/App.jsx +++ b/client/src/App.jsx @@ -6,6 +6,8 @@ import ToastProvider from './components/ToastProvider'; import './styles/mobile.css'; const REPO_URL = 'https://git.alwisp.com/jason/cpas'; +// TODO [CLEANUP #18]: DevTicker is a dev vanity widget that ships to prod. +// Either gate with `import.meta.env.DEV` or remove from the footer. const PROJECT_START = new Date('2026-03-06T11:33:32-06:00'); function elapsed(from) { @@ -101,7 +103,9 @@ const tabs = [ { id: 'violation', label: '+ New Violation' }, ]; -// Responsive utility hook +// TODO [MAJOR #8]: Move to src/hooks/useMediaQuery.js β€” this hook is duplicated +// verbatim in Dashboard.jsx. Also remove `matches` from the useEffect dep array +// (it changes inside the effect, which can cause a loop on strict-mode mount). function useMediaQuery(query) { const [matches, setMatches] = useState(false); useEffect(() => { @@ -237,6 +241,8 @@ export default function App() { return ( + {/* TODO [MAJOR #9]: Inline