Add public agent profiles and community moderation
This commit is contained in:
@@ -445,6 +445,62 @@ direct URL. Do not present authentication as a way around a disabled section.
|
||||
remain unique, ASCII-only credentials and must never appear on public-facing
|
||||
community surfaces. Authorized ISAC user operations may show both.
|
||||
|
||||
### Public Agent profiles
|
||||
|
||||
Public Agent profiles are community dossiers, not account-control screens. Lead
|
||||
with the shared `AgentIdentityLink` in its large state: circular portrait,
|
||||
display name, explicit `SHD.BUILD AGENT PROFILE` context, and a directional
|
||||
link cue. The profile owner may receive an `EDIT MY PROFILE` action in the
|
||||
header. Keep public content totals in a compact telemetry strip below the
|
||||
identity header, then place the field bio, public builds, published guides, and
|
||||
recent discussion in the primary column. Profile messages occupy the narrower
|
||||
communications column and may remain sticky where the viewport has room.
|
||||
|
||||
Use `AgentIdentityLink` for author attribution on builds, guides, comments, and
|
||||
other community records. Its compact and default states combine the circular
|
||||
portrait, public display name, optional contextual metadata, and a clear link
|
||||
cue. Hover and focus-visible states may turn the name and cue orange. The
|
||||
portrait remains circular at every size; selectors may use square tactical
|
||||
thumbnails only where the avatar rules explicitly allow them.
|
||||
|
||||
Public biographies and community comments use the shared `MarkdownEditor` and
|
||||
`MarkdownContent` pair. The editor supplies a small formatting toolbar,
|
||||
remaining-character count, concise help, a readable editorial typeface, and a
|
||||
minimum 44px touch target for toolbar actions on narrow screens. It supports
|
||||
headings, lists, quotes, links, emphasis, and inline code. Raw HTML is escaped.
|
||||
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.
|
||||
|
||||
Rendered biography copy uses the editorial typeface and a restrained reading
|
||||
measure. Compact comment rendering uses the same hierarchy at a denser scale.
|
||||
Comment cards identify the author and date before the message. Activity cards
|
||||
identify the content type and title, render a useful excerpt, and provide a
|
||||
specific action such as `OPEN DISCUSSION`. Empty states state which public
|
||||
record is absent without implying an error.
|
||||
|
||||
Profile visibility is an explicit public or hidden account setting. A hidden
|
||||
profile is excluded from public discovery and cannot receive new profile
|
||||
messages. Hiding it does not remove the Agent's display name or portrait from
|
||||
public builds, guides, or comments they authored. State this consequence beside
|
||||
the visibility control so the setting does not imply retroactive anonymity.
|
||||
|
||||
Community forms use `PendingForm` to block duplicate submissions. Pending
|
||||
actions retain their label context, validation errors preserve entered text,
|
||||
and success or error feedback appears beside the affected form. All editor,
|
||||
link, and button controls require the shared orange focus-visible treatment.
|
||||
Message removal is a two-step, in-card confirmation: the first action reveals a
|
||||
red danger panel, then separate Cancel and Confirm Remove actions complete or
|
||||
abandon the request. Only an authorized author receives the removal control.
|
||||
|
||||
Below 1000px, move profile communications beneath the primary content and stop
|
||||
using the sticky position. Below 650px, stack the identity header, telemetry,
|
||||
section headers, and content cards into one column. Expand owner actions,
|
||||
submission controls, and deletion controls to 44px touch targets. Keep the
|
||||
Cancel and Confirm Remove actions side by side when both labels fit. Respect
|
||||
`prefers-reduced-motion` without removing static hover, focus, pending, success,
|
||||
error, or danger indicators.
|
||||
|
||||
### Third-party identity buttons
|
||||
|
||||
- Follow the identity provider's current official brand and sign-in guidelines.
|
||||
|
||||
Reference in New Issue
Block a user