diff --git a/client/src/App.tsx b/client/src/App.tsx
index fcec051..f5dc5d1 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -12,6 +12,7 @@ import ChartReview from '@/pages/ChartReview';
import WellVisit from '@/pages/WellVisit';
import VaxSchedule from '@/pages/VaxSchedule';
import Catchup from '@/pages/Catchup';
+import Settings from '@/pages/Settings';
const queryClient = new QueryClient({
defaultOptions: { queries: { staleTime: 30_000, retry: 1 } },
@@ -55,6 +56,7 @@ export default function App() {
{body}
} + {requirePassword && ( + setPassword(e.target.value)} + placeholder={passwordPlaceholder} + className="w-full rounded-md border border-input bg-background px-3 py-2 text-sm" + onKeyDown={(e) => { + if (e.key === 'Enter' && !confirmDisabled) onConfirm(password); + }} + /> + )} ++ Each code can be used once if you lose access to your authenticator. They will not be shown again. +
+
+ {codes.join('\n')}
+
+ + Status:{' '} + + {enabled ? '✅ Enabled' : '❌ Not enabled'} + +
+ + {!enabled && phase === 'idle' && ( + + )} + + {enabled && phase === 'idle' && ( +Scan this QR code with your authenticator app:
+
+ Or enter manually: {qr.secret}
+
+ Devices where you are currently logged in. Revoke any session to immediately log that device out. +
+ + + {isLoading &&+ Account security, integrations, and personal templates. More sub-sections port over in follow-up commits. +
++ Your password and two-factor authentication are managed by your identity provider. +
+