feat(16.3-02): tracer — API tokens card on My account with show-once create

Wire ApiTokensPanel after the profile form, add the two-step create dialog,
phrase keys, smoke tracer, and rebuilt boardwalk dist.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-11 02:02:44 +02:00
parent 3f9d3b4f11
commit 5a6a190e7f
14 changed files with 1407 additions and 24 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -7,8 +7,8 @@
<meta name="summer-admin-base" content="__SUMMER_ADMIN_BASE__" />
<link rel="icon" href="./favicon.ico" sizes="48x48" />
<title>SummerCMS</title>
<script type="module" crossorigin src="./assets/index-Bqh6wnN4.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-DhIJo93I.css">
<script type="module" crossorigin src="./assets/index-DlYKDHwm.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-d9w3cFkl.css">
</head>
<body>
<div id="app"></div>

View File

@@ -232,18 +232,74 @@ permissioneditor:
empty: No permissions are defined yet.
other: Other
api_tokens:
section: API tokens
section_comment: Tokens let agents and integrations call the admin API as you, limited to the scopes you choose. Treat a token like a password.
create: Create token
create_submit: Create token
creating: Creating…
done: Done, hide token
empty_title: No API tokens yet
empty_body: Create a token to let an agent or integration call the admin API as you.
load_failed: The tokens could not be loaded. Refresh the page to try again.
scopes_failed: The scopes could not be loaded. Close this window and try again.
create_failed: The token could not be created. Please try again.
revoke_failed: The token could not be revoked. Please try again.
gone: This token no longer exists. The list has been refreshed.
copy_failed: 'Could not copy automatically. The token is selected: press Ctrl+C (Cmd+C on a Mac) to copy it.'
revoke: Revoke token
revoke_named: 'Revoke token: :name'
revoke_confirm: Revoke the token “:name”? Apps and agents using it lose access at once. This cannot be undone.
revoke_submit: Revoke token
revoked: Token revoked
close_uncopied_confirm: Close without copying? You won't be able to see this token again.
close_uncopied_submit: Close and hide token
create_title: New API token
create_description: Pick a name, an expiry and the scopes this token may use. It never gets more access than your own account.
name: Name
name_placeholder: e.g. Blog agent
name_comment: Helps you recognise the token in the list.
name_required: Enter a name for the token.
name_too_long: The name may have at most 100 characters.
expires: Expiration
expires_30: 30 days
expires_90: 90 days
expires_365: 365 days
expires_never: Never
expires_on: Expires on :date.
expires_never_note: This token never expires. Revoke it when you no longer need it.
expires_invalid: Choose a valid expiry.
scopes: Scopes
scopes_required: Choose at least one scope.
scope_all: Full access
scope_all_description: Everything you can do in the admin. Your account settings and tokens still need a signed-in session.
scope_admin_read: Read-only, whole admin
scope_admin_read_description: View everything you can see in the admin, without making changes.
name_required: Enter a name for the token.
name_too_long: The name may have at most 100 characters.
expires_invalid: Choose a valid expiry.
scopes_required: Choose at least one scope.
scope_unavailable: The scope :name is not available to you.
read_only: Read-only
scope_all_includes: Full access already includes every other scope.
created_title: Copy your new token
created_notice: This is the only time the token is shown. Copy it now and store it somewhere safe. If you lose it, revoke it and create a new one.
token_label: New token
copy: Copy token
copied: Copied
copied_announce: Token copied to the clipboard.
create_cancel: Discard token
show_revoked: Show revoked tokens
created_at: Created :date
last_used: Last used :date
never_used: Never used
expires_at: Expires :date
expired_at: Expired :date
no_expiry: No expiry
revoked_at: Revoked :date
state_expired: Expired
state_revoked: Revoked
unknown_scope: ':name (unknown)'
unknown_scope_hint: This scope is no longer registered and grants nothing.
hint: Token ending in :last4
myaccount:
menu_label: My account
menu_description: Edit your name, email, subtitle and password.
menu_description: Edit your name, email, subtitle and password, and manage your API tokens.
profile: Profile
login: Login
first_name: First name

View File

@@ -254,18 +254,74 @@ permissioneditor:
empty: Nie zdefiniowano jeszcze żadnych uprawnień.
other: Inne
api_tokens:
section: Tokeny API
section_comment: Tokeny pozwalają agentom i integracjom wywoływać API panelu w Twoim imieniu, w granicach wybranych zakresów. Traktuj token jak hasło.
create: Utwórz token
create_submit: Utwórz token
creating: Tworzenie…
done: Gotowe, ukryj token
empty_title: Nie masz jeszcze tokenów API
empty_body: Utwórz token, aby agent lub integracja mogły wywoływać API panelu w Twoim imieniu.
load_failed: Nie udało się wczytać tokenów. Odśwież stronę, aby spróbować ponownie.
scopes_failed: Nie udało się wczytać zakresów. Zamknij to okno i spróbuj ponownie.
create_failed: Nie udało się utworzyć tokenu. Spróbuj ponownie.
revoke_failed: Nie udało się unieważnić tokenu. Spróbuj ponownie.
gone: Ten token już nie istnieje. Lista została odświeżona.
copy_failed: 'Nie udało się skopiować automatycznie. Token jest zaznaczony: naciśnij Ctrl+C (Cmd+C na Macu), aby go skopiować.'
revoke: Unieważnij token
revoke_named: 'Unieważnij token: :name'
revoke_confirm: Unieważnić token „:name”? Aplikacje i agenci, którzy go używają, natychmiast stracą dostęp. Tej operacji nie można cofnąć.
revoke_submit: Unieważnij token
revoked: Unieważniono token
close_uncopied_confirm: Zamknąć bez kopiowania? Tego tokenu nie będzie można już zobaczyć.
close_uncopied_submit: Zamknij i ukryj token
create_title: Nowy token API
create_description: Wybierz nazwę, termin ważności i zakresy tokenu. Token nigdy nie ma szerszego dostępu niż Twoje konto.
name: Nazwa
name_placeholder: np. Agent bloga
name_comment: Pomoże rozpoznać token na liście.
name_required: Podaj nazwę tokenu.
name_too_long: Nazwa może mieć najwyżej 100 znaków.
expires: Ważność
expires_30: 30 dni
expires_90: 90 dni
expires_365: 365 dni
expires_never: Bez terminu
expires_on: Wygasa :date.
expires_never_note: Ten token nie wygasa. Unieważnij go, gdy przestanie być potrzebny.
expires_invalid: Wybierz poprawny termin ważności.
scopes: Zakresy
scopes_required: Wybierz co najmniej jeden zakres.
scope_all: Pełny dostęp
scope_all_description: Wszystko, co możesz zrobić w panelu. Ustawienia konta i tokeny nadal wymagają zalogowania.
scope_admin_read: Tylko odczyt, cały panel
scope_admin_read_description: Podgląd wszystkiego, co widzisz w panelu, bez wprowadzania zmian.
name_required: Podaj nazwę tokenu.
name_too_long: Nazwa może mieć najwyżej 100 znaków.
expires_invalid: Wybierz poprawny termin ważności.
scopes_required: Wybierz co najmniej jeden zakres.
scope_unavailable: Zakres :name nie jest dla Ciebie dostępny.
read_only: Tylko odczyt
scope_all_includes: Pełny dostęp obejmuje wszystkie pozostałe zakresy.
created_title: Skopiuj nowy token
created_notice: Token jest widoczny tylko teraz. Skopiuj go i przechowuj w bezpiecznym miejscu. Jeśli go zgubisz, unieważnij go i utwórz nowy.
token_label: Nowy token
copy: Kopiuj token
copied: Skopiowano
copied_announce: Skopiowano token do schowka.
create_cancel: Odrzuć token
show_revoked: Pokaż unieważnione tokeny
created_at: Utworzono :date
last_used: Ostatnio użyto :date
never_used: Nieużywany
expires_at: Wygasa :date
expired_at: Wygasł :date
no_expiry: Bez terminu ważności
revoked_at: Unieważniono :date
state_expired: Wygasły
state_revoked: Unieważniony
unknown_scope: ':name (nieznany)'
unknown_scope_hint: Ten zakres nie jest już zarejestrowany i nic nie przyznaje.
hint: Token kończący się na :last4
myaccount:
menu_label: Moje konto
menu_description: Zmień imię, nazwisko, e-mail, podtytuł i hasło.
menu_description: Zmień imię, nazwisko, e-mail, podtytuł i hasło oraz zarządzaj tokenami API.
profile: Profil
login: Login
first_name: Imię