feat: support audio & vidéo — lecteurs HTML5 intégrés #109
CI / lint (push) Successful in 1m58s
CI / security (push) Successful in 1m22s
CI / test (push) Successful in 4m32s
CI / build (push) Successful in 2m6s
CI / e2e (push) Successful in 12m57s

This commit is contained in:
2026-09-23 09:14:34 -04:00
parent eccbf7474e
commit e2417cb5ab
26 changed files with 1057 additions and 121 deletions
+83
View File
@@ -9766,6 +9766,89 @@ body.desktop-mode .editor-container {
display: none;
}
/* ── Audio / Video viewers (roadmap #109) ── */
.audio-viewer-container,
.video-viewer-container {
display: flex;
flex-direction: column;
height: 100%;
}
.media-toolbar {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: var(--surface1);
border-bottom: 1px solid var(--border);
flex-shrink: 0;
}
.media-toolbar .media-title {
color: var(--text);
font-size: 0.85rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 40%;
}
.media-toolbar-spacer {
flex: 1;
}
.media-duration-badge {
font-variant-numeric: tabular-nums;
font-size: 0.75rem;
color: var(--text-dim);
min-width: 46px;
text-align: center;
}
.media-meta {
font-size: 0.75rem;
color: var(--text-dim);
}
.audio-stage {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
padding: 32px 24px;
min-height: 50vh;
background: var(--surface2);
}
.audio-artwork {
display: flex;
align-items: center;
justify-content: center;
width: 140px;
height: 140px;
border-radius: 12px;
background: var(--surface1);
border: 1px solid var(--border);
color: var(--accent);
}
.audio-player {
width: min(560px, 100%);
}
.video-stage {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
background: #000;
overflow: hidden;
min-height: 60vh;
}
.video-player {
max-width: 100%;
max-height: calc(100vh - 180px);
object-fit: contain;
}
.media-fallback-actions {
display: flex;
gap: 8px;
margin-top: 12px;
}
/* ── Text / CSV Viewer ── */
.text-viewer-container {
display: flex;