import React from 'react'; import { ThemeProvider, createTheme, CssBaseline, AppBar, Toolbar, Typography, Container, Box, Button, Chip } from '@mui/material'; import Dashboard from './Dashboard'; import RuleManager from './RuleManager'; import LoginDialog from './LoginDialog'; import { AuthProvider, useAuth } from './AuthContext'; // Gruvbox Dark color palette const gruvboxDark = { bg0: '#282828', // background bg1: '#3c3836', // lighter background (cards) bg2: '#504945', // selection / borders fg: '#ebdbb2', // foreground fg2: '#d5c4a1', // secondary text aqua: '#8ec07c', // primary accent orange: '#fe8019', // secondary accent red: '#fb4934', green: '#b8bb26', yellow: '#fabd2f', blue: '#83a598', purple: '#d3869b', }; const darkTheme = createTheme({ palette: { mode: 'dark', primary: { main: gruvboxDark.aqua, }, secondary: { main: gruvboxDark.orange, }, background: { default: gruvboxDark.bg0, paper: gruvboxDark.bg1, }, text: { primary: gruvboxDark.fg, secondary: gruvboxDark.fg2, }, divider: gruvboxDark.bg2, }, }); function AppContent() { const { user, loading, logout, isAuthenticated, isAdmin } = useAuth(); if (loading) { return ( Loading... ); } if (!isAuthenticated) { return ; } return ( Tischlerei Dashboard {isAdmin && ( )} {isAdmin && } ); } function App() { return ( ); } export default App;