fix(electrobun): XDG dirs, sanitized errors, themed dropdowns + checkboxes

- PathBrowser: dynamic XDG shortcuts (only shows dirs that exist)
- Errors sanitized: "Directory not found" instead of raw ENOENT
- Select dropdowns: custom arrow, themed options, appearance:none
- Checkboxes: custom styled with --ctp-blue check, themed border
This commit is contained in:
Hibryda 2026-03-22 12:40:56 +01:00
parent f71ca2e1ca
commit d8b831089a
2 changed files with 81 additions and 7 deletions

View file

@ -521,7 +521,50 @@
.wz-input:focus, .wz-select:focus, .wz-textarea:focus { outline: none; border-color: var(--ctp-blue); }
.wz-input::placeholder, .wz-textarea::placeholder { color: var(--ctp-overlay0); }
.wz-textarea { resize: vertical; min-height: 3rem; }
.wz-select { cursor: pointer; }
.wz-select {
cursor: pointer;
-webkit-appearance: none;
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a6adc8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 0.5rem center;
padding-right: 1.75rem;
}
.wz-select option {
background: var(--ctp-surface0);
color: var(--ctp-text);
}
/* Themed checkboxes */
input[type="checkbox"] {
-webkit-appearance: none;
appearance: none;
width: 1rem; height: 1rem;
border: 1px solid var(--ctp-surface2);
border-radius: 0.1875rem;
background: var(--ctp-surface0);
cursor: pointer;
position: relative;
vertical-align: middle;
flex-shrink: 0;
}
input[type="checkbox"]:checked {
background: var(--ctp-blue);
border-color: var(--ctp-blue);
}
input[type="checkbox"]:checked::after {
content: '';
position: absolute;
left: 0.25rem; top: 0.0625rem;
width: 0.3125rem; height: 0.5625rem;
border: solid var(--ctp-base);
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
input[type="checkbox"]:focus-visible {
outline: 2px solid var(--ctp-blue);
outline-offset: 1px;
}
.wz-radios { display: flex; flex-wrap: wrap; gap: 0.375rem; }