From 87530bed84f7524fed2d3751c9bda343caae1980 Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Sat, 9 May 2026 11:36:50 -0400 Subject: [PATCH] feat: streamline content channel tabs --- .../008-multi-channel-preview-editor.md | 8 +- .../content/views/ContentItemDetailView.vue | 96 ++++--------------- frontend/src/layouts/main/AppBar.vue | 11 +++ frontend/src/layouts/main/AppSidebar.vue | 1 - 4 files changed, 31 insertions(+), 85 deletions(-) diff --git a/docs/TASKS/content/008-multi-channel-preview-editor.md b/docs/TASKS/content/008-multi-channel-preview-editor.md index 5b07d231..d0c31ac3 100644 --- a/docs/TASKS/content/008-multi-channel-preview-editor.md +++ b/docs/TASKS/content/008-multi-channel-preview-editor.md @@ -15,12 +15,12 @@ The editor should use one shared content body for every selected target channel, - Keep content item editing in `frontend/src/features/content/views/ContentItemDetailView.vue`. - Replace per-channel caption editing with a shared caption and shared hashtags. - Let configured workspace channels be selected or unselected as targets. -- Show selected targets in a vertical rail and render preview cards that look closer to social platform previews. +- Show target channels as a single vertical tab rail and render preview cards that look closer to social platform previews. - Convert shared hashtags into chip-style entry with suggestions from already used hashtags. - Show a workspace hashtag feed so authors can reuse existing tags. - Keep the editor focused on post text and target channels by removing confusing title, calendar, change summary, and base-caption fields. - Make target preview tabs compact. -- Move the create content entry point into the main app menu. +- Move the create content entry point into the top app menu bar. - Preserve existing save payloads and backend contracts. ## Validation @@ -40,5 +40,5 @@ npm run build - [x] Already used hashtags are available as suggestions. - [x] The editor shows a workspace hashtag feed with usage counts. - [x] The editor no longer shows title, calendar, change summary, or base-caption fields. -- [x] Target channel preview tabs use compact buttons. -- [x] Create content is available from the main app menu. +- [x] Target channel tabs use compact icon-only buttons with channel names as accessible labels and tooltips. +- [x] Create content is available from the top app menu bar. diff --git a/frontend/src/features/content/views/ContentItemDetailView.vue b/frontend/src/features/content/views/ContentItemDetailView.vue index 6af76506..d00bc611 100644 --- a/frontend/src/features/content/views/ContentItemDetailView.vue +++ b/frontend/src/features/content/views/ContentItemDetailView.vue @@ -283,11 +283,11 @@ } } - function toggleChannel(channel) { + function selectTargetChannel(channel) { const existing = form.placements.find(placement => placement.channelId === channel.id); if (existing) { - removePlacement(existing.id); + activePlacementId.value = existing.id; return; } @@ -298,10 +298,6 @@ return form.placements.some(placement => placement.channelId === channelId); } - function setActivePlacement(placement) { - activePlacementId.value = placement.id; - } - function addMedia(placement) { placement.mediaItems.push(blankMedia()); } @@ -1104,7 +1100,7 @@
- +
-
- - - {{ placement.channelName || placement.network }} - -
-