feat: add standalone Last.fm integration and settings management

- Implemented standalone Last.fm integration in the settings page.
- Added functionality to manage Last.fm credentials, including API key and secret.
- Introduced sidebar settings for toggling between expanded and collapsed views.
- Enhanced the Navidrome API with new methods for fetching starred items and album songs.
- Created a new Favorites page to display starred albums, songs, and artists with play and toggle favorite options.
- Added a Badge component for UI consistency across the application.
This commit is contained in:
2025-07-01 15:19:17 +00:00
committed by GitHub
parent 591faca2d3
commit f721213c4a
10 changed files with 1078 additions and 47 deletions

View File

@@ -4,6 +4,9 @@ import { getNavidromeAPI, Album, Artist, Song, Playlist, AlbumInfo, ArtistInfo }
import { useCallback } from 'react';
interface NavidromeContextType {
// API instance
api: ReturnType<typeof getNavidromeAPI>;
// Data
albums: Album[];
artists: Artist[];
@@ -387,6 +390,9 @@ export const NavidromeProvider: React.FC<NavidromeProviderProps> = ({ children }
}, [api, refreshData]);
const value: NavidromeContextType = {
// API instance
api,
// Data
albums,
artists,