navidrome/ui/src/common/index.js
Deluan Quintão afb3a2f881
feat(ui): add Refresh Metadata action to the album and artist pages (#6078)
The Refresh Metadata action was only reachable from the Album and Artist context menus, so it could not be triggered from AlbumShow or ArtistShow. This adds an icon-only button, with a tooltip, to the action toolbar on both detail pages. Like the menu entry, it is only rendered for admins.

The button is built on react-admin's Button rather than a plain IconButton: the surrounding toolbars use the former, so the theme colour and the icon-only swap at the xs breakpoint are inherited instead of restated. The dataProvider call and its two notifications move into a new useRefreshMetadata hook, which ContextMenus now shares, keeping a single copy of that logic.
2026-09-02 23:29:31 -04:00

54 lines
1.7 KiB
JavaScript

export * from './AddToPlaylistButton'
export * from './artist'
export * from './ArtistLinkField'
export * from './BatchPlayButton'
export * from './BitrateField'
export * from './CollapsibleComment'
export * from './ContextMenus'
export * from './DateField'
export * from './DocLink'
export * from './DurationField'
export * from './List'
export * from './MultiLineTextField'
export * from './Pagination'
export * from './perPageStore'
export * from './PlayButton'
export * from './QuickFilter'
export * from './RangeField'
export * from './ShuffleAllButton'
export * from './SimpleList'
export * from './SizeField'
export * from './SongContextMenu'
export * from './SongDatagrid'
export * from './SongInfo'
export * from './SongTitleField'
export * from './LoveButton'
export * from './Title'
export * from './SongBulkActions'
export * from './useAlbumsPerPage'
export * from './useGetHandleArtistClick'
export * from './useInterval'
export * from './useResourceRefresh'
export * from './useScrollRestoration'
export * from './useRefreshOnEvents'
export * from './useToggleLove'
export * from './useTraceUpdate'
export * from './Writable'
export * from './SongSimpleList'
export * from './RatingField'
export * from './RefreshMetadataButton'
export * from './useRefreshMetadata'
export * from './useRating'
export * from './useSelectedFields'
export * from './ToggleFieldsMenu'
export * from './QualityInfo'
export * from './formatRange.js'
export * from './playlistUtils.js'
export * from './PathField.jsx'
export * from './ParticipantsInfo'
export * from './OverflowTooltip'
export * from './useSearchRefocus'
export * from './ImageUploadOverlay'
export * from './ArtworkAvatar'
export * from './useImageLoadingState'
export * from './useImageUrl'