Fix delete-song checkbox alignment on admin request page
- Wrapped each Version A/B row in a flex .song-row container so the checkbox sits inline with the label instead of floating above it. - Added generous gaps/margins since this page is desktop-only. Bumps version to 0.5.2.
This commit is contained in:
parent
7eb72e511d
commit
96b6470c25
3 changed files with 24 additions and 6 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
# Theme Song Booth
|
# Theme Song Booth
|
||||||
|
|
||||||
**Version:** `v0.5.1`
|
**Version:** `v0.5.2`
|
||||||
|
|
||||||
A Flask web application for running a convention booth where visitors request a custom AI-generated theme song. Operators manage the queue from an admin dashboard, generate Suno prompts, upload MP3 previews, collect payment, and deliver final songs by email.
|
A Flask web application for running a convention booth where visitors request a custom AI-generated theme song. Operators manage the queue from an admin dashboard, generate Suno prompts, upload MP3 previews, collect payment, and deliver final songs by email.
|
||||||
|
|
||||||
|
|
|
||||||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
||||||
0.5.1
|
0.5.2
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,24 @@
|
||||||
margin:0;
|
margin:0;
|
||||||
font-weight:400;
|
font-weight:400;
|
||||||
}
|
}
|
||||||
|
.song-row{
|
||||||
|
display:flex;
|
||||||
|
align-items:flex-start;
|
||||||
|
gap:.75rem;
|
||||||
|
margin:.6rem 0;
|
||||||
|
padding:.4rem 0;
|
||||||
|
}
|
||||||
|
.song-row input[type="checkbox"]{
|
||||||
|
width:auto;
|
||||||
|
margin:.2rem 0 0 0;
|
||||||
|
flex-shrink:0;
|
||||||
|
}
|
||||||
|
.song-row label{
|
||||||
|
display:block;
|
||||||
|
margin:0;
|
||||||
|
font-weight:400;
|
||||||
|
line-height:1.4;
|
||||||
|
}
|
||||||
.old-rev{
|
.old-rev{
|
||||||
font-size:.85rem;
|
font-size:.85rem;
|
||||||
color:#9ca3af;
|
color:#9ca3af;
|
||||||
|
|
@ -327,7 +345,7 @@
|
||||||
<h2>2. Upload Songs</h2>
|
<h2>2. Upload Songs</h2>
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<input type="hidden" name="action" value="delete_songs">
|
<input type="hidden" name="action" value="delete_songs">
|
||||||
<p>
|
<div class="song-row">
|
||||||
<input type="checkbox" id="delete_a" name="delete_song" value="a"
|
<input type="checkbox" id="delete_a" name="delete_song" value="a"
|
||||||
{% if not (req.song_a_path and file_exists(req.song_a_path)) %}disabled{% endif %}>
|
{% if not (req.song_a_path and file_exists(req.song_a_path)) %}disabled{% endif %}>
|
||||||
<label for="delete_a">Version A:
|
<label for="delete_a">Version A:
|
||||||
|
|
@ -337,8 +355,8 @@
|
||||||
<span class="status-badge missing">❌ Not uploaded</span>
|
<span class="status-badge missing">❌ Not uploaded</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</div>
|
||||||
<p>
|
<div class="song-row">
|
||||||
<input type="checkbox" id="delete_b" name="delete_song" value="b"
|
<input type="checkbox" id="delete_b" name="delete_song" value="b"
|
||||||
{% if not (req.song_b_path and file_exists(req.song_b_path)) %}disabled{% endif %}>
|
{% if not (req.song_b_path and file_exists(req.song_b_path)) %}disabled{% endif %}>
|
||||||
<label for="delete_b">Version B:
|
<label for="delete_b">Version B:
|
||||||
|
|
@ -348,7 +366,7 @@
|
||||||
<span class="status-badge missing">❌ Not uploaded</span>
|
<span class="status-badge missing">❌ Not uploaded</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<button type="submit" class="danger" onclick="return confirm('Delete selected song files? This will reset the request to Prompt Ready.')">Delete Selected Songs</button>
|
<button type="submit" class="danger" onclick="return confirm('Delete selected song files? This will reset the request to Prompt Ready.')">Delete Selected Songs</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Reference in a new issue