From 04f6a60ee73aaf71c022152005e6ee4d0d4fa4af Mon Sep 17 00:00:00 2001 From: Paulo Castellano Date: Mon, 22 Jun 2026 17:08:29 -0300 Subject: [PATCH] fix(posts): clearer read-only composer for viewers Drop the 60% opacity / pointer-events lock on the editor's left column so the client sees the draft clearly and can still click an image to open the lightbox. Instead the composer renders read-only: the add-image tile, remove/drag controls and the formatting toolbar are hidden and the caption textarea is read-only, while the media click-to-preview stays active. --- .../posts/editor/PostEditorComposer.vue | 16 +++++++++++----- resources/js/pages/posts/Edit.vue | 7 ++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/resources/js/components/posts/editor/PostEditorComposer.vue b/resources/js/components/posts/editor/PostEditorComposer.vue index d26e6edb..f31492d8 100644 --- a/resources/js/components/posts/editor/PostEditorComposer.vue +++ b/resources/js/components/posts/editor/PostEditorComposer.vue @@ -46,9 +46,11 @@ const props = withDefaults( platformLimits: PlatformLimit[]; mediaIssues: Record; allowAiRegenerate?: boolean; + readOnly?: boolean; }>(), { allowAiRegenerate: true, + readOnly: false, }, ); @@ -186,6 +188,7 @@ const onMediaDragEnd = () => { const GRID_COLS = 4; const onMediaKeydown = async (event: KeyboardEvent, index: number) => { + if (props.readOnly) return; if (media.value.length < 2) return; if (! event.altKey) return; @@ -215,7 +218,7 @@ const canRegenerateWithAi = (item: MediaItem): boolean => props.allowAiRegenerat
-
+
props.allowAiRegenerat mediaIssues[item.id] ? '!border-rose-500' : '', ]" tabindex="0" - :draggable="media.length > 1" + :draggable="!readOnly && media.length > 1" @click="openPreview(item)" @dragstart="onMediaDragStart($event, index)" @dragover="onMediaDragOver($event, index)" @@ -289,7 +292,7 @@ const canRegenerateWithAi = (item: MediaItem): boolean => props.allowAiRegenerat @@ -306,6 +309,7 @@ const canRegenerateWithAi = (item: MediaItem): boolean => props.allowAiRegenerat
-
+
@@ -432,7 +437,8 @@ const canRegenerateWithAi = (item: MediaItem): boolean => props.allowAiRegenerat