- ST-601/602: loading skeletons en error boundary - ST-603: Sonner toasts op alle CRUD-operaties - ST-604: DemoTooltip op uitgeschakelde knoppen - ST-605: KeyboardSensor dnd-kit, Escape sluit modals - ST-606: min-width banner < 1024px - ST-607: WCAG AA aria-labels en skip link - ST-608: rate limiting login (10/min) en registratie (5/uur) - ST-609: security integratietests cross-user toegang (7 tests) - ST-610: GitHub Actions CI/CD workflow - ST-611: README met quickstart, deployment en API-docs - ST-612: Lars-flow acceptatiechecklist - fix: settings toont gebruikersnaam i.p.v. interne id - fix: seed idempotent, testdata altijd gekoppeld aan demo-gebruiker Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
720 B
TypeScript
25 lines
720 B
TypeScript
'use client'
|
|
|
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'
|
|
|
|
interface DemoTooltipProps {
|
|
show: boolean
|
|
children: React.ReactNode
|
|
}
|
|
|
|
// 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}</>
|
|
|
|
return (
|
|
<TooltipProvider>
|
|
<Tooltip>
|
|
<TooltipTrigger render={<span className="inline-flex" />}>
|
|
{children}
|
|
</TooltipTrigger>
|
|
<TooltipContent>Niet beschikbaar in demo-modus</TooltipContent>
|
|
</Tooltip>
|
|
</TooltipProvider>
|
|
)
|
|
}
|