Changeset 749605a in Klonkt for src/views/pages/admin-audio.ejs
- Timestamp:
- 08/16/2026 03:06:18 PM (3 weeks ago)
- Branches:
- main
- Children:
- a5caa73
- Parents:
- a5515b4 (diff), 9026de5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
src/views/pages/admin-audio.ejs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/pages/admin-audio.ejs
ra5515b4 r749605a 1 <%# De gedeelde ax-*-primitieven. MOET boven het eigen style-blok van deze 2 pagina staan: wat hieronder blijft staan wijkt bewust af en hoort dus 3 later te komen, anders wint de partial ervan. %> 4 <%- include('../partials/admin-styles') %> 1 5 <div class="container ax-page"> 2 6 3 < p><a href="/admin" class="btn">← <%= t('nav.admin') %></a></p>7 <%- include('../partials/admin-back') %> 4 8 <%- include('../partials/media-tabs', { active: 'audio', audioOn: true }) %> 5 9 <header class="ax-header"> … … 150 154 padding: 0 1rem; 151 155 } 152 .ax-header {153 display: flex; align-items: flex-start; gap: 0.75rem;154 margin-bottom: 1.5rem;155 }156 .ax-header h1 {157 font-family: var(--font-display, serif);158 font-size: 1.75rem;159 margin: 0 0 0.25rem;160 }161 .ax-tagline {162 color: var(--ink-muted, var(--ink-soft));163 margin: 0;164 font-size: 0.9rem;165 line-height: 1.5;166 }167 .ax-tagline code {168 background: var(--paper-2);169 padding: 0.1em 0.4em;170 border-radius: 4px;171 font-size: 0.9em;172 }173 .ax-back {174 display: inline-flex; align-items: center; justify-content: center;175 width: 40px; height: 40px;176 border: 1px solid var(--rule);177 border-radius: 8px;178 background: var(--paper);179 color: var(--ink);180 text-decoration: none;181 font-size: 1.1rem;182 flex-shrink: 0;183 transition: border-color 120ms;184 }185 .ax-back:hover { border-color: var(--accent); }186 187 /* ─── Flash messages ───────────────────────────────────────────── */188 .ax-flash {189 padding: 0.75rem 1rem;190 border-radius: 8px;191 margin-bottom: 1rem;192 font-size: 0.9rem;193 }194 .ax-flash-ok { background: rgba(40,160,90,.15); color: #2a9d5e; border: 1px solid rgba(40,160,90,.3); }195 .ax-flash-err { background: rgba(200,60,60,.15); color: #c33; border: 1px solid rgba(200,60,60,.3); }196 197 /* ─── Card sections ────────────────────────────────────────────── */198 .ax-card {199 background: var(--paper);200 border: 1px solid var(--rule);201 border-radius: 12px;202 padding: 1.25rem;203 margin-bottom: 1rem;204 }205 156 .ax-card-title { 206 157 font-family: var(--font-display, serif); … … 303 254 .ax-form-actions[hidden] { display: none; } 304 255 305 /* ─── Buttons ──────────────────────────────────────────────────── */306 .ax-btn {307 display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;308 padding: 0.55rem 1rem;309 border: 1px solid var(--rule);310 background: var(--paper-2);311 color: var(--ink);312 font-family: var(--font-ui, system-ui), sans-serif;313 font-size: 0.9rem; font-weight: 500;314 text-decoration: none;315 border-radius: 6px;316 cursor: pointer;317 min-height: 40px;318 transition: background 120ms, border-color 120ms;319 -webkit-tap-highlight-color: transparent;320 }321 .ax-btn:hover { border-color: var(--accent); }322 .ax-btn-secondary { background: var(--paper-2); }323 .ax-btn-primary {324 background: var(--accent); color: white;325 border-color: var(--accent);326 }327 .ax-btn-primary:hover { opacity: 0.92; border-color: var(--accent); }328 329 /* Tiny icon-only button for row actions */330 .ax-icon-btn {331 display: inline-flex; align-items: center; justify-content: center;332 width: 40px; height: 40px;333 border: 1px solid var(--rule);334 background: var(--paper-2);335 color: var(--ink);336 border-radius: 8px;337 cursor: pointer;338 font-size: 1rem;339 transition: background 120ms, border-color 120ms, color 120ms;340 }341 .ax-icon-btn:hover { border-color: var(--accent); }342 .ax-icon-btn-danger:hover { color: #dc2626; border-color: #dc2626; }343 344 256 .ax-track-play.is-playing { 345 257 border-color: var(--accent); … … 348 260 } 349 261 .ax-track-play-icon { font-size: 0.85rem; line-height: 1; } 350 351 /* ─── Empty state ──────────────────────────────────────────────── */352 .ax-empty {353 text-align: center;354 padding: 2rem 1rem;355 color: var(--ink-muted, var(--ink-soft));356 }357 .ax-empty-icon {358 font-size: 2.5rem;359 font-family: var(--font-display, serif);360 color: var(--ink-soft);361 opacity: 0.4;362 margin-bottom: 0.5rem;363 }364 .ax-empty p { margin: 0; }365 366 /* ─── Track list (card per row) ────────────────────────────────── */367 .ax-list {368 list-style: none; padding: 0; margin: 0;369 display: flex; flex-direction: column;370 gap: 0.6rem;371 }372 .ax-track {373 display: grid;374 grid-template-columns: 56px 1fr auto;375 gap: 0.85rem;376 align-items: center;377 padding: 0.75rem;378 background: var(--paper-2);379 border: 1px solid var(--rule);380 border-radius: 10px;381 transition: border-color 120ms;382 }383 .ax-track:hover { border-color: var(--accent); }384 .ax-track-cover {385 width: 56px; height: 56px;386 border-radius: 6px;387 object-fit: cover;388 background: var(--paper);389 display: flex; align-items: center; justify-content: center;390 font-family: var(--font-display, serif);391 font-size: 1.5rem;392 color: var(--accent);393 flex-shrink: 0;394 }395 262 .ax-track-cover-empty { /* span variant */ } 396 .ax-track-meta {397 min-width: 0; /* allow text-overflow on long titles */398 display: flex; flex-direction: column; gap: 0.2rem;399 }400 .ax-track-title {401 font-weight: 600;402 font-size: 0.95rem;403 color: var(--ink);404 overflow: hidden;405 text-overflow: ellipsis;406 white-space: nowrap;407 }408 .ax-track-sub {409 font-size: 0.8rem;410 color: var(--ink-muted, var(--ink-soft));411 display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center;412 }413 .ax-track-sep { opacity: 0.5; }414 .ax-embed {415 display: inline-block;416 background: var(--paper);417 padding: 0.15rem 0.5rem;418 border-radius: 4px;419 font-family: var(--font-mono, ui-monospace, monospace);420 font-size: 0.75rem;421 color: var(--ink-soft);422 cursor: pointer;423 user-select: all;424 margin-top: 0.15rem;425 word-break: break-all;426 align-self: flex-start;427 transition: background 120ms;428 }429 .ax-embed:hover { background: var(--rule); }430 .ax-embed.is-copied { background: rgba(40,160,90,0.2); color: #2a9d5e; }431 432 .ax-track-actions {433 display: flex; gap: 0.4rem;434 flex-shrink: 0;435 }436 263 .ax-track-delete { display: inline; } 437 264 438 265 /* ─── Mobile tweaks ───────────────────────────────────────────── */ 439 266 @media (max-width: 480px) { 440 .ax-track {441 grid-template-columns: 48px 1fr;442 grid-template-areas: "cover meta" "actions actions";443 gap: 0.6rem;444 }445 .ax-track-cover { grid-area: cover; width: 48px; height: 48px; }446 .ax-track-meta { grid-area: meta; }447 .ax-track-actions {448 grid-area: actions;449 justify-content: flex-end;450 border-top: 1px solid var(--rule);451 padding-top: 0.5rem;452 margin-top: 0.25rem;453 }454 267 } 455 268
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)