feat(fase-15): /collective/manage common items UI + e2e (15.3)
New subsection on /collective/manage:
- Table with rows of (name, uses, last used) + 3-way Hide/Normal/Boost
segmented control writing weight=-50/0/50, + Remove action that opens
a confirmation modal explaining "items already in lists are not
touched".
- Add common-item modal (admin only) — input + same 3-way control,
defaulting to Boost; useful for seeding the catalogue before lists
actually mention an item.
- Empty / filtered-empty states + client-side substring search.
- Members see the entire table with all buttons disabled and a tooltip
pointing to "only admins can manage common items". Guests don't see
the section at all.
Implementation notes:
- The data-weight-state attribute on each row gives the test suite a
stable handle for the current visual state (boost / normal / hide).
- The segmented control is a plain `inline-flex` of three buttons —
different visual language to the existing section-visibility toggles
(those are checkboxes), so there's no ambiguity at a glance.
- HIDE_WEIGHT / BOOST_WEIGHT constants make the magic numbers explicit;
the column itself has no check constraint so future tiers can land
without a schema change.
Playwright covers CI-01 (Ana boosts yogurt → it leads the dropdown ahead
of higher-use-count milk), CI-03 (Borja sees the table, all actions
disabled, "Add common item" hidden), CI-04 (Ana purges apples → row gone
from the table). CI-02 (exclude-on-list) lives in the same file but
exercises the /lists/[id] page and ships in the next commit.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -315,5 +315,29 @@
|
||||
"admin_server_section_state_unset": "No opinion",
|
||||
"admin_server_info": "Server info",
|
||||
"admin_error_forbidden": "You don't have access to this area.",
|
||||
"admin_error_unknown": "Something went wrong. Please try again."
|
||||
"admin_error_unknown": "Something went wrong. Please try again.",
|
||||
"common_items_title": "Common items",
|
||||
"common_items_blurb": "Promote items that always appear first in suggestions, or hide noise. Members see the catalogue but cannot edit it.",
|
||||
"common_items_search_placeholder": "Search items…",
|
||||
"common_items_empty": "No common items yet. Items added to lists will appear here.",
|
||||
"common_items_empty_filtered": "No items match your search.",
|
||||
"common_items_col_name": "Name",
|
||||
"common_items_col_weight": "Visibility",
|
||||
"common_items_col_uses": "Uses",
|
||||
"common_items_col_last_used": "Last used",
|
||||
"common_items_col_actions": "Actions",
|
||||
"common_items_state_hide": "Hide",
|
||||
"common_items_state_normal": "Normal",
|
||||
"common_items_state_boost": "Boost",
|
||||
"common_items_state_locked_tooltip": "Only admins can manage common items.",
|
||||
"common_items_purge_button": "Remove",
|
||||
"common_items_purge_modal_title": "Remove {name}?",
|
||||
"common_items_purge_modal_body": "This only removes the suggestion entry. Items already in lists are not affected.",
|
||||
"common_items_purge_confirm": "Remove",
|
||||
"common_items_add_button": "Add common item",
|
||||
"common_items_add_modal_title": "Add common item",
|
||||
"common_items_add_name_label": "Item name",
|
||||
"common_items_add_name_placeholder": "e.g. olive oil",
|
||||
"common_items_add_visibility_label": "Visibility",
|
||||
"common_items_add_save": "Add"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user