30e840489d
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>
28 lines
674 B
TypeScript
28 lines
674 B
TypeScript
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>
|
|
)
|
|
}
|