ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 50s
ci / ts / ts (packages + web) (push) Successful in 43s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 27s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m22s
- core: AuthSession keeps the access token in memory, refreshes it once for all parallel requests (single-flight) and retries them; refresh races between tabs are retried, reuse signs out; ApiError carries problem+json codes and field errors - web: TanStack Router with guards — guests go to /login, the bootstrap admin to /setup/admin, temporary passwords to /setup/password, admin pages by role - login, setup screens, Classic shell (top bar, role-based sidebar, empty player), settings: name, theme, language, password, devices - users admin: search, role filter, create with a one-time temporary password, reset, block, role change, delete as the policy allows; audit log for admins - ru/en strings for auth, admin and error codes; language and theme are saved in the profile Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
67 lines
2.2 KiB
JSON
67 lines
2.2 KiB
JSON
{
|
|
"users": {
|
|
"title": "Users",
|
|
"subtitle": "Create users and moderators, manage roles, reset passwords, block accounts",
|
|
"create": "Create user",
|
|
"search": "Name or username",
|
|
"all": "All",
|
|
"col_user": "User",
|
|
"col_role": "Role",
|
|
"col_status": "Status",
|
|
"col_last_login": "Last seen",
|
|
"status_active": "Active",
|
|
"status_blocked": "Blocked",
|
|
"status_must_change": "Must change password",
|
|
"never": "Never signed in",
|
|
"empty": "Nobody found",
|
|
"more": "Show more",
|
|
"actions": "Actions for {{username}}",
|
|
"reset_password": "Reset password",
|
|
"block": "Block",
|
|
"unblock": "Unblock",
|
|
"make_role": "Make {{role}}",
|
|
"delete": "Delete",
|
|
"delete_confirm": "Delete {{username}}? Their history and likes will be lost.",
|
|
"block_confirm": "Block {{username}}? All their sessions will end.",
|
|
"reset_confirm": "Reset {{username}}'s password? All their sessions will end.",
|
|
"confirm": "Confirm",
|
|
"you": "you"
|
|
},
|
|
"create": {
|
|
"title": "New user",
|
|
"username": "Username",
|
|
"username_hint": "Latin letters, digits, \".\", \"_\", \"-\"",
|
|
"display_name": "Name",
|
|
"role": "Role",
|
|
"password_note": "The server will generate a password and show it once.",
|
|
"submit": "Create"
|
|
},
|
|
"temp_password": {
|
|
"title": "Temporary password",
|
|
"text": "Give this password to {{username}}. It is shown only now; they will be asked to change it on sign-in.",
|
|
"done": "Done"
|
|
},
|
|
"audit": {
|
|
"title": "Audit log",
|
|
"subtitle": "Actions of administrators and moderators",
|
|
"col_when": "When",
|
|
"col_who": "Who",
|
|
"col_action": "Action",
|
|
"col_details": "Details",
|
|
"system": "System",
|
|
"empty": "No entries yet",
|
|
"more": "Show more",
|
|
"actions": {
|
|
"user.bootstrap_create": "Initial administrator created",
|
|
"user.bootstrap_credentials": "Administrator credentials set",
|
|
"user.create": "User created",
|
|
"user.rename": "Name changed",
|
|
"user.role_change": "Role changed",
|
|
"user.block": "User blocked",
|
|
"user.unblock": "User unblocked",
|
|
"user.password_reset": "Password reset",
|
|
"user.delete": "User deleted"
|
|
}
|
|
}
|
|
}
|