d15a13e485
- Delete all ops page components (ReviewQueue, AIMonitoring, Governance, SourceMonitoring, ActivityTimeline, SignalPipeline) - Remove OPERATIONS workspace from AppShell config, nav order, path detection - Remove all /ops/* routes from App.tsx - Remove WorkspaceType.OPERATIONS from allowedWorkspaces in authService, sessionStore, permissions - Keep MarketIntelligence page (already moved to /supply/market-intelligence) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { useState } from 'react'
|
|
import { Badge, IconButton, Popover, Typography } from '@mui/material'
|
|
import { Bell } from 'lucide-react'
|
|
|
|
export function NotificationButton() {
|
|
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
|
|
|
|
function handleOpen(e: React.MouseEvent<HTMLElement>) {
|
|
setAnchorEl(e.currentTarget)
|
|
}
|
|
|
|
function handleClose() {
|
|
setAnchorEl(null)
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<IconButton size="small" sx={{ color: '#64748b' }} onClick={handleOpen}>
|
|
<Badge badgeContent={0} color="error">
|
|
<Bell size={20} />
|
|
</Badge>
|
|
</IconButton>
|
|
|
|
<Popover
|
|
open={!!anchorEl}
|
|
anchorEl={anchorEl}
|
|
onClose={handleClose}
|
|
anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
|
|
transformOrigin={{ vertical: 'top', horizontal: 'right' }}
|
|
slotProps={{ paper: { sx: { width: 280, p: 2 } } }}
|
|
>
|
|
<Typography variant="subtitle2" sx={{ mb: 1 }}>Benachrichtigungen</Typography>
|
|
<Typography variant="caption" sx={{ color: 'text.secondary' }}>
|
|
Keine neuen Benachrichtigungen
|
|
</Typography>
|
|
</Popover>
|
|
</>
|
|
)
|
|
}
|