Add Kamon logo as favicon and brand mark; fix MTU and UI issues

- Kamon logo (crest ring around the ghost) as favicon.svg, 180 px
  apple-touch-icon.png and the brand lockup in sidebar and login page,
  with the katakana reading ゴーストワイヤー
- /favicon.ico redirects to /favicon.svg
- Client configs no longer set an MTU; each device picks its own, as
  pivpn does. Server MTU changes no longer require reissued configs.
- Fix "null" rendered on the dashboard, wrapping activity times, and show
  log lines as readable text instead of raw JSON

Claude-Session: https://claude.ai/code/session_01RAnLbyQZ5ZTA7KqwXP98nw
This commit is contained in:
Daniel Redetzke
2026-10-03 17:12:27 +03:00
parent 4793e8dfba
commit b394a6d5d9
6 changed files with 34 additions and 9 deletions
+7 -3
View File
@@ -39,8 +39,10 @@ a:hover { color: var(--link-hover); }
/* shell */
.shell { display: flex; flex-wrap: wrap; min-height: 100vh; }
.side { flex: 1 1 230px; background: var(--ink); color: #c9c9c3; padding: 20px 12px; display: flex; flex-direction: column; gap: 2px; }
.brand { display: flex; align-items: center; gap: 10px; padding: 4px 10px 18px; color: #fff; font-family: var(--mono); font-weight: 500; font-size: 16px; }
.mark { width: 22px; height: 22px; border-radius: 6px; background: var(--down); display: grid; place-items: center; color: #fff; }
.brand { display: flex; align-items: center; gap: 12px; padding: 4px 10px 18px; color: #fff; }
.brand svg { flex: none; }
.brand .wm { font-family: var(--mono); font-weight: 600; font-size: 16px; letter-spacing: 0.06em; line-height: 1.2; }
.brand .kana { font-family: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif; font-size: 10px; letter-spacing: 0.3em; color: #8d8e93; margin-top: 2px; }
.srv { display: flex; align-items: center; gap: 8px; margin: 0 6px 16px; padding: 10px; border: 1px solid #2c2d32; border-radius: 8px; font-size: 12px; color: #c9c9c3; }
.srv strong { color: #fff; font-weight: 500; }
.side a.nav { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: 8px; color: #c9c9c3; text-decoration: none; font-weight: 500; }
@@ -206,7 +208,9 @@ dialog::backdrop { background: rgba(22, 23, 26, .55); }
/* login */
.loginpage { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; background: var(--ink); }
.loginbox { width: 100%; max-width: 380px; display: flex; flex-direction: column; gap: 20px; }
.loginbox .brand { justify-content: center; font-size: 18px; padding: 0; }
.loginbox .brand { justify-content: center; padding: 0; }
.loginbox .brand .wm { font-size: 20px; }
.loginbox .brand .kana { font-size: 11px; }
.loginform { background: var(--surface); border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.loginform h1 { font-size: 20px; }
.loginform input { min-height: 44px; }