diff --git a/web/src/lib/components/collections/BoardView.svelte b/web/src/lib/components/collections/BoardView.svelte index e73cf0a1..d4fe0538 100644 --- a/web/src/lib/components/collections/BoardView.svelte +++ b/web/src/lib/components/collections/BoardView.svelte @@ -20,9 +20,16 @@ oncreate?: () => void; itemProgress?: Record; progressLabel?: string; + /** + * canEdit gates drag-to-reorder, drag-to-status-change, column + * reordering, and the archive-column button. See ListView.svelte + * for the rationale (zone-level gate; per-item is a follow-up). + * Default true preserves behavior in callers that don't pass it. + */ + canEdit?: boolean; } - let { items, collection, wsSlug = '', groupField = 'status', focusedItemId = null, onStatusChange, onReorder, onArchiveColumn, onGroupReorder, oncreate, itemProgress, progressLabel = 'tasks' }: Props = $props(); + let { items, collection, wsSlug = '', groupField = 'status', focusedItemId = null, onStatusChange, onReorder, onArchiveColumn, onGroupReorder, oncreate, itemProgress, progressLabel = 'tasks', canEdit = true }: Props = $props(); let confirmArchiveColumn = $state(null); let isMobile = $state(false); @@ -221,17 +228,19 @@