Improve moderation controls and term management
This commit is contained in:
+30
-9
@@ -362,15 +362,23 @@ targets and keep status text within the viewport. Reduce the radar sweep and
|
||||
other ambient motion under `prefers-reduced-motion`; retain the static rings,
|
||||
nodes, and labels.
|
||||
|
||||
ISAC Site Controls use three connected command panels: Launch Gate, Account
|
||||
Creation, and Public Sections. Use `SegmentedChoice` for each finite state.
|
||||
Display the pending-change count outside the panels and require a confirmation
|
||||
modal that lists every changed setting as previous state, arrow, and proposed
|
||||
state. A successful save closes the modal and refreshes the network-state
|
||||
summary. Keep a `PREVIEW PAGE` link in the command toolbar so authenticated
|
||||
operators can inspect the promotional page without ending their session.
|
||||
Operators need text for enabled, disabled, coming-soon, and public states; color
|
||||
supports those labels.
|
||||
ISAC Site Controls use collapsible command panels for Launch Gate, Account
|
||||
Creation, Public Sections, moderation policy groups, thresholds, and the term
|
||||
registry. Build these panels with `CollapsibleSection`. The disclosure button
|
||||
must expose `aria-expanded` and `aria-controls`, retain its title and textual
|
||||
status while closed, show a focus-visible outline, and provide at least a
|
||||
44-pixel touch target. Keep panel content in the document and hide it while
|
||||
closed so draft form state survives expansion changes. Disable motion under
|
||||
`prefers-reduced-motion`.
|
||||
|
||||
Each command panel owns its save action, validation feedback, pending state,
|
||||
and success notice. Do not place a page-wide review or save banner between
|
||||
panels. Disable a panel's save button until that panel differs from saved
|
||||
state. Saving one panel must update only its fields, retain the panel's open
|
||||
state, and leave unsaved drafts in other panels unchanged. Keep `PREVIEW PAGE`
|
||||
inside the Launch Gate save row so authenticated operators can inspect the
|
||||
promotional page without ending their session. Operators need text for enabled,
|
||||
disabled, coming-soon, and public states; color supports those labels.
|
||||
|
||||
The Launch Gate controls signed-out entry to the application. Public Section
|
||||
controls apply to everyone. When an operator disables News, Database, Builds,
|
||||
@@ -489,6 +497,19 @@ public. Flagged custom avatars use the default avatar publicly until approval.
|
||||
Community Oversight shows automated evidence and Agent reports in one pending
|
||||
queue, but labels their sources separately. Human approval, rejection, removal,
|
||||
and report dismissal require a reason and confirmation.
|
||||
|
||||
The Site Controls term registry supports single-rule editing and an inline bulk
|
||||
editor. The bulk editor accepts pasted lists, applies one effect and scope set
|
||||
to the batch, previews the unique-entry count, and states the 250-rule limit.
|
||||
Keep it inline because operators need the registry for context. Show exact-word
|
||||
behavior beside the textarea, preserve pasted values after validation errors,
|
||||
and clear the textarea while keeping the editor open after a successful import.
|
||||
Search the registry on the server across term text, normalized text, rule type,
|
||||
match mode, and operational note. Use the shared pagination rail with
|
||||
namespaced URL parameters and 25 rows by default. Search applies before
|
||||
pagination. Distinguish an empty registry from a search with no matches. The
|
||||
registry toolbar, editors, search, and pagination stay inside the term
|
||||
disclosure.
|
||||
Only HTTP and HTTPS links are active; rendered links open separately with UGC,
|
||||
nofollow, and opener-isolation attributes. `MarkdownContent` must receive HTML
|
||||
from the server renderer, never raw user input or client-rendered Markdown.
|
||||
|
||||
Reference in New Issue
Block a user