MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-336

6.2.2 Design — saved-filter surfaces (`design/work-items/saved-filters.mock.html`: save + dirty state, dropdown, directory, visibility, delete warning, subscription editor)

Done
Description

Estimate: 40m · Depends on: 6.1.3

The design asset for every 6.2 surface. filter-builder.mock.html (6.1.3) designs ONLY the builder — saving/managing/sharing is undesigned (the design-gate NONE-exists case). Output: design/work-items/saved-filters.mock.html + PNG + a "Saved filters (Story 6.2)" section in design/work-items/design-notes.md. Render checklist + AA + dark parity. Mirrors: Jira's Save/Save-as split, its Filters directory columns, its starred-first menu.

Specify, panel by panel:

  • Save affordance + dirty state — where Save / Save as sit relative to the 6.1.3 builder panel; the applied-filter name chip in the toolbar; the dirty indicator on modification; the owner (Save + Save as) vs non-owner (Save as only) split; the save dialog (name, optional description, visibility control) incl. the duplicate-name error and the viewer's private-only state.
  • The filter dropdown — entry beside the builder affordance: starred first, then My filters / Project filters / Defaults groups, server-backed search, per-row star toggle + owner/visibility hints, the "View all filters" footer to the directory; empty states per group.
  • The filters directory — the project-level page (placement off the /issues surface; name the route in the notes): columns name / owner / visibility / stars / actions; search + pagination; row actions by permission (rename, edit details, visibility, change owner [admin], delete); built-in defaults listed read-only; empty + no-access states.
  • Visibility control + delete warning — the private/project control (with the one-line explanation of each, the 6.4.1 grammar); the delete confirm naming dependents ("1 subscription will be removed"; the 6.3 widget line reserved).
  • Subscription editor — per-filter subscribe: preset schedule (daily / weekdays / weekly + hour), the subscribed state, unsubscribe; where it mounts (dropdown row action + directory row action).
  • The "filter missing" widget state — the designed degraded card 6.3 renders when a referenced filter is gone (the verified Cloud gadget behaviour) — drawn here so 6.3 inherits it.

Acceptance criteria

  • The mockup + PNG + notes exist, composed from shipped primitives (Combobox, Modal, Pill, EmptyState, the 6.1.3 builder chrome) + token tiers; render checklist + AA + dark parity pass.
  • Panels cover: save dialog + dirty/ownership states, the dropdown (all groups + search + star), the directory (columns, actions-by-role, built-ins, empty/no-access), visibility control, delete-with-dependents warning, subscription editor, and the filter-missing widget state.
  • design-notes.md names the directory route, the dropdown grouping/order rule (starred → mine → project → defaults), the owner/non-owner save split, and records the two-visibility deviation + extension slots.
  • No improvised primitive; token needs recorded.

Context refs

  • design/work-items/filter-builder.mock.html + notes (6.1.3) — the surface this extends; filter.mock.html (2.5.9) + list.mock.html (the toolbar grammar)
  • design/projects/ 6.4.1 (the access-control + members-panel grammar to mirror for visibility + change-owner)
  • The verified Jira directory columns / starred-menu / Save-as facts in the Story 6.2 description
  • Findings #35/#54; the design-mockup render checklist
Status
Done
Type
Sub-task