feat(medium): Optimize Spotify Track Selection UI for High Density#9547
feat(medium): Optimize Spotify Track Selection UI for High Density#9547arii wants to merge 4 commits into
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
👋 Welcome to HRM!Thanks for your contribution. This repository uses Gemini AI for automated triage, code review, and generation. 🤖 Gemini Manual Trigger Quick Reference
For more details and GitHub CLI examples, see the Manual Trigger Guide. |
ℹ️ Gemini Review DisabledAutomatic review is currently disabled via Via Comment: Via GitHub Actions:
Via GitHub CLI: gh workflow run reusable-gemini-review.yml -f pr_number=9547🤖 Manual Trigger Quick Reference
Full reference: Manual Trigger Guide To re-enable: Set repository variable |
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Manual Trigger Quick Reference
|
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Manual Trigger Quick Reference
|
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
🤖 AI Technical AuditPR Review: Spotify Track Selection UI OptimizationArchitectural ImpactThis PR shifts the data contract between the Spotify API route and the UI, moving from flattened properties (e.g., Anti-AI-Slop
File-by-File Analysis
|
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
🤖 AI Technical AuditCode Review - PR #9547Architectural ImpactThis PR transitions the Spotify track selection from a heavy Table-based layout to a high-density List-based architecture. This significantly improves mobile UX but introduces several breaking changes in internal data contracts (e.g., changing Anti-AI-Slop Directives
File-by-File Analysis1.
|
- Keep `duration` field alongside `duration_ms` for backward compatibility in API responses and types. - Standardize `SpotifyPlaylistItem` type by simplifying `artists` to a `string` and removing redundant `imageUrl`. - Remove redundant Play/Pause `IconButton` in `PlaylistTracksDisplay` and handle clicks on the row directly. - Migrate index-based playback to URI-based playback in `PlaylistTracksDisplay`. - Fix TypeScript error in `socketManager.ts` by replacing `as any` cast. - Resolve unused imports linting issues. - Update related unit tests to match architecture changes. Co-authored-by: arii <342438+arii@users.noreply.github.com>
- Fix `TypeError` regarding `offset: { uri }` in `PlaylistTracksDisplay` and `spotify-selection/page.tsx` by updating `useSpotifyCommand` payload type to accept either `position` or `uri`.
- Fix `SpotifyCommandParameters` TS error in `socketManager.ts` by explicitly importing `SpotifyCommandParameters`.
Co-authored-by: arii <342438+arii@users.noreply.github.com>
🤖 AI Technical AuditPR Review: Spotify Track Selection UI OptimizationSummaryThis PR introduces a high-density track listing UI using MUI's Anti-AI-Slop Section
File-by-File Analysis
|
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
|
@pr-squash |
## Description This PR optimizes the Spotify track selection UI for better information density and visual clarity on mobile devices. Fixes #9309 ## Change Type: ✨ New feature (non-breaking change adding functionality) ## Related Issues Closes #9309 ## Changes Made - **High-Density Layout:** Replaced the bulky table in `PlaylistTracksDisplay` and the loose list in `PlaylistDetails` with ultra-compact Material-UI lists (`dense`, `py: 0.5`). - **Album Thumbnails:** Added rounded album art thumbnails to each track using `ListItemAvatar`. - **Metadata Mapping:** Enhanced the Spotify tracks API route to include full album objects, fixing the "Unknown Album" bug. - **Consistent Typography:** Standardized metadata display using `body2` and `caption` variants with a bullet point separator. - **Accessibility:** Ensured interactive targets maintain a minimum 40px height for WCAG 2.1 compliance. ## Testing Successfully ran unit tests and verified the visual changes with Playwright screenshots. <details> <summary>Original PR Body</summary> This PR optimizes the Spotify track selection UI for better information density and visual clarity on mobile devices. ### Key Changes: - **High-Density Layout:** Replaced the bulky table in `PlaylistTracksDisplay` and the loose list in `PlaylistDetails` with ultra-compact Material-UI lists (`dense`, `py: 0.5`). - **Album Thumbnails:** Added rounded album art thumbnails to each track using `ListItemAvatar`. - **Metadata Mapping:** Enhanced the Spotify tracks API route to include full album objects, fixing the "Unknown Album" bug. - **Consistent Typography:** Standardized metadata display using `body2` and `caption` variants with a bullet point separator. - **Accessibility:** Ensured interactive targets maintain a minimum 40px height for WCAG 2.1 compliance. - **Verification:** Successfully ran unit tests and verified the visual changes with Playwright screenshots. Fixes #9309 --- *PR created automatically by Jules for task [14059094504088146715](https://jules.google.com/task/14059094504088146715) started by @arii* </details>
✅ Commits squashed successfully!🤖 Gemini Manual Trigger Guide |
1ec258d to
7e498e7
Compare
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
…-14059094504088146715
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
…-14059094504088146715
🤖 Gemini Review SkippedReview was skipped for the following reason: 🤖 Gemini Manual Trigger Guide |
Description
This PR optimizes the Spotify track selection UI for better information density and visual clarity on mobile devices.
Fixes #9309
Change Type: ✨ New feature (non-breaking change adding functionality)
Related Issues
Closes #9309
Changes Made
PlaylistTracksDisplayand the loose list inPlaylistDetailswith ultra-compact Material-UI lists (dense,py: 0.5).ListItemAvatar.body2andcaptionvariants with a bullet point separator.Testing
Successfully ran unit tests and verified the visual changes with Playwright screenshots.
Original PR Body
This PR optimizes the Spotify track selection UI for better information density and visual clarity on mobile devices.
Key Changes:
PlaylistTracksDisplayand the loose list inPlaylistDetailswith ultra-compact Material-UI lists (dense,py: 0.5).ListItemAvatar.body2andcaptionvariants with a bullet point separator.Fixes #9309
PR created automatically by Jules for task 14059094504088146715 started by @arii