Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion src/core/input/playlist-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ export function renderPlaylist(): void {
const displayName = formatSongTitle(file.name);

const btn = document.createElement('button');
btn.type = 'button';
btn.className = 'playlist-btn';
// 🎨 Palette: Use formatted title for tooltip and screen readers
btn.title = displayName;
Expand Down Expand Up @@ -244,6 +245,7 @@ export function renderPlaylist(): void {

// Remove Button (UX Improvement)
const removeBtn = document.createElement('button');
removeBtn.type = 'button';
removeBtn.className = 'playlist-remove-btn';
removeBtn.innerHTML = '<span aria-hidden="true">×</span>';
// 🎨 Palette: Use formatted title for tooltip and screen readers
Expand Down Expand Up @@ -292,9 +294,15 @@ export function renderPlaylist(): void {
li.style.textAlign = 'center';

const emptyBtn = document.createElement('button');
emptyBtn.type = 'button';
emptyBtn.className = 'secondary-button'; // Reuse existing class for consistent look
// 🎨 Palette: Improve empty state by making it clear and actionable using existing styles
emptyBtn.style.fontSize = '1em'; // Make it slightly more prominent if needed
emptyBtn.innerHTML = 'No songs... Click to Add! <span aria-hidden="true">🍭</span>';
emptyBtn.style.width = '100%';
emptyBtn.innerHTML = `
<span style="display: block; margin-bottom: 4px;"><span aria-hidden="true">🎵</span> Your playlist is empty</span>
<span style="display: block; font-size: 0.9em; opacity: 0.9;">Click to add music! <span aria-hidden="true">🍭</span></span>
`;
emptyBtn.setAttribute('aria-label', 'Playlist empty. Click to upload music files.');

emptyBtn.onclick = (e) => {
Expand Down
Loading