Skip to content

Inventario dei Componenti UI โ€‹

Catalogo dei principali componenti React dell'applicazione web (webapp/src/), organizzati per directory. Per la struttura generale, vedi architecture-webapp.md.

Layout (components/layout/) โ€‹

  • MainLayout.tsx: Struttura principale dell'app (barra laterale, barra di riproduzione, area dei contenuti).
  • Sidebar.tsx: Navigazione principale tra le varie sezioni.

Music Player (components/player/) โ€‹

  • PlayerBar.tsx: Barra del riproduttore globale (controlli, avanzamento, volume, coda).
  • PlayerCanvas.tsx: Vista estesa / visualizzazione grafica del riproduttore.
  • QueuePanel.tsx: Visualizzazione e gestione della coda di riproduzione.
  • LyricsPanel.tsx: Pannello per i testi sincronizzati delle canzoni.
  • Waveform.tsx: Visualizzazione grafica della forma d'onda del brano.

Artista (components/artist/) โ€‹

  • ArtistFediversePanel.tsx: Pannello dedicato alle interazioni nel Fediverso per l'artista.

Amministrazione (components/admin/) โ€‹

  • Elenchi di libreria: AdminArtistsList, AdminAlbumsList, AdminTracksList, AdminReleasesList, AdminAssetsList, AdminUsersList.
  • Pannelli: AdminSettingsPanel, IntegrationsPanel, StoragePanel, AdminFederationPanel, ActivityPubPanel, IdentityPanel, AdminMaintenancePanel, BackupPanel.
  • CurationQueue.tsx: Coda di curatela per promuovere le bozze a pubblicazioni ufficiali.

Modali (components/modals/) โ€‹

Qui sono raccolte le finestre di dialogo dell'applicazione. Le principali:

  • Autenticazione e configurazione: AuthModal, SetupWizardModal, ChangePasswordCard (in ui/), ArtistKeysModal.
  • Pubblicazione: UploadTracksModal, AdminReleaseModal, AdminTrackModal, AdminArtistModal, AdminAssetModal, BatchTrackEditModal, ArtistMetadataPickerModal, CreatePostModal.
  • Acquisto/Sblocco: CheckoutModal, UnlockModal, UnlockCodeManager, SubscriptionModal.
  • Playlist e tracce: CreateUserPlaylistModal, PlaylistModal, AddTrackToUserPlaylistModal, TrackPickerModal, AddBandcampTrackModal, AddYouTubeTrackModal.
  • CommandPalette.tsx: Tavolozza dei comandi rapidi (ricerca/azioni rapide).

Interfaccia Base (components/ui/) โ€‹

  • PageHeader.tsx: Intestazione standard per le pagine.
  • ReleaseCard.tsx: Scheda descrittiva di un album o di una pubblicazione.
  • ThemeSwitcher.tsx: Selettore per il tema chiaro/scuro.
  • WalletPill.tsx: Indicatore dello stato del wallet Web3.
  • ChangePasswordCard.tsx: Modulo per la modifica della password.

Componenti Root (components/) โ€‹

  • Comments.tsx: Sezione dedicata ai commenti per tracce e album.
  • RelatedTracks.tsx: Suggerimenti per tracce correlate.
  • MetadataMatchModal.tsx: Corrispondenza dei metadati da provider esterni.

Pagine (pages/) โ€‹

Ogni file rappresenta una rotta. Pagine principali: Home, Library, Artists, ArtistDetails, AlbumDetails, Tracks, Releases, Store, Playlists, PlaylistDetails, MyPlaylistDetails, MyMusic, Favorites, Search, ContentSearch, Network, Social, Post, Board, Dig (crate digging), Live (streaming live HLS), Stats, Profile, Wallet, Support, About, SharePage, Files, Tools, Publish, Admin, AdminReleaseEditor.

Note sullo Sviluppo โ€‹

I componenti sono scritti in TypeScript utilizzando Componenti Funzionali e Hooks. Lo stile grafico fa uso di fogli di stile CSS standard con variabili per il tema chiaro/scuro.

Rilasciato sotto licenza MIT.