diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 4b68f1e3..eff176ed 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -34,7 +34,8 @@ "Bash(npm run *)", "Bash(npm test *)", "Bash(python3 *)", - "Bash(ls -lh aInventory-PROD-v*.zip)" + "Bash(ls -lh aInventory-PROD-v*.zip)", + "Bash(npm install *)" ] } } diff --git a/frontend/app/globals.css b/frontend/app/globals.css index 4012ce2f..9b604076 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -2,12 +2,12 @@ @tailwind components; @tailwind utilities; -@import "bootstrap-icons/font/bootstrap-icons.css"; - :root { /* slate-950 forced as default to prevent white flash */ --background: #020617; --foreground: #f1f5f9; + --primary: #3b82f6; + --primary-foreground: #ffffff; } body { diff --git a/frontend/components/AdminOverlay.tsx b/frontend/components/AdminOverlay.tsx index 5683c948..edc23b0a 100644 --- a/frontend/components/AdminOverlay.tsx +++ b/frontend/components/AdminOverlay.tsx @@ -1,8 +1,10 @@ 'use client'; +import { useState } from 'react'; import { X, Shield, UserPlus, User, Trash2, Tag, Plus, AlertTriangle, LogOut, Layers } from 'lucide-react'; import { inventoryApi } from '@/lib/api'; import { toast } from 'react-hot-toast'; +import CreateUserModal from './CreateUserModal'; interface AdminOverlayProps { show: boolean; @@ -13,19 +15,31 @@ interface AdminOverlayProps { onUpdateCategories: (categories: any[]) => void; } -export default function AdminOverlay({ - show, - onClose, - users, - categories, - onUpdateUsers, - onUpdateCategories +export default function AdminOverlay({ + show, + onClose, + users, + categories, + onUpdateUsers, + onUpdateCategories }: AdminOverlayProps) { + const [showCreateUserModal, setShowCreateUserModal] = useState(false); + if (!show) return null; + const handleUserCreated = () => { + inventoryApi.getUsers().then(onUpdateUsers); + }; + return ( -
Logout
Exit current session and return to identity check.
-