UX polish: toned gold, cleaner labels, dropdown chevrons
- Toned down gold colors for better cross-monitor consistency - Header gold: #fee862 → #e5d058 - Form labels: #ffe699 → #d9c580 - Removed text-shadow/outline from form labels (was smudgy) - Removed background from nav floating labels - More subtle nav hover background (halved opacity) - Gold chevron on all dropdown selects for clarity - Removed (environment) tag from channel key display - Simplified channel key config text in about page - Generate page: icon-only button for channel key 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
--overlay-dark: rgba(0, 0, 0, 0.3);
|
--overlay-dark: rgba(0, 0, 0, 0.3);
|
||||||
--overlay-light: rgba(255, 255, 255, 0.05);
|
--overlay-light: rgba(255, 255, 255, 0.05);
|
||||||
--day-highlight: #E3FF54; /* Bright yellow/green for day of week */
|
--day-highlight: #E3FF54; /* Bright yellow/green for day of week */
|
||||||
--header-gold: #fee862; /* Halfway between light straw and 24k gold */
|
--header-gold: #e5d058; /* Muted gold - less harsh on varied monitors */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
@@ -120,26 +120,24 @@
|
|||||||
Form Labels - Gold
|
Form Labels - Gold
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
.card .form-label {
|
.card .form-label {
|
||||||
color: #ffe699;
|
color: #d9c580;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
text-shadow:
|
}
|
||||||
-0.3px -0.3px 0 #b8860b,
|
|
||||||
0.3px -0.3px 0 #b8860b,
|
/* Dropdown selects - ensure chevron is visible in dark mode */
|
||||||
-0.3px 0.3px 0 #b8860b,
|
.form-select,
|
||||||
0.3px 0.3px 0 #b8860b,
|
select.form-select {
|
||||||
1px 2px 2px rgba(0, 0, 0, 0.25);
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d9c580' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
|
||||||
|
background-repeat: no-repeat !important;
|
||||||
|
background-position: right 0.75rem center !important;
|
||||||
|
background-size: 16px 12px !important;
|
||||||
|
padding-right: 2.25rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Payload type toggle - gold text when selected */
|
/* Payload type toggle - gold text when selected */
|
||||||
.btn-check:checked + .btn-outline-primary {
|
.btn-check:checked + .btn-outline-primary {
|
||||||
color: #ffe699 !important;
|
color: #d9c580 !important;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
text-shadow:
|
|
||||||
-0.3px -0.3px 0 #b8860b,
|
|
||||||
0.3px -0.3px 0 #b8860b,
|
|
||||||
-0.3px 0.3px 0 #b8860b,
|
|
||||||
0.3px 0.3px 0 #b8860b,
|
|
||||||
1px 2px 2px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -230,19 +228,15 @@ body {
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
color: var(--header-gold);
|
color: var(--header-gold);
|
||||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
|
||||||
background: linear-gradient(135deg, rgba(74, 40, 96, 0.95) 0%, rgba(85, 112, 212, 0.9) 100%);
|
|
||||||
padding: 0.2rem 0.5rem;
|
|
||||||
border-radius: 0.25rem;
|
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
||||||
transition: opacity 0.2s ease,
|
transition: opacity 0.2s ease,
|
||||||
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
z-index: 1040;
|
z-index: 1040;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-expand:hover {
|
.nav-expand:hover {
|
||||||
background: linear-gradient(135deg, rgba(74, 40, 96, 0.5) 0%, rgba(85, 112, 212, 0.4) 100%);
|
background: linear-gradient(135deg, rgba(74, 40, 96, 0.25) 0%, rgba(85, 112, 212, 0.2) 100%);
|
||||||
box-shadow: 0 0 12px rgba(102, 126, 234, 0.25),
|
box-shadow: 0 0 8px rgba(102, 126, 234, 0.15),
|
||||||
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -271,8 +271,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="small mb-2">Uses server-configured key if available, otherwise public mode.</p>
|
<p class="small mb-2">Uses server-configured key if available, otherwise public mode.</p>
|
||||||
<ul class="small mb-0">
|
<ul class="small mb-0">
|
||||||
<li>Set via <code>STEGASOO_CHANNEL_KEY</code> env var</li>
|
<li>Server admin configures the shared key</li>
|
||||||
<li>Or <code>channel_key</code> in config file</li>
|
|
||||||
<li>All users share the same channel</li>
|
<li>All users share the same channel</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -321,7 +320,6 @@
|
|||||||
<i class="bi bi-shield-lock me-2"></i>
|
<i class="bi bi-shield-lock me-2"></i>
|
||||||
<strong>This server has a channel key configured:</strong>
|
<strong>This server has a channel key configured:</strong>
|
||||||
<code class="ms-2">{{ channel_fingerprint }}</code>
|
<code class="ms-2">{{ channel_fingerprint }}</code>
|
||||||
<span class="text-muted ms-2">({{ channel_source }})</span>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="alert alert-info mt-3 mb-0">
|
<div class="alert alert-info mt-3 mb-0">
|
||||||
|
|||||||
@@ -100,8 +100,8 @@
|
|||||||
<span class="input-group-text"><i class="bi bi-key"></i></span>
|
<span class="input-group-text"><i class="bi bi-key"></i></span>
|
||||||
<input type="text" class="form-control font-monospace" id="channelKeyGenerated"
|
<input type="text" class="form-control font-monospace" id="channelKeyGenerated"
|
||||||
placeholder="Click Generate to create a key" readonly>
|
placeholder="Click Generate to create a key" readonly>
|
||||||
<button class="btn btn-outline-primary" type="button" id="generateChannelKeyBtn">
|
<button class="btn btn-outline-primary" type="button" id="generateChannelKeyBtn" title="Generate Channel Key">
|
||||||
<i class="bi bi-shuffle me-1"></i>Generate
|
<i class="bi bi-shuffle"></i>
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-outline-secondary" type="button" id="copyChannelKeyBtn" disabled title="Copy to clipboard">
|
<button class="btn btn-outline-secondary" type="button" id="copyChannelKeyBtn" disabled title="Copy to clipboard">
|
||||||
<i class="bi bi-clipboard"></i>
|
<i class="bi bi-clipboard"></i>
|
||||||
|
|||||||
@@ -30,14 +30,14 @@
|
|||||||
transition: all 0.15s ease;
|
transition: all 0.15s ease;
|
||||||
}
|
}
|
||||||
.home-icon:hover i {
|
.home-icon:hover i {
|
||||||
color: #fee862;
|
color: #e5d058;
|
||||||
transform: translateY(-3px);
|
transform: translateY(-3px);
|
||||||
filter: drop-shadow(0 5px 4px rgba(0, 0, 0, 0.8));
|
filter: drop-shadow(0 5px 4px rgba(0, 0, 0, 0.8));
|
||||||
}
|
}
|
||||||
.home-icon:hover span {
|
.home-icon:hover span {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transform: translateY(0);
|
transform: translateY(0);
|
||||||
color: #fee862;
|
color: #e5d058;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user