Commit Graph
1166 Commits
Author SHA1 Message Date
vicrodh a88c1f5725 fix: album card overlay always white, menu icon inherits color
- AlbumCard overlay buttons: revert to hardcoded white rgba values
  (overlay sits on album artwork, blur makes white always visible)
- AlbumMenu icon: use currentColor to inherit from CSS
  (allows AlbumDetailView to override for theme-aware color)
2026-01-24 11:42:55 -06:00
vicrodh 848322681d refactor: replace hardcoded rgba white with theme-aware alpha variables
Add --alpha-* CSS variables (4-95%) to app.css that adapt to theme:
- Dark themes: white-based rgba
- Light themes: black-based rgba (auto-inverts for proper contrast)

Mass-replaced 100+ instances of rgba(255,255,255,...) across 23 files
with var(--alpha-*) for consistent theming support.

This fixes borders, overlays, and UI elements being invisible or
having poor contrast in light themes.
2026-01-24 11:35:54 -06:00
vicrodh 19be201564 fix: theme-aware borders for action buttons
- Use --border-strong and --border-subtle instead of hardcoded rgba
- Add border variables to OLED and Warm themes
- Primary button: 2px subtle border normal, prominent on hover
- Secondary buttons: 1px strong border, prominent on hover
- Fix AlbumMenu trigger border color
2026-01-24 11:28:26 -06:00
vicrodh 68dc51d43c fix: primary button border only on hover with transition 2026-01-24 11:25:02 -06:00
vicrodh a87b8e11bb refactor: move action button styles to shared app.css
- Extract .action-btn-circle styles to app.css for reuse
- Remove duplicate button styles from ArtistDetailView and AlbumDetailView
- Use theme-aware colors (--text-primary) instead of hardcoded white
- Icons now use currentColor for theme compatibility
2026-01-24 11:23:05 -06:00
vicrodh 4b999c4561 style: replace play button glow with solid white border
Remove box-shadow glow effect from primary action button and
replace with 2px solid white border for cleaner appearance.
2026-01-24 11:19:57 -06:00
vicrodh 8848f598ef style(album): circular style for context menu button
Apply consistent circular outline style to AlbumMenu trigger
to match other action buttons in the album header.
2026-01-24 11:17:50 -06:00
vicrodh bc2491cb95 feat(album): circular buttons and full release date
Header buttons:
- Play button: circular 44px with accent background (primary action)
- Shuffle button: circular 36px with outline (secondary)
- Favorite button: circular 36px with outline, highlight when active

Release date:
- Added releaseDate field to AlbumDetail type
- Adapter now includes full release_date_original from Qobuz API
- Display formatted date (e.g., "January 15, 2024") with year fallback
2026-01-24 11:07:29 -06:00
vicrodh b296d3091b fix: remove horizontal scroll caused by jump-nav overflow
The jump-nav sticky header uses negative margins to extend beyond
the container padding. The right margin was -16px (or -32px in Settings)
but the container only has 8px (or 24px) of right padding, causing
8px of horizontal overflow.

Fixed by matching the negative right margin to the actual padding:
- ArtistDetailView: -16px → -8px, width calc(100%+40px) → calc(100%+32px)
- FavoritesView: -16px → -8px, width calc(100%+40px) → calc(100%+32px)
- LocalLibraryView: -16px → -8px, width calc(100%+40px) → calc(100%+32px)
- SettingsView: -32px → -24px, width calc(100%+64px) → calc(100%+56px)
2026-01-24 00:40:37 -06:00
vicrodh d721859046 feat(artist): make Tributes collapsible with info tooltip
- Reorder sections: Others -> Playlists -> Tributes
- Tributes section now collapsed by default with expand/collapse caret
- Add info icon with tooltip explaining content may include covers by other artists
- Implement pagination with Load More (20 items at a time)
- Sort dropdown only visible when section is expanded
2026-01-24 00:34:17 -06:00
vicrodh a84cf97d36 feat(artist): independent sort filters per section, remove divider lines
- Add margin-bottom 2px to local-library-section in sidebar
- Make dividers transparent (keep spacing, remove visible line)
- Add independent sort dropdowns to: EPs & Singles, Live Albums,
  Compilations, Tributes & Covers, Others
- Each section maintains its own sort state
2026-01-24 00:19:49 -06:00
vicrodh d7805d12ee style(sidebar): consistent scrollbar, smaller toggle button
- Scrollbar always visible (subtle), overlay mode in both states
- margin-right: 1px for slight visual separation
- Collapsed icons: padding-left 1px to compensate and stay aligned
- Toggle button: 20px diameter (was 22px)
2026-01-24 00:11:26 -06:00
vicrodh 12a3393050 fix(sidebar): scrollbar position and hover reliability
- Hover on .sidebar (larger area, more reliable)
- Collapsed mode: margin-right 6px (away from toggle button)
- Removed padding-left that misaligned icons
2026-01-23 23:53:08 -06:00
vicrodh 25fd5da72d fix(sidebar): scrollbar hover on content area, align collapsed icons
- Scrollbar shows on .content hover (works for both modes)
- Collapsed playlist icons: padding-left 1px for alignment
2026-01-23 23:47:29 -06:00
vicrodh ab6cbfa414 style(sidebar): scrollbar hover on section, smaller toggle button
- Scrollbar shows on playlists-section hover (not just scrollbar area)
- Toggle button: 22px diameter (was 24px), right: -11px
2026-01-23 23:44:26 -06:00
vicrodh eebf766f1c fix(sidebar): scrollbar visibility on hover
- Add scrollbar-color for Firefox support
- Remove transition (not supported on scrollbar pseudo-elements)
2026-01-23 23:41:49 -06:00
vicrodh f3467706ce style(sidebar): hide scrollbar by default, align collapsed icons
- Scrollbar hidden by default, visible on hover
- Space reserved (4px width maintained)
- Moved 1px right (margin-right: 3px)
- Collapsed mode: margin-right 0 to align icons with rest of sidebar
2026-01-23 23:40:43 -06:00
vicrodh 153e820523 style(sidebar): move scrollbar 4px left with margin-right 2026-01-23 23:37:33 -06:00
vicrodh c028ac628f style(sidebar): darker toggle shadow, unified thin scrollbar
- Toggle shadow: -4px 0 12px with 0.75 alpha (falls on sidebar)
- Scrollbar: moved 2px left (padding-right: 2px)
- Both views now use same 4px thin scrollbar style
2026-01-23 23:36:13 -06:00
vicrodh f375ae23fe style(sidebar): solid toggle button with shadow
- Remove transparency, use solid bg-tertiary
- Reduce diameter from 28px to 24px (center preserved)
- Add drop shadow like context menu caret
2026-01-23 23:32:07 -06:00
vicrodh ada7b7b84c style(artist): remove solid backgrounds, Load More button, thin badges
- Remove solid background from Discography and all sections below
- Remove Load More button from Discography (initial display sufficient)
- Change badge font-weight to 100 (Thin) in AlbumCard and QualityBadge
- Use LINE Seed JP font family for badges
2026-01-23 23:29:09 -06:00
vicrodh e404048c5b fix(artist): bio truncation reactivity, adjust margins
- Observe parent container for resize (not clamped element)
- Double RAF ensures CSS applies before measurement
- top-tracks-section: margin-top 32px
- artist-header: margin-bottom 22px
2026-01-23 20:51:09 -06:00
vicrodh f19081ee1d feat(artist): smart 3-line bio truncation with resize detection
- Use CSS line-clamp for exactly 3 lines (reactive to container width)
- ResizeObserver detects window/container resizes
- Auto-hide Read more/Show less if text fits in 3 lines
- Works across all screen sizes (4K to HD)
2026-01-23 18:58:15 -06:00
vicrodh 30bb7bc980 fix(artist): spacing, hover glow, context menu homologation
- Change margin-top to padding-top for 10px spacing (avoids collapse)
- Add animated glow expansion on Play All button hover
- Match context menu styling to TrackMenu component
2026-01-23 18:52:50 -06:00
vicrodh dc0038fbfb style(artist): subtle glow on Play All, outline on context button 2026-01-23 18:47:49 -06:00
vicrodh 3f9d7e4de5 style(artist): polish Popular Tracks buttons and menu
- Add 10px top margin for spacing from jump-nav
- Play All button (44px) larger than context menu button (40px)
- Add backdrop to context menu for click-outside-to-close behavior
- Reduce icon size in smaller button (18px)
2026-01-23 18:47:06 -06:00
vicrodh 2f026fa181 feat(artist): redesign Popular Tracks section
- Remove solid background container
- Show 5 tracks by default with progressive loading (5 → 20 → 50)
- Add "Load More" link that disappears after 50 tracks
- Replace text Play All button with circular icon button
- Add context menu (...) with: Play Next, Play Later, Shuffle, Add to Playlist
- All actions apply to full track list (up to 50)
- Remove divider line before section
2026-01-23 18:43:53 -06:00
vicrodh 1185d307f5 style: opaque nav bars with subtle shadow
- Remove transparency from all sticky nav bars (fully opaque)
- Remove backdrop-filter blur (not needed with opaque bg)
- Add subtle box-shadow (4px) for content-fades-beneath effect
- Applied to Artist, Favorites, LocalLibrary, Settings views
2026-01-23 18:23:30 -06:00
vicrodh 75aeb9592f fix: remove main-content padding-left for edge-to-edge nav bars
- Removed padding-left: 20px from main-content
- Toggle button and jump-nav don't collide (different vertical positions)
- Updated all view nav bars with corrected margin/width calculations
- Nav bars now truly flush with sidebar edge
2026-01-23 18:21:49 -06:00
vicrodh 7c14a6835e fix: extend sticky nav bars edge-to-edge with sidebar
- ArtistDetailView: jump-nav now flush with sidebar (margin -44px left)
- FavoritesView: favorites-nav flush with sidebar
- LocalLibraryView: jump-nav flush with sidebar
- SettingsView: settings-nav flush with sidebar
- All navs compensate for both main-content and view padding
- Radio animation: faster floating messages (1.2s), infinite loop
2026-01-23 18:17:34 -06:00
vicrodh 87e4b7c356 style(artist): add floating text animation to radio loading
Step 2 of radio button animation:
- Add wrapper for positioning context
- Floating messages appear above button and fade upward
- Uses Svelte #key directive to re-trigger animation on message change
- Absolute positioning ensures no layout shift
2026-01-23 18:13:00 -06:00
vicrodh a1d5f8a137 style(artist): add rotating arcs animation to radio button
- Replace expanding button with rotating concentric arcs
- Outer arc: rotates clockwise at 1.2s
- Inner arc: rotates counter-clockwise at 1.8s
- Animation uses absolute positioning, doesn't affect layout
- Button maintains size during loading state
2026-01-23 18:11:56 -06:00
vicrodh 65716c9e07 style(artist): restructure header per design specs
- Move action buttons below Similar Artists section
- Remove images from Similar Artists (text-only with bullet separators)
- Remove solid background from biography
- Add thin font weight (300) to bio area
- Update Similar Artists to uppercase title with letter-spacing
2026-01-23 18:11:07 -06:00
vicrodh 008ef6e443 fix(artist): add data-track-id attribute for scroll-to-track
The scrollToTrack function queries for [data-track-id] but the
attribute was missing on track rows, preventing track focus from
context.
2026-01-23 17:20:23 -06:00
vicrodh edfb167393 i18n: add translations for sort options and artist sections
- Add sort translations: default, newest, oldest, titleAsc, titleDesc, artist
- Add missing artist section translations: tributes, others, playlists
- Both English and Spanish locales updated
2026-01-23 17:19:42 -06:00
vicrodh 5f30747ef5 style: add glass effect to LocalLibrary and Settings nav bars
- LocalLibraryView: fix jump-nav margins and add glass effect
- SettingsView: fix settings-nav margins and add glass effect
- Both: proper width calculations for full-width coverage
- Both: backdrop-filter blur for modern glass appearance
2026-01-23 17:17:11 -06:00
vicrodh 69b51ac9c1 style(favorites): add glass effect and fix nav width
- Add backdrop-filter blur to favorites-nav for glass effect
- Fix nav margins to match parent padding (24px left, 8px right)
- Add proper width calculation for full-width coverage
2026-01-23 17:16:13 -06:00
vicrodh cc6d14e24b fix(artist): jump-nav full width and consistent section headers
- Fix jump-nav to span 100% of content width with proper margins
- Make Popular Tracks section header consistent with other sections
- Add track count badge to Popular Tracks
- Remove unused section-header-row CSS
2026-01-23 17:14:54 -06:00
vicrodh 77e4619e7b fix(artist): add missing onAddAlbumToPlaylist to Others section
The Others section was missing the onAddAlbumToPlaylist prop that
other album sections have, making the context menu inconsistent.
2026-01-23 17:10:14 -06:00
vicrodh 89a9f2e130 style(artist): consistent section-header-left wrapper for all sections
Apply section-header-left wrapper to all remaining album sections
for consistent structure (EPs & Singles, Live Albums, Compilations,
Tributes & Covers, Others, Playlists).
2026-01-23 17:09:46 -06:00
vicrodh 1aeb3642c6 fix(artist): move sort dropdown to discography header
- Move album sort dropdown from jump-nav to Discography section header
- Align sort dropdown to right of section title
- Revert similar artists styling to original
- Sort now only applies to album sections below it
2026-01-23 17:06:18 -06:00
vicrodh d371711e59 style(artist): improve artist view visual design
- Add album counts to section headers (Discography, EPs & Singles, etc.)
- Add glass effect to sticky jump navigation bar
- Wrap discography sections in cards with rounded corners
- Improve similar artists section with chip-style buttons
- Add card styling to biography section
- Improve top tracks section with card background
- Better visual separation with gradient dividers
- Consistent spacing and typography updates
2026-01-23 16:54:43 -06:00
vicrodh e86734c9a7 fix(tray): restore window properly from tray menu
Add unminimize() call to show_hide menu handler to match left-click
behavior. Also add logging for debugging visibility state.
2026-01-23 16:49:33 -06:00
vicrodh 4aa76a0ed4 feat(artist): add album sorting in artist view
Add sort dropdown in artist detail view jump navigation with options:
- Default (API order)
- Newest First (by release year)
- Oldest First (by release year)
- Title (A-Z / Z-A)

Sorting applies to all album sections: albums, EPs/singles, live albums,
compilations, tributes, and others.
2026-01-23 16:45:24 -06:00
vicrodh d8d87c8955 feat(favorites): add album sorting options
Add sort dropdown for favorite albums with options:
- Default (API order)
- Newest First (by release date)
- Oldest First (by release date)
- Title (A-Z / Z-A)
- Artist

Sort preference is persisted to localStorage.
2026-01-23 16:41:51 -06:00
vicrodh 077aa01356 feat(settings): add system tray settings
Add tray icon configuration options:
- Enable/disable tray icon (requires restart)
- Minimize to tray: hide window when clicking minimize
- Close to tray: hide window instead of quitting

Rust backend: TraySettingsState with SQLite persistence
Frontend: SettingsView tray subsection with toggles

Related to #15 (title bar settings)
2026-01-23 16:38:17 -06:00
vicrodh 3fb597f3fb fix(settings): simplify title bar settings to hide-only option
Remove "Use QBZ title bar" toggle since switching to system decorations
doesn't work reliably on Linux when the window was created without
decorations. Keep only "Hide title bar" option for tiling WM users.
2026-01-23 16:28:50 -06:00
vicrodh f5bcaf4178 fix(ui): make titlebar window buttons clickable
cx
2026-01-23 16:22:27 -06:00
vicrodh 150513179d fix(ui): make titlebar window buttons clickable
cx
2026-01-23 16:22:08 -06:00
vicrodh 3ac957ddda feat(settings): add title bar configuration
Phase 1 implementation:
- Add titleBarStore.ts for managing title bar visibility
- "Use QBZ title bar" toggle (default ON) - switches between custom and system decorations
- "Remove title bar" toggle (default OFF) - hides title bar completely for tiling WM users
- Dynamically adjust layout heights when title bar is hidden
- Add i18n translations (en/es)
- Settings integrate with Tauri window.setDecorations() API
2026-01-23 16:16:20 -06:00