feat: F024 global AI assistant — contextual decision intelligence drawer

Wires the existing "AI Assistent" button in the TopBar and adds a 420px
slide-in drawer with context-aware suggestions, message thread, loading
animation, and action cards requiring manual confirmation. Template-based
mock service returns German-language answers keyed by route + question
keywords — no real LLM calls, no invented facts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Sutter
2026-05-17 13:27:33 +02:00
parent 71f4b1eeb6
commit 30e840489d
13 changed files with 1222 additions and 0 deletions
@@ -0,0 +1,27 @@
import { Alert, Box, Button } from '@mui/material'
import { RefreshCw } from 'lucide-react'
interface Props {
error: string
onRetry?: () => void
}
export function AssistantErrorState({ error, onRetry }: Props) {
return (
<Box sx={{ px: 2, py: 1 }}>
<Alert
severity="error"
sx={{ '& .MuiAlert-message': { fontSize: '0.8rem' } }}
action={
onRetry ? (
<Button size="small" onClick={onRetry} startIcon={<RefreshCw size={12} />} sx={{ textTransform: 'none', fontSize: '0.75rem' }}>
Erneut
</Button>
) : undefined
}
>
{error}
</Alert>
</Box>
)
}