feat(shared): data-debug-id+label op display-componenten

This commit is contained in:
Scrum4Me Agent 2026-05-08 08:47:54 +02:00
parent 5df4ec95d4
commit e293785532
4 changed files with 27 additions and 13 deletions

View file

@ -24,5 +24,5 @@ export function AlertToast() {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [alert])
return null
return <span data-debug-id="alert-toast" data-debug-label="AlertToast — shared/alert-toast.tsx" hidden />
}

View file

@ -10,16 +10,18 @@ interface DemoTooltipProps {
// Wraps children with a "Niet beschikbaar in demo-modus" tooltip when show=true.
// Uses a span trigger so tooltip works on disabled elements.
export function DemoTooltip({ show, children }: DemoTooltipProps) {
if (!show) return <>{children}</>
if (!show) return <span data-debug-id="demo-tooltip" data-debug-label="DemoTooltip — shared/demo-tooltip.tsx">{children}</span>
return (
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<span className="inline-flex" />}>
{children}
</TooltipTrigger>
<TooltipContent>Niet beschikbaar in demo-modus</TooltipContent>
</Tooltip>
</TooltipProvider>
<span data-debug-id="demo-tooltip" data-debug-label="DemoTooltip — shared/demo-tooltip.tsx">
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={<span className="inline-flex" />}>
{children}
</TooltipTrigger>
<TooltipContent>Niet beschikbaar in demo-modus</TooltipContent>
</Tooltip>
</TooltipProvider>
</span>
)
}

View file

@ -3,7 +3,11 @@
// Shows a warning banner on screens narrower than 1024px.
export function MinWidthBanner() {
return (
<div className="lg:hidden bg-warning/10 border-b border-warning/30 px-4 py-2 text-center text-xs text-warning">
<div
data-debug-id="min-width-banner"
data-debug-label="MinWidthBanner — shared/min-width-banner.tsx"
className="lg:hidden bg-warning/10 border-b border-warning/30 px-4 py-2 text-center text-xs text-warning"
>
Scrum4Me is ontworpen voor schermen van minimaal 1024px breed. Sommige functies zijn mogelijk niet goed bruikbaar op dit scherm.
</div>
)

View file

@ -34,14 +34,22 @@ const TYPE_STYLES: Record<string, { bg: string; label: string; labelColor: strin
export function StoryLog({ logs, repoUrl }: StoryLogProps) {
if (logs.length === 0) {
return (
<p className="text-sm text-muted-foreground text-center py-4">
<p
data-debug-id="story-log"
data-debug-label="StoryLog — shared/story-log.tsx"
className="text-sm text-muted-foreground text-center py-4"
>
Nog geen activiteit. Gebruik de REST API om logs toe te voegen.
</p>
)
}
return (
<div className="space-y-3">
<div
data-debug-id="story-log"
data-debug-label="StoryLog — shared/story-log.tsx"
className="space-y-3"
>
{logs.map(log => {
const style = TYPE_STYLES[log.type] ?? TYPE_STYLES.IMPLEMENTATION_PLAN
const isTestResult = log.type === 'TEST_RESULT'