From fdcf58defe1b17ced637c2ae9c877fcdfeb7a269 Mon Sep 17 00:00:00 2001 From: tiago <70700766+tiagozip@users.noreply.github.com> Date: Mon, 8 Sep 2025 16:04:37 +0100 Subject: [PATCH] standalone: about section, design changes (2.0.8) --- standalone/package.json | 2 +- standalone/public/index.css | 177 +++++--- standalone/public/index.html | 44 ++ standalone/public/js/keyPage.js | 718 +++++++++++++++---------------- standalone/public/js/settings.js | 248 ++++++----- standalone/public/login.html | 73 ++-- standalone/src/server.js | 12 + 7 files changed, 724 insertions(+), 550 deletions(-) diff --git a/standalone/package.json b/standalone/package.json index 43d0b6a..d094e92 100644 --- a/standalone/package.json +++ b/standalone/package.json @@ -1,6 +1,6 @@ { "name": "cap-standalone", - "version": "2.0.7", + "version": "2.0.8", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "bun run --watch src/index.js", diff --git a/standalone/public/index.css b/standalone/public/index.css index 7cb8826..d0a6c74 100644 --- a/standalone/public/index.css +++ b/standalone/public/index.css @@ -3,7 +3,7 @@ } body { - background-color: #181818; + background-color: #111113; color: white; display: flex; max-height: 100vh; @@ -31,11 +31,10 @@ nav .logo { border: none; font-family: inherit; font-size: inherit; - cursor: pointer; background-color: transparent; padding: 0px; margin-right: auto; - transition: opacity 0.2s; + transition: opacity 0.15s; } nav .logo img { @@ -49,7 +48,7 @@ nav .logo p { color: rgb(248, 248, 248); opacity: 0; margin-left: -5px; - transition: margin-left 0.2s, opacity 0.2s; + transition: margin-left 0.15s, opacity 0.15s; pointer-events: none; filter: blur(1px); } @@ -76,7 +75,7 @@ nav .settings { display: flex; align-items: center; justify-content: center; - transition: opacity 0.2s; + transition: opacity 0.15s; } nav .settings:hover { @@ -93,7 +92,7 @@ nav .logout { border: none; color: rgb(248, 248, 248); opacity: 0.6; - transition: opacity 0.2s; + transition: opacity 0.15s; } nav .logout:hover { @@ -161,13 +160,13 @@ nav .logout:hover { margin: 4px; border-radius: 4px; border: none; - background-color: #0076d8; + background-color: #007aff; color: white; font-family: inherit; cursor: pointer; white-space: nowrap; padding: 0px 6px; - transition: transform 0.2s, opacity 0.2s; + transition: transform 0.15s, opacity 0.15s, box-shadow 0.15s; } .state-homepage .keys-top .create-key svg { @@ -184,6 +183,10 @@ nav .logout:hover { transform: scale(0.98); } +.state-homepage .keys-top .create-key:focus { + box-shadow: 0px 0px 0px 2px rgba(0, 122, 255, 0.5); +} + .keys-list.no-keys p { text-align: center; opacity: 0.8; @@ -212,13 +215,13 @@ nav .logout:hover { } .modal-content { - background-color: #282828; + background-color: #212121; border-radius: 10px; max-width: 400px; width: 90%; color: white; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); - animation: scaleIn 0.2s ease-in-out; + animation: scaleIn 0.15s ease-in-out; } @keyframes scaleIn { @@ -256,6 +259,7 @@ nav .logout:hover { .modal .content { padding: 12px 16px; padding-top: 0px; + line-height: 1.4; } .modal-content input[type="text"] { @@ -264,21 +268,19 @@ nav .logout:hover { margin-top: 8px; border-radius: 8px; font-size: 15px; - color: white; - border: 1px solid #e3e4e810; - background-color: #e3e4e807; + box-shadow: inset 0 0 0 1px color(display-p3 0.9608 0.9608 1 / 0.242); + color: #eee; + border: none; + background-color: transparent; font-family: inherit; margin-bottom: 8px; text-overflow: ellipsis; transition: box-shadow 0.15s; } -.modal-content input[type="text"]::focus { - text-overflow: unset; -} - .modal-content input[type="text"]:focus { - box-shadow: 0px 0px 0px 3px rgba(255, 255, 255, 0.37); + text-overflow: unset; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255); outline: none; } @@ -290,11 +292,10 @@ nav .logout:hover { .modal-content button.primary { border: none; border-radius: 8px; - background-color: white; - color: black; + background-color: #007aff; + color: white; font-size: 15px; cursor: pointer; - transition: background-color 0.2s; font-family: inherit; height: 36px; font-weight: 500; @@ -304,7 +305,7 @@ nav .logout:hover { margin: 16px; width: calc(100% - 32px); margin-top: 0px; - transition: opacity 0.2s; + transition: opacity 0.15s, background-color 0.15s; } .modal-content button.primary.secondary { @@ -420,7 +421,7 @@ nav .logout:hover { .key:focus, .key:active, .key:has(button:focus) { - box-shadow: 0px 0px 0px 3px rgba(255, 255, 255, 0.37); + box-shadow: 0px 0px 0px 3px rgba(255, 255, 255, 0.5); } .state-key-page { @@ -462,7 +463,6 @@ nav .logout:hover { } .state-key-page .topbar .left button { - border: none; border-radius: 6px; color: rgba(255, 255, 255, 0.85); background-color: rgba(255, 255, 255, 0.05); @@ -480,8 +480,8 @@ nav .logout:hover { background-color: rgba(255, 255, 255, 0.1); } -.state-key-page .topbar .left button:active { - opacity: 0.6; +.state-key-page .topbar .left button:focus { + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5); } .state-key-page .topbar .right { @@ -492,7 +492,7 @@ nav .logout:hover { border: none; border-radius: 6px; color: white; - background-color: #181818; + background-color: #111113; padding: 0px; font-family: inherit; cursor: pointer; @@ -540,9 +540,10 @@ nav .logout:hover { margin-top: 8px; border-radius: 8px; font-size: 15px; - color: white; - border: 1px solid #e3e4e810; - background-color: #e3e4e807; + border: none; + box-shadow: inset 0 0 0 1px color(display-p3 0.9608 0.9608 1 / 0.242); + color: #eee; + background-color: transparent; font-family: inherit; margin-bottom: 8px; text-overflow: ellipsis; @@ -550,12 +551,9 @@ nav .logout:hover { display: block; } -.config input::focus { - text-overflow: unset; -} - .config input:focus { - box-shadow: 0px 0px 0px 3px rgba(255, 255, 255, 0.37); + text-overflow: unset; + box-shadow: 0px 0px 0px 2px white; outline: none; } @@ -575,7 +573,7 @@ nav .logout:hover { color: black; font-size: 15px; cursor: pointer; - transition: background-color 0.2s; + transition: background-color 0.15s; font-family: inherit; height: 36px; font-weight: 500; @@ -612,7 +610,7 @@ nav .logout:hover { margin-left: -6px; cursor: pointer; width: fit-content; - transition: opacity 0.2s; + transition: opacity 0.15s; } .keypage-back:hover { @@ -624,7 +622,7 @@ nav .logout:hover { } .keypage-back svg { - transition: margin-left 0.2s, margin-right 0.2s; + transition: margin-left 0.15s, margin-right 0.15s; } .keypage-back:hover svg { @@ -653,22 +651,27 @@ nav .logout:hover { .state-settings h1 { margin-top: 0px; font-size: 27px; - margin-bottom: 0px; + margin-bottom: 20px; + font-weight: 600; } .state-settings h2 { font-weight: 500; font-size: 22px; - margin-top: 14px; + margin: 0px; } -.sessions-list, .apikeys-list { +.sessions-list, +.apikeys-list { display: flex; flex-direction: column; gap: 12px; + margin-top: 13px; + margin-bottom: 22px; } -.sessions-list .session, .apikeys-list .apikey { +.sessions-list .session, +.apikeys-list .apikey { border: 1px solid #1f1f1f; border-radius: 8px; background-color: #161616; @@ -678,24 +681,90 @@ nav .logout:hover { align-items: center; } -.session .session-info, .apikey .apikey-info { +.apikeys-list p { + margin: 0px; +} + +.about-info { + line-height: 1.5; + color: #eee; +} + +.about-info b { + color: white; + font-weight: 500; +} + +.about-button { + display: inline-flex; + align-items: center; + gap: 6px; + margin-top: 8px; + color: white; + text-decoration: none; + background-color: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.2); + width: fit-content; + padding: 0.4em 0.6em; + transition: opacity 0.15s; + border-radius: 6px; + animation: abtbtn 1s ease-in-out; + box-shadow: rgb(0 0 0 / 9%) 0px 8px 24px; +} + +.about-button:hover { + background-color: rgba(255, 255, 255, 0.02); +} + +.about-button:focus { + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5); +} + +.nano-github-button { + display: inline-flex; + align-items: center; + gap: 6px; + opacity: 0.2; + text-decoration: none; + width: fit-content; + transition: opacity 0.15s; + font-size: 14px; + color: white; + margin-top: 2em; + border-radius: 6px; + animation: abtbtn 1s ease-in-out; +} + +.nano-github-button:hover { + opacity: .5; +} + +.nano-github-button:focus { + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5); +} + +.session .session-info, +.apikey .apikey-info { display: flex; flex-direction: column; justify-content: center; padding: 12px 16px; } -.session-token, .apikey-token { +.session-token, +.apikey-token { margin-bottom: 5px; font-weight: 500; } -.session-expires, .apikey-created { +.session-expires, +.apikey-created { opacity: 0.93; font-size: 14px; } -.session .session-delete-button, .apikey .apikey-delete-button { +.session .session-delete-button, +.apikey .apikey-delete-button { border-radius: 6px; color: rgba(255, 255, 255, 0.85); background-color: rgba(255, 255, 255, 0.05); @@ -707,12 +776,14 @@ nav .logout:hover { margin-right: 16px; } -.session .session-delete-button:hover, .apikey .apikey-delete-button:hover { +.session .session-delete-button:hover, +.apikey .apikey-delete-button:hover { background-color: rgba(255, 255, 255, 0.1); } -.session .session-delete-button:active, .apikey .apikey-delete-button:active { - opacity: 0.6; +.session .session-delete-button:focus, +.apikey .apikey-delete-button:focus { + box-shadow: 0px 0px 0px 2px white; } .apikeys-title { @@ -723,7 +794,7 @@ nav .logout:hover { .apikeys-title button { border: none; border-radius: 6px; - background-color: #0076d8; + background-color: #007aff; color: white; padding: 0.4em 0.6em; font-family: inherit; @@ -733,13 +804,13 @@ nav .logout:hover { display: flex; align-items: center; gap: 6px; - transition: opacity 0.2s; + transition: opacity 0.15s; } .apikeys-title button:hover { opacity: 0.8; } -.apikeys-title button:active { - opacity: 0.5; +.apikeys-title button:focus { + box-shadow: 0px 0px 0px 2px rgba(0, 122, 255, 0.5); } diff --git a/standalone/public/index.html b/standalone/public/index.html index c28dd5d..88d8e29 100644 --- a/standalone/public/index.html +++ b/standalone/public/index.html @@ -92,6 +92,26 @@
+ + + + +