52bd51d09124
show admin beside log out for signed-in operators (v3.0.118)
- time
- 2026-09-29 20:27 UTC · 1 week ago
- machine
- Junes-MacBook-Pro.local
- agent
- gpt-6-sol
- session
- signed in admin link
- parent
- 8c1ff73fd409
↓ kepr-52bd51d0.tar.gzatlas at this save
files changed3 files
package.json+1 −1public/js/kepr.js+3 −1tests/navbar.test.ts+3 −1package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "kepr",3- "version": "3.0.117",3+ "version": "3.0.118",44 "private": true,55 "type": "module",66 "scripts": {public/js/kepr.js+3 −1
@@ -623,7 +623,9 @@623623 const button = element("button", "", "log out");624624 button.type = "submit";625625 form.append(token, button);626- link.replaceWith(form);626+ const admin = element("a", "", "admin");627+ admin.href = "/admin";628+ link.replaceWith(admin, form);627629 } catch (error) {628630 console.error("Could not check navbar sign-in state", error);629631 }tests/navbar.test.ts+3 −1
@@ -7,7 +7,7 @@77 script.indexOf("// Signed in, a repo page"),88 );99 10-test("navbar offers protected log out only after confirming a live session", async () => {10+test("navbar offers admin and protected log out only after confirming a live session", async () => {1111 for (const [cookie, status, logout] of [1212 ["", 200, false],1313 ["kepr_editor=1", 401, false],@@ -50,6 +50,8 @@5050 expect(nodes[0]?.action).toBe("/admin/sign-out");5151 expect(nodes[0]?.children).toEqual([token, nodes[1]]);5252 expect(nodes[1]?.textContent).toBe("log out");53+ expect(nodes.find((node) => node.tag === "a")?.href).toBe("/admin");54+ expect(nodes.find((node) => node.tag === "a")?.textContent).toBe("admin");5355 }5456 }5557 });