chore: updated reference design to app changes and fixes

This commit is contained in:
Florian Sylvain committed 2026-10-29 18:07:06 +01:00
1 parent 8cdd70bd81
commit c6d49db95e
25 files changed
+287 -104

No files matched your search

+42 -3
View File
@@ -42,7 +42,7 @@ Copy: Edit · Duplicate · Delete (disabled) · Built-in roles can't be deleted.
Trigger: User has Roles: view but not Roles: manage. New role is disabled with a tooltip.
Copy: You can see roles but not change them · Ask an owner or admin if a role needs to change. · You can see roles, but only people who manage roles can create or change them.
Copy: ReadOnlyBanner: You can see roles, but only people who manage roles can create or change them.
### Error (Available now)
@@ -268,7 +268,7 @@ Copy: Ownership transferred · Jonas Weber is now the owner. You are an Admin.
## 6 Role-aware shell
Route: Every page · API: GET /v1/me returns role and permission keys · Auth: Any
Route: Every page · API: GET /v1/auth/me returns role and permission keys · Auth: Any
Rule: hide whole areas the person can never use; disable, with a reason, an action that is blocked on something they can see; show read-only pages with a banner. Writer in these frames is the built-in Writer; Contributor shows "own" scope.
@@ -382,7 +382,7 @@ Copy: All categories · Articles · Media · Users and invites · Roles · API k
## 9 Profile: your role
Route: /profile · API: GET /v1/me · Auth: Any
Route: /profile · API: GET /v1/auth/me · Auth: Any
The person sees their own role and a read-only summary.
@@ -845,3 +845,42 @@ The board lists, and this file repeats, the tables below.
| 8 | A user with Roles: manage cannot edit their own role, even in a custom role. | Allow narrowing only. |
State count: 90.
## Read = Own: singular noun
The singular noun in Read = Own copy ("entries you created", "event") is derived from the type name. Irregular names ("People", "Series") need a per-type singular field. Drawn as a Later item.
## 2b Role editor: app sync
Presets: Read only sets Read: All and everything else None for every type. Write own sets Read: All, Create: On, Update: Own, Delete and Publish: None. Full content sets Read, Update, Delete and Publish: All and Create: On. A preset overwrites every type row, including custom rows, and every changed cell counts as an unsaved change.
"N unsaved changes" counts cells in the content grid plus general toggles that differ from the loaded role. Name and description count as one each. Setting a cell back to its loaded value removes it from the count.
The footer bar is pinned to the bottom. The content grid scrolls sideways inside its card below 720 px. There is no leave guard on the delete dialog: it holds no unsaved edits.
| State | Trigger | Copy |
|---|---|---|
| No Schema: view | The editor's role lacks schema.view, so custom types can't be listed. | Custom content types aren't listed · Your role doesn't include Schema: view, so only Articles is shown. The permissions of custom types stay as they are. |
| Reset to default: confirm | Built-in role, owner only. | Reset Writer to default? · Writer goes back to its built-in permissions. 5 members and the API keys they created are affected as soon as you save. This can't be undone. · Cancel · Reset to default (proposal) |
| Reset to default: done | | Role reset · Writer is back to its defaults. Save to apply it to 5 members. (proposal) |
| Review differences: name and description | Name and description appear as rows above the permission rows. | Name · Contributor · Event writer · Description · Writes posts · Writes events |
| Duplicate | /settings/roles/new?from=<id>. Name prefilled "<role> copy"; nothing saved until Save changes. | Copied from Contributor · The permissions are the same. Give the copy a name that fits, then save. (proposal) |
| role_not_found page | /settings/roles/:id for a deleted role. | That role no longer exists · It was deleted somewhere else, so we removed it from the list. · Back to Roles |
| invalid_role_name (400) | Server refuses a blank name. | Give the role a name. |
| Generic 400 | Any other 400 on save. | Couldn't save the role · Something in the form isn't valid. Check the highlighted fields. |
| Role created | 201 on create. | Role created · Contributor is ready. Assign it from Users. |
| Built-in role delete | Reached by link. | Delete Writer? · Built-in roles can't be deleted. |
| Change role: choice is now current | After the re-read the chosen role equals the member's current role. | Change role is disabled. |
### Preview sentence templates (beyond the three examples)
| Setting | Sentence |
|---|---|
| Read: None | No access to entries. |
| Read: Own | Can read only entries they created. |
| Read: All | Can read any entry. |
| Create: On | Can create entries. |
| Update: Own / All | Can edit only their own / any entry. |
| Delete: Own / All | Can delete only their own / any entry. |
| Publish: Own / All | Can publish only their own / any entry. |
| Mixed rows | Listed per type, after "All content types". |
Sentences join with commas and "and"; types that differ from the wildcard get their own line.