3b4e893ca1
Die App läuft künftig nur noch lokal, daher ist Anmeldung nicht mehr nötig: Proxy-Middleware, Login-Seite, Session-Handling, Passkey/WebAuthn (inkl. DB-Tabelle tabletten_passkeys), Logout-Button und der Einstellungen-Tab (enthielt ausschließlich Passkey-Verwaltung) entfallen. Der eigenständig per CHECK_SECRET geschützte Cron-Endpoint /api/check sowie SMTP- und MongoDB-Auth (lib/mailService.ts, lib/mongodb.ts) sind davon unabhängig und bleiben unverändert. Nicht mehr benötigte Abhängigkeiten (@simplewebauthn/*, bcryptjs, jose) sowie die zugehörigen Env-Variablen (AUTH_USERS, AUTH_SECRET, TABLETTEN_RP_*) wurden aus package.json, compose.yml und docker-compose.yml gestrichen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
42 lines
1010 B
TypeScript
42 lines
1010 B
TypeScript
'use client';
|
||
|
||
import { useState } from 'react';
|
||
import packageJson from '@/package.json';
|
||
|
||
interface AppLayoutProps {
|
||
children: React.ReactNode;
|
||
}
|
||
|
||
export default function AppLayout({ children }: AppLayoutProps) {
|
||
const version = packageJson.version;
|
||
const [buildDate] = useState(() =>
|
||
process.env.NEXT_PUBLIC_BUILD_DATE || new Date().toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' })
|
||
);
|
||
|
||
return (
|
||
<div className="app-wrapper">
|
||
<div className="app-container">
|
||
|
||
{/* Seitentitel */}
|
||
<h1 className="app-title">Tabletten-Check</h1>
|
||
|
||
<div className="app-inner">
|
||
|
||
{/* Inhaltsbereich */}
|
||
<main className="app-main">
|
||
{children}
|
||
</main>
|
||
|
||
<footer className="app-footer">
|
||
<a href="mailto:rxf@gmx.de">
|
||
mailto:rxf@gmx.de
|
||
</a>
|
||
<div>Version {version} – {buildDate}</div>
|
||
</footer>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|