Fix issue "checkbox are not aligned with text when multi-selecting"#1500
Fix issue "checkbox are not aligned with text when multi-selecting"#1500SimeonAT wants to merge 10 commits intomusic-assistant:mainfrom
Conversation
…ing the checkboxes and genre titles.
There was a problem hiding this comment.
Pull request overview
This PR aims to fix multi-select list-view alignment issues by changing how the checkbox and item title are rendered so the checkbox aligns with the item’s title text.
Changes:
- Added a new
ListviewItemTitle.vuecomponent to encapsulate title rendering (folder name, version/year, explicit icon tooltip). - Updated
ListviewItem.vueto render a checkbox + label in the#prependslot when multi-select is enabled. - Refactored/removes inline title logic from
ListviewItem.vueto use the new component.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| src/components/ListviewItemTitle.vue | New extracted title component (folder/title text + explicit tooltip). |
| src/components/ListviewItem.vue | Moves checkbox rendering to #prepend and replaces inline title with the new component. |
Comments suppressed due to low confidence (2)
src/components/ListviewItemTitle.vue:65
compPropsis declared withwithDefaults(defineProps(...))but never used; the template accessesdisplayName/item/showCheckboxesdirectly. Consider either usingcompPropsconsistently (to apply defaults) or removing it to avoid dead code and confusion.
const compProps = withDefaults(defineProps<Props>(), {
displayName: "",
showCheckboxes: false,
});
src/components/ListviewItem.vue:228
- Component naming is inconsistent here:
ListviewitemTitleuses a lower-caseiinitem, while the file isListviewItemTitle.vueand other component imports in this file use PascalCase. Rename the import/local component name (and the template tag) toListviewItemTitlefor consistency and readability.
import ListviewitemTitle from "./ListviewItemTitle.vue";
import { Checkbox } from "@/components/ui/checkbox";
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
|
Regarding Co-Pilot's comments that were suppressed due to low confidence:
I added default values for Following the convention in
I don't believe it is necessary to change the name of the component. The |
feat(genres): add genre merge implementation fix(genres): fix infoheader title feat(genres): add empty genre filtering, refine deletion fix(genres): backend review comments Add visual indication of server startup stage some linting Add genre filter for pages (music-assistant#1496) * Add genre filter for pages * Update src/components/ItemsListing.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/layouts/default/ItemContextMenu.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * reviews --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Separate UI-only config entries from API schema; inject DSP link via UI entry helpers (music-assistant#1384) * refactor(settings): separate UI-only config entries from API types * auto cosmetics * fix ts typing issues * fix dsp settings category after merging * Use ConfigEntryUI consitently feat(genres): add descriptions to translations (music-assistant#1497) fix(genres): ensure merge candidate list is fully populated Fix player spinner for all layouts Fix some errors printed in the console Fix default menu items config lint Exploring how the Vuetify checkbox label component works. Aligned display name with the checkbox. Remove actions buttons when checkboxes are being shown. Don't show context menu when checkboxes are shown. Centered checkbox items The action buttons, the checkboxes, and the genre titles are aligned. Remove notes to self Add manual media item to genre linking (music-assistant#1501) * feat(genres): add manual mediaitem to genre linking * fix(genres): ensure only library items can be linked to genres Disable podcasts and audiobooks in main menu when library is empty (music-assistant#1499) Replace genre and alias icons with Compass and Route (music-assistant#1502) Show item version in display name of list item. Create component for displaying the title of a list item. Component shows display name Add item version Moved all information about title into title component Use title component in list view item Add checkbox as global style Remove unused import, and edited checkbox css Formatted code Working on add proper spacing between title and explicit icon when checkboces are shown. Rename 'home' to 'discover' across the entire app (music-assistant#1505) Add missing genre route definitions and filters (music-assistant#1503) Fix mobile nav not closing when item selected (music-assistant#1506) Shorten settings categories some linting Add sound modes and player options (music-assistant#1454) Add needs_setup + group_volume_muted to Player interface Add alert when player needs setup + show protocols lint after model change Hide fullscreen player & player menu when player settings button clicked (music-assistant#1507) Unify volume controls + add group popover (music-assistant#1508) * Make the volume slider consistent across components * lint * Make slider use server side up/down commands * Add popout for individual volume sliders * lint * fix popout size * Include group volume on popover * lint Add search to bottom navigation (music-assistant#1510) * Add search to bottom navigation * lint * Highlight active page * Focus search field when reclicking on search in bottom * Drop header on search * Highlight and remember media type filter on search Improve player popover responsive layout + refactor event handling (music-assistant#1509) Fix refresh on new version and replace it with a toast (music-assistant#1511) Fix weird extra space when opened in ingress Fix "This player is disabled" banner flash (music-assistant#1512) Tweak PlayerSelect a bit reduce spacing between child player rows Fix alignment of contextmenu header Allow access to the BottomNavigation when the PlayerMenu is open (music-assistant#1513) Add margin between explicit icon and item name when checkboxes are shown.
Remove whitespace that appears when song is not explicit. Remove Vuetify tooltip Add Shadcn checkbox Shadcn checkbox can now modify list item Remove Vuetify checkbox Align checkbox with subtitle Make the enqueue options in the contextmenu more clear Temporary fix so the user doesnt get stuck on the players menu (music-assistant#1515) Remove redundant speaker button from floating player lint playerfullscreen Always show play button on listitem, move track duration fix floating player z-index Rounded style for overlayed menus (music-assistant#1525) Change username min required characters to 2 instead of 3 (music-assistant#1526) Adapt the column counts when the player menu is open or closed (music-assistant#1514) Chore(deps): Bump vue from 3.5.28 to 3.5.29 (music-assistant#1524) Bumps [vue](https://github.com/vuejs/core) from 3.5.28 to 3.5.29. - [Release notes](https://github.com/vuejs/core/releases) - [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md) - [Commits](vuejs/core@v3.5.28...v3.5.29) --- updated-dependencies: - dependency-name: vue dependency-version: 3.5.29 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps): Bump happy-dom from 20.5.3 to 20.7.0 (music-assistant#1523) Bumps [happy-dom](https://github.com/capricorn86/happy-dom) from 20.5.3 to 20.7.0. - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](capricorn86/happy-dom@v20.5.3...v20.7.0) --- updated-dependencies: - dependency-name: happy-dom dependency-version: 20.7.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps-dev): Bump @types/node from 25.2.3 to 25.3.3 (music-assistant#1522) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.2.3 to 25.3.3. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 25.3.3 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps): Bump vue-router from 5.0.2 to 5.0.3 (music-assistant#1521) Bumps [vue-router](https://github.com/vuejs/router) from 5.0.2 to 5.0.3. - [Release notes](https://github.com/vuejs/router/releases) - [Commits](vuejs/router@v5.0.2...v5.0.3) --- updated-dependencies: - dependency-name: vue-router dependency-version: 5.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps): Bump @tailwindcss/vite from 4.2.0 to 4.2.1 (music-assistant#1520) Bumps [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-vite) --- updated-dependencies: - dependency-name: "@tailwindcss/vite" dependency-version: 4.2.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps): Bump reka-ui from 2.8.0 to 2.8.2 (music-assistant#1518) Bumps [reka-ui](https://github.com/unovue/reka-ui) from 2.8.0 to 2.8.2. - [Release notes](https://github.com/unovue/reka-ui/releases) - [Commits](unovue/reka-ui@v2.8.0...v2.8.2) --- updated-dependencies: - dependency-name: reka-ui dependency-version: 2.8.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Chore(deps): Bump @tabler/icons-vue from 3.37.1 to 3.38.0 (music-assistant#1516) Bumps [@tabler/icons-vue](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-vue) from 3.37.1 to 3.38.0. - [Release notes](https://github.com/tabler/tabler-icons/releases) - [Commits](https://github.com/tabler/tabler-icons/commits/v3.38.0/packages/icons-vue) --- updated-dependencies: - dependency-name: "@tabler/icons-vue" dependency-version: 3.38.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Make PlayerCard a bit more dense hide scrollbars Properly align the widget rows to the side of the screen Make the homescreen widgets more compact Add support for multiple media types in playlist (music-assistant#1504) * adapt playlist create dialog * add to playlist * ui updates * Small improvements --------- Co-authored-by: stvncode <steven.travers20@gmail.com> Lokalise translations update (music-assistant#1527) Translations update Co-authored-by: OzGav <OzGav@users.noreply.github.com> Revert work on the reload toast for chunks (music-assistant#1528) * Revert work on the reload toast for chunks * review Align the players controls so they are in more consistent positions (music-assistant#1529) Few UI scale fixes + fix 1 thumb shown on large screens (music-assistant#1530) Chore(deps): Bump colorthief from 2.6.0 to 2.7.0 (music-assistant#1517) * Chore(deps): Bump colorthief from 2.6.0 to 2.7.0 Bumps [colorthief](https://github.com/lokesh/color-thief) from 2.6.0 to 2.7.0. - [Release notes](https://github.com/lokesh/color-thief/releases) - [Commits](lokesh/color-thief@v2.6.0...v2.7.0) --- updated-dependencies: - dependency-name: colorthief dependency-version: 2.7.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * fix build --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: stvncode <steven.travers20@gmail.com> Do not inline the PlayerMenu on desktop (music-assistant#1531) Map each checkbox label to the correspond item of the media item. Adjust spacing between explicit icon and song name. Remove global checkbox CSS class Add back whitespace to keep all global.css exactly the same as in main branch. Replace explicit `any` types with proper TypeScript types across code… (music-assistant#1533) * Replace explicit `any` types with proper TypeScript types across codebase Remove ~55 `any` occurrences across 29 files, replacing them with proper types (`unknown`, specific interfaces, union types, generics) to prepare for enabling the `@typescript-eslint/no-explicit-any` ESLint rule. 9 remaining `any` usages are guarded with eslint-disable-next-line comments for known limitations (TanStack/Zod schema casts, contravariant event handler Maps, SVG icon component record, Promise command Map). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix TypeScript build errors from `any` type removal - Cast evt.data to Record<string, unknown> in HomeWidgetRows.vue - Replace null with undefined in RepeatBtn.vue color sources - Add ?? fallback for RepeatMode in RepeatBtn.vue click handler --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Gray out protocol badges when protocol is unavailable. Improve removal of any (music-assistant#1535) fix: Optimize NowPlaying badge animation to minimize CPU usage Update src/components/ListviewItemTitle.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/components/ListviewItemTitle.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Added is-playing class to List View Item Title component Add margin bottom to align checkbox and song name with song subtitle when checkboxes are shown. Set default values for all props except for media item Add back is-playing class to the necessary <span/> elements Replace transition: all with specific properties for GPU offload Narrows all 14 transition: all declarations to only the properties actually being animated, allowing the browser to skip layout recalculation and composite on the GPU where possible. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Apply eslint auto-formatting to transition declarations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Use requestAnimationFrame for smooth 60fps progress bar updates Replace setInterval(500ms) with rAF loop so the player timeline slider moves smoothly instead of in visible half-second jumps. A 1s fallback interval keeps text labels current when the tab is backgrounded. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Add missing color transition to LyricsViewer, throttle rAF to ~15fps, use strict null checks - Add color to LyricsViewer transition list to prevent visual snap on active lyric - Throttle PlayerTimeline rAF loop to ~15fps (64ms) to reduce unnecessary reactivity - Normalize null checks to strict equality (=== / !==) in PlayerTimeline Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Fix bottom player bottom not showing on phones now playing feat: add party mode guest interface with server API integration Add guest view and party mode features: - GuestView for guests to search and add songs - PartyView for hosts to show QR code - PartyModeQR component for QR code display - Rate limiting composable for client-side token management - Guest search with relevance scoring - Auth plugin updates for party mode guest detection Key change: Guest queue operations now use party_mode/add_to_queue and party_mode/skip API endpoints instead of generic queue commands. This gives the server full control over guest queue behavior. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> fix: Use new extra-attribute names fix: update extra_attributes to use new party mode keys Update PlayerFullscreen.vue, GuestView.vue, and interfaces.ts to use the new party_mode_guest and party_mode_boosted attribute names instead of the old added_by_user_role and queue_option keys. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> chore: Merge conflict cleanup fix: auth/join_code/exchange api refactor: Simplify PartyModeQR to handle string | null response The party_mode/url API now returns a plain string or null instead of a dict with url/code/expires_at fields. Simplify the frontend accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> fix: Wait for API init before checking party route access The party route's beforeEnter guard was checking store.enabledPlugins before the API had initialized, causing a redirect to home on page refresh. Now waits for ConnectionState.INITIALIZED first, matching the pattern used by the admin route guard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> fix: Fix performance issue with background blur Add some tests Update src/layouts/default/Footer.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/plugins/router.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/views/Login.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/views/PartyView.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/views/PartyView.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/views/Login.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/App.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Update src/plugins/auth.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> copilot reviews fix ci fix: add guest role to display dialog options feat: Some shadcn updates fix: Fix invalid command party_mode/config chore: Refactor guest view and rename files chore: formatting fix: Fix player controls fix: Revert bottom nav changes fix: Use User in favor of provider_name fix: Update party mode username fix: Revert party user name fix: Use ?? for consistancy fix: Remove duplicate EventType import in App.vue Consolidated the duplicate EventType import (imported once as EventType and again as ApiEventType) into a single import. Removed unused UserRole import. fix: Deduplicate party_mode/config API calls Created usePartyModeConfig composable to centralize config fetching with request deduplication and caching. Previously Footer, SidebarFooter, PartyModeDisplayView, PartyModeGuestView, PartyModeQR, and PlayerFullscreen all independently fetched party_mode/config. Also added missing qr_* fields to PartyModeConfig interface. fix: Remove unused frameless property from store The frameless mode support was removed from Default.vue but the store property was left behind. No other code references it. fix: Use clearAuth() instead of setToken("") on guest code failure setToken("") would store an empty string and attempt to decode it as JWT. clearAuth() properly nulls out the token, claims, and removes the stored token from localStorage. Revert "fix: Remove unused frameless property from store" This reverts commit 7966b08. fix: Restore frameless mode support in Default.vue The party mode changes inadvertently removed the existing frameless query parameter support used by external integrations. This restores the v-if/v-else template logic and the route.query.frameless watcher. fix: Prevent footer flash on /party entry Don't hide footer/remove bottom padding until party config has actually loaded. Previously config starting as null caused a brief flash where the footer would disappear then reappear. fix: Replace custom snackbar with vue-sonner toast in guest view Use the same toast system as the rest of the app instead of a custom v-snackbar implementation. Removes the showSnackbar callback pattern from useGuestSearch in favor of direct toast calls. fix: Wire height prop in BottomNavigation component The height was hardcoded to 60 ignoring the prop passed by Footer.vue. Now accepts a height prop (default 60) so PWA mode correctly uses 70. chore: formatting fix: Add missing PartyModeConfig fields in rate limiting test feat: Add back arrow to guest search bar Shows a back arrow to the left of the search input when viewing search results or artist tracks. Tapping it returns to the queue view. Browser and mobile back buttons already provided this behavior; this adds a visible in-page control. fix: scroll when going back to queue Fix album art and playing animation not always properly scaling Fix mobile search bar width and remove search button Fix party mode page not reloading after settings have changed. fix: Align back button with search bar chore: Reorganize translations fix: Update PlayerViewFullscreen badge styling fix: More string fixes chore: formatting chore: Reorder and remove unused translation items Apply suggestion from @stvncode Co-authored-by: Steven Travers <steven.travers20@gmail.com> chore: Merge conflicts fix: Make countdown color match tokens left fix: Remove NowPlaying badge on current track due to poor performance chore: revert bottomnav changes fix: Re-add now playing animation (optimized) Open Party mode in a new tab Change now playing colour to MA blue and QR code to white Make 'search result (25) fit on oneline Move skip button in guest view so that titles are visible when a badge is applied Change skip button to MA blue Make the badges scale to screensize Make QR code and song title scale to screensize Test commit Revert "Test commit" This reverts commit 54e0553. Fix guest view now-playing state and queue item badge visibility - Set store.activePlayerId from party mode player in guest view (guests use PartyModeGuestLayout which skips Default layout's player selection) - Fix NowPlayingBadge v-if to properly include isPlaying in condition - Remove bogus zod/v4/locales import from PartyModeQueueItem - Add debug logging for isPlaying state (temporary, for ongoing debugging) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Tweak design of search result actions and item Fix translation issue with token badges + tweak styling Tweak queue item styling Initial search bar styling tweaks fix: Revert to solid boost button color style: Button styling style: Try out text only buttons with balanced layout Revert "style: Try out text only buttons with balanced layout" This reverts commit 1d35f9c. style: fix boost button Revert "Merge branch 'jukebox-view' of https://github.com/apophisnow/ma-frontend into jukebox-view" This reverts commit b9774c2, reversing changes made to 0370e65. fix: Disable webplayer for dashboard page Chore(deps): Bump svgo from 3.3.2 to 3.3.3 (music-assistant#1538) Bumps [svgo](https://github.com/svg/svgo) from 3.3.2 to 3.3.3. - [Release notes](https://github.com/svg/svgo/releases) - [Commits](svg/svgo@v3.3.2...v3.3.3) --- updated-dependencies: - dependency-name: svgo dependency-version: 3.3.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Stop sidebar showing when mobile layout forced (music-assistant#1545) Chore(deps): Bump immutable from 5.0.3 to 5.1.5 (music-assistant#1537) Bumps [immutable](https://github.com/immutable-js/immutable-js) from 5.0.3 to 5.1.5. - [Release notes](https://github.com/immutable-js/immutable-js/releases) - [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md) - [Commits](immutable-js/immutable-js@v5.0.3...v5.1.5) --- updated-dependencies: - dependency-name: immutable dependency-version: 5.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Fix issue scrolling on the add to playlist dialog Add all fixes stated in code review, and adjusted CSS to align checkbox & title with subtitle when checkboxes are shown. Improve now playing screen phone (music-assistant#1543) * optimize album art and font size * Center text vertically * Tweak cutoff values for album title and player button for Galaxy S8+ screens * Give quality icon a bit more breathing room * Feedback * Slightly increase the font-size * Gradient + tiny bump fontsize * Gradient from -25% till +25% * Fix queue overlap and add padding to art Improve 'Now playing' screen for other resolutions as well (music-assistant#1548) * Rounded corners on other resolutions * Vertically center text a bit more * Feedback * Feedback Fix scrollbar in PWA now playing. Float artist and songtile up. Fix fonts for queue and artist/title. Fix padding for quality icon. Fix song title overflowing and not scrolling on mobile. Fix overlap of quality icon. Feedback.
3b2bc26 to
2154fd3
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
src/components/ListviewItemTitle.vue
Outdated
| <TooltipProvider> | ||
| <Tooltip> | ||
| <TooltipTrigger> | ||
| <v-icon |
There was a problem hiding this comment.
TooltipProvider is instantiated per list item/title. Since the default layout already wraps the app in a TooltipProvider (via SidebarProvider), this is redundant and can add unnecessary overhead in long lists. Consider removing the per-item TooltipProvider here and relying on the top-level provider.
There was a problem hiding this comment.
Just need to change that and we are good to go 😃
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Hey @SimeonAT , thanks for your efforts! Just had a quick look and this experience is not nice. We should maintain the same space as the icon, now the text jumps back and forth. Also, the font seems to change when we start multi selecting, this should remain the same. Here is a video: Screen.Recording.2026-03-11.at.09.37.10.mov |
Pull request fixes the issue where the checkboxes are not aligned with the title of a list of genres or songs when the multi-select UI is enabled. This issue is discussed in Music Assistant Project Board (view).
On Desktop:

On Mobile:
