Auth via paskia-js: profile() dialog, apiFetch/apiJson in admin components

- Banner-corner auth link is now a button opening paskia-js's profile()
  dialog (handles login too); auth re-probed when the dialog closes.
- Editor/analytics components call /_api via apiFetch/apiJson: an
  expired session opens the login dialog and the request retries.
- pagerite.js: task-checkbox toggle uses apiJson (explicit edit attempt,
  reverts on any failure incl. cancelled login); auth probes use
  fetchJson (never a dialog); page-cache/navigation stay on plain fetch.
- Add the paskia npm dependency; document the convention.
This commit is contained in:
2026-09-18 20:14:52 +00:00
parent e0c1b37c0b
commit 4bccf6855e
13 changed files with 80 additions and 60 deletions
+3 -3
View File
@@ -801,11 +801,11 @@ article h2 .edit-section {
opacity: 0.35;
}
/* Login/profile links injected by pagerite.js when Paskia SSO is in use.
/* Login/profile buttons injected by pagerite.js when Paskia SSO is in use.
They live inside the .editor-pens flex container in the banner's top-right
corner and inherit its reset; keep only their text-shadow tweak. */
.editor-pens a.login-link,
.editor-pens a.profile-link {
.editor-pens .login-link,
.editor-pens .profile-link {
text-shadow: 0 0 0.1em black;
}