feat: remove Administration workspace — keep only Verwaltung + Suche

- 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>
This commit is contained in:
Benjamin Sutter
2026-05-19 20:32:41 +02:00
parent d22e72f945
commit d15a13e485
378 changed files with 35441 additions and 42 deletions
@@ -0,0 +1,53 @@
import { Box, Card, Typography } from '@mui/material'
import type { SxProps, Theme } from '@mui/material'
import type { ReactNode } from 'react'
interface CompactCardProps {
title: string
meta?: string
leading?: ReactNode
trailing?: ReactNode
onClick?: () => void
selected?: boolean
sx?: SxProps<Theme>
}
export function CompactCard({ title, meta, leading, trailing, onClick, selected = false, sx }: CompactCardProps) {
return (
<Card
onClick={onClick}
sx={{
outline: selected ? '2px solid #1e3a5f' : 'none',
outlineOffset: -1,
bgcolor: selected ? 'rgba(30,58,95,0.03)' : 'background.paper',
cursor: onClick ? 'pointer' : 'default',
'&:hover': onClick ? { bgcolor: 'rgba(0,0,0,0.015)' } : {},
...sx,
}}
>
<Box
sx={{
display: 'flex',
alignItems: 'center',
gap: 1.5,
px: 2,
py: 1,
minHeight: 48,
}}
>
{leading && <Box sx={{ flexShrink: 0 }}>{leading}</Box>}
<Box sx={{ flex: 1, minWidth: 0 }}>
<Typography sx={{ fontWeight: 500, fontSize: '0.875rem', lineHeight: 1.3 }} noWrap>
{title}
</Typography>
{meta && (
<Typography sx={{ fontSize: '0.75rem', color: 'text.secondary', lineHeight: 1.3 }} noWrap>
{meta}
</Typography>
)}
</Box>
{trailing && <Box sx={{ flexShrink: 0 }}>{trailing}</Box>}
</Box>
</Card>
)
}