fix(spa): bare-channel create reachable on an empty lineup (#212 reopened)

ChannelsScreen returned ChannelsEmptyState before the action bar that owns
"New blank channel", so a fresh install could never create its first channel.
The empty state now offers both create paths (bare-create + ChannelBuilder),
reusing the exact createBlankChannel handler (number = max+1 → 1 on empty,
group "ErsatzTV", default ffmpeg profile).

Regression: App.test.tsx bare-creates from a [] lineup, asserts the POST
payload (number "1") + navigation to /app/edit-channel/{id}.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 12:38:10 +02:00
co-authored by Claude Fable 5
parent 554f658989
commit d3d50f60c4
3 changed files with 146 additions and 6 deletions
+15
View File
@@ -1275,6 +1275,21 @@ body {
font-size: var(--text-sm, 13px);
}
.ctv-channels-empty {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
padding: 16px 0;
}
.ctv-channels-empty-actions {
display: flex;
gap: 10px;
flex-wrap: wrap;
justify-content: center;
}
.ctv-schedule-inspector {
display: flex;
flex-direction: column;