Skip to content

add web client#4

Merged
johncmanuel merged 16 commits intomasterfrom
webplayer
Mar 28, 2026
Merged

add web client#4
johncmanuel merged 16 commits intomasterfrom
webplayer

Conversation

@johncmanuel
Copy link
Copy Markdown
Owner

@johncmanuel johncmanuel commented Mar 25, 2026

This pull request introduces several significant improvements to the pneuma project, focusing on enhanced web player support, UI/UX updates for the admin dashboard, playlist artwork handling, and codebase cleanup. The most notable changes include adding build and runtime support for the new web player, refining the admin dashboard's layout and navigation, improving playlist artwork management, and removing unused fields from the Track type. Additionally, the project dependencies are updated, and various utility functions are introduced for notifications.

Web Player and Build System Enhancements:

  • Added build and runtime support for the new web player UI, including updates to the Dockerfile, README.md, and server initialization to serve both the admin dashboard and web player assets. (Dockerfile, README.md, cmd/server/main.go) [1] [2] [3] [4] [5] [6]
  • Updated Vite configuration for the dashboard to set the correct base path during build, ensuring proper asset loading. (dashboard/vite.config.ts)

Admin Dashboard UI/UX Improvements:

  • Redesigned the dashboard's layout to include a top bar with a sign-out button and moved navigation to a sidebar, simplifying user actions and improving usability. (dashboard/src/App.svelte, dashboard/src/lib/components/Sidebar.svelte) [1] [2] [3] [4] [5]
  • Added a placeholder for a player navigation button in the sidebar for future expansion. (dashboard/src/lib/components/Sidebar.svelte) [1] [2]

Playlist Artwork and Notification Utilities:

  • Improved playlist artwork management by introducing new API functions for refreshing playlist art and handling related websocket events. (frontend/src/stores/ws.ts, frontend/wailsjs/go/desktop/App.js) [1] [2] [3] [4]
  • Added a new model for local playback session and several notification utility functions to the runtime JS API, enabling richer desktop notification support. (frontend/wailsjs/go/models.ts, frontend/wailsjs/runtime/runtime.js) [1] [2]

Codebase Cleanup and Dependency Updates:

  • Removed the unused replay_gain_track field from the Track type and related code, simplifying the data model. (frontend/src/stores/player.ts, frontend/src/lib/Player.svelte, frontend/src/lib/Playlists.svelte, frontend/src/lib/Queue.svelte, frontend/src/stores/localLibrary.ts, frontend/src/stores/playlists.ts) [1] [2] [3] [4] [5] [6]
  • Updated project dependencies, including an upgrade to wails/v2 and addition of go-toast for notifications. (go.mod)

Backend API and Event Handling:

  • Added new methods to the event publisher interface for user-targeted events and imported the media package for future enhancements. (internal/api/http/handlers/library.go) [1] [2]

In the future, a custom Svelte component library will be used to keep the UI consistent across the web player and desktop application. This will lead to better maintainability for the codebase.

@johncmanuel johncmanuel self-assigned this Mar 28, 2026
@johncmanuel johncmanuel marked this pull request as ready for review March 28, 2026 04:31
@johncmanuel johncmanuel merged commit 6bfbf91 into master Mar 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant