chore: groundwork for new design and features related to users and settings
This commit is contained in:
1 parent
65ced64568
commit
6dc47789ef
10 files changed
+265
-56
No files matched your search
+14
-1
@@ -90,6 +90,12 @@ Every state is drawn at desktop and mobile on the screen boards, with final copy
|
||||
| Users | `/users` | Invite: already a user | 409 | [users](screens/users.md) |
|
||||
| Users | `/users` | Invite: failed | 500, network or mail failure | [users](screens/users.md) |
|
||||
| Users | `/users` | Invite sent | 201: dialog closes, Pending row on top, toast | [users](screens/users.md) |
|
||||
| Users | `/users` | Cancel invite: confirm, sending, failed | "Cancel invite" on a Pending row; DELETE in flight; 500 or network | [users](screens/users.md) |
|
||||
| Users | `/users` | Cancel invite: done | 204: row removed, toast | [users](screens/users.md) |
|
||||
| Users | `/users` | Renew invite: sending | "Renew invite" on an Expired row; POST in flight | [users](screens/users.md) |
|
||||
| Users | `/users` | Renew invite: done | 200: row Pending on top, toast | [users](screens/users.md) |
|
||||
| Users | `/users` | Renew invite: failed | 500 or network: toast, row stays Expired | [users](screens/users.md) |
|
||||
| Settings | `/settings` | Default | Opened from the sidebar | [settings](screens/settings.md) |
|
||||
| Profile | `/profile` | Account menu | Account chip clicked | [profile](screens/profile.md) |
|
||||
| Profile | `/profile` | Loading | Opened by URL before /auth/me returns | [profile](screens/profile.md) |
|
||||
| Profile | `/profile` | Default, no display name | First visit | [profile](screens/profile.md) |
|
||||
@@ -131,6 +137,8 @@ Response bodies are plain text and are never shown. `useApi` throws an `ApiError
|
||||
| 500 | Save | "Save failed" + Retry. Changes are kept | SaveStatus |
|
||||
| 500 | Publish / unpublish | "Couldn't publish" / "Couldn't unpublish" + Retry | Toast |
|
||||
| 500 | Load users | "Couldn't load users. Check your connection and try again." + Try again | Alert |
|
||||
| 500 | Cancel invite | "Couldn't cancel the invite. Try again in a moment." The dialog stays open | Notice in dialog |
|
||||
| 500 | Renew invite | "Couldn't renew the invite. Try again in a moment." The row stays Expired | Toast |
|
||||
| 500 | Invite | "Couldn't send the invite. Try again in a moment." The address stays | Alert in dialog |
|
||||
| 500 | Save display name | "Couldn't save your display name. Your text is still here. Try again in a moment." | Alert in card |
|
||||
| 500 | Send reset link (profile) | "Couldn't send the link. Check your connection and try again." | Note |
|
||||
@@ -146,9 +154,14 @@ Added by the Users and Profile screens, none of which exist yet:
|
||||
|
||||
- `GET /v1/user/`: the users and their invites, newest first.
|
||||
- `POST /v1/user/invite`: sends an invitation email. 201, 409 for an existing account or a live pending invite.
|
||||
- `DELETE /v1/user/invite/:id`: cancels a Pending invite. 204. Owner only.
|
||||
- `POST /v1/user/invite/:id/renew`: replaces the code, resets the 3 days and created date, and resends the email. 200 with the invite. Owner only.
|
||||
- `GET /v1/user/` and `GET /v1/auth/me` gain a `role` ("owner" or "admin"); the list gains `email` on accepted users.
|
||||
- `POST /v1/user/invite` becomes owner only, and always creates an admin.
|
||||
- `GET /v1/settings`: `{ "version": "..." }`.
|
||||
- `PATCH /v1/user/me`: saves the display name. `GET /v1/auth/me` returns it.
|
||||
- `GET /v1/auth/invite?c=CODE`: looks up the invite on load, returns `{ email }`, 404 or 410. `POST /v1/auth/invite/accept` takes `{ code, username, password }` and returns 200 with the session cookie, 409 for a taken username, 404 or 410.
|
||||
|
||||
Still not supported, so shown disabled or omitted:
|
||||
|
||||
Renaming a title (shown read-only, with an explanation in Details), resending the verification email (the pending page explains how to start over), changing the email or username, listing or deleting individual images, removing users, revoking invites and any kind of role. Changing the password while logged in works only through the emailed reset link on the Profile page.
|
||||
Renaming a title (shown read-only, with an explanation in Details), resending the verification email (the pending page explains how to start over), changing the email or username, listing or deleting individual images, removing users, promoting or demoting anyone, and any role other than owner and admin. Changing the password while logged in works only through the emailed reset link on the Profile page.
|
||||
Reference in new issue
Block a user