Build [v1.4.0] - Audit Dashboard & LDAP Restoration

This commit is contained in:
Daniel Bedeleanu
2026-04-12 09:39:17 +03:00
parent 5cceba21f4
commit f3d861b1a2
23 changed files with 973 additions and 382 deletions

View File

@@ -28,6 +28,8 @@ import {
Smartphone,
CheckCircle2,
User,
ArrowDownCircle,
ArrowUpCircle,
Settings,
Lock,
Shield,
@@ -381,14 +383,14 @@ export default function Home() {
return (
<PageShell>
<div className="p-3 md:p-8 overflow-x-hidden w-full">
<div className="p-3 md:p-8 overflow-x-hidden w-full max-w-7xl mx-auto">
{/* Search datalist for types */}
<datalist id="existing-types">
{existingTypes.map(t => <option key={t} value={t} />)}
</datalist>
{/* Header */}
<header className="flex flex-col sm:flex-row justify-between sm:items-center gap-4 mb-6 w-full max-w-4xl mx-auto px-1">
<header className="flex flex-col sm:flex-row justify-between sm:items-center gap-4 mb-6 w-full px-1">
<div className="flex items-center gap-3">
<div className="p-1">
<img
@@ -445,22 +447,23 @@ export default function Home() {
</div>
</header>
<div className="max-w-4xl mx-auto w-full px-1 space-y-6">
<div className="w-full px-1 space-y-6">
{/* Mode Switcher */}
<div className="flex p-1 bg-slate-900/80 backdrop-blur-md rounded-2xl shadow-inner w-full">
{[
{ id: 'CHECK_IN', label: 'Check In' },
{ id: 'CHECK_OUT', label: 'Check Out' },
{ id: 'TRASH', label: 'Trash' }
{ id: 'CHECK_IN', label: 'Check in', icon: ArrowDownCircle },
{ id: 'CHECK_OUT', label: 'Check out', icon: ArrowUpCircle },
{ id: 'TRASH', label: 'Trash', icon: Trash2 }
].map((m) => (
<button
key={m.id}
onClick={() => setMode(m.id as any)}
className={cn(
"flex-1 py-3 rounded-xl text-sm font-black transition-all",
mode === m.id ? "bg-slate-800 text-primary shadow-lg" : "text-slate-500"
"flex-1 py-3 rounded-xl text-sm font-black transition-all flex items-center justify-center gap-2",
mode === m.id ? "bg-slate-800 text-primary shadow-lg" : "text-slate-500 hover:text-slate-300"
)}
>
<m.icon size={18} />
{m.label}
</button>
))}