Refactor dialogs, make it simple to add a new dialog to all views

This commit is contained in:
Deluan
2023-01-24 11:53:42 -05:00
parent 26be5b8396
commit 17d9573f4d
10 changed files with 14 additions and 28 deletions
-4
View File
@@ -24,11 +24,9 @@ import {
import AlbumListActions from './AlbumListActions' import AlbumListActions from './AlbumListActions'
import AlbumTableView from './AlbumTableView' import AlbumTableView from './AlbumTableView'
import AlbumGridView from './AlbumGridView' import AlbumGridView from './AlbumGridView'
import { AddToPlaylistDialog } from '../dialogs'
import albumLists, { defaultAlbumList } from './albumLists' import albumLists, { defaultAlbumList } from './albumLists'
import config from '../config' import config from '../config'
import AlbumInfo from './AlbumInfo' import AlbumInfo from './AlbumInfo'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
import ExpandInfoDialog from '../dialogs/ExpandInfoDialog' import ExpandInfoDialog from '../dialogs/ExpandInfoDialog'
const AlbumFilter = (props) => { const AlbumFilter = (props) => {
@@ -138,8 +136,6 @@ const AlbumList = (props) => {
<AlbumTableView {...props} /> <AlbumTableView {...props} />
)} )}
</List> </List>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<ExpandInfoDialog content={<AlbumInfo />} /> <ExpandInfoDialog content={<AlbumInfo />} />
</> </>
) )
-4
View File
@@ -28,9 +28,7 @@ import {
DateField, DateField,
SizeField, SizeField,
} from '../common' } from '../common'
import { AddToPlaylistDialog } from '../dialogs'
import config from '../config' import config from '../config'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
import ExpandInfoDialog from '../dialogs/ExpandInfoDialog' import ExpandInfoDialog from '../dialogs/ExpandInfoDialog'
const useStyles = makeStyles( const useStyles = makeStyles(
@@ -189,8 +187,6 @@ const AlbumSongs = (props) => {
</SongDatagrid> </SongDatagrid>
</Card> </Card>
</div> </div>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<ExpandInfoDialog content={<SongInfo />} /> <ExpandInfoDialog content={<SongInfo />} />
</> </>
) )
-4
View File
@@ -17,7 +17,6 @@ import FavoriteIcon from '@material-ui/icons/Favorite'
import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder' import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder'
import { makeStyles } from '@material-ui/core/styles' import { makeStyles } from '@material-ui/core/styles'
import { useDrag } from 'react-dnd' import { useDrag } from 'react-dnd'
import { AddToPlaylistDialog } from '../dialogs'
import { import {
ArtistContextMenu, ArtistContextMenu,
List, List,
@@ -32,7 +31,6 @@ import {
import config from '../config' import config from '../config'
import ArtistListActions from './ArtistListActions' import ArtistListActions from './ArtistListActions'
import { DraggableTypes } from '../consts' import { DraggableTypes } from '../consts'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
const useStyles = makeStyles({ const useStyles = makeStyles({
contextHeader: { contextHeader: {
@@ -178,8 +176,6 @@ const ArtistList = (props) => {
> >
<ArtistListView {...props} /> <ArtistListView {...props} />
</List> </List>
<AddToPlaylistDialog />
<DownloadMenuDialog />
</> </>
) )
} }
-4
View File
@@ -8,10 +8,8 @@ import ArtistExternalLinks from './ArtistExternalLink'
import config from '../config' import config from '../config'
import { ArtistContextMenu, RatingField } from '../common' import { ArtistContextMenu, RatingField } from '../common'
import Lightbox from 'react-image-lightbox' import Lightbox from 'react-image-lightbox'
import { AddToPlaylistDialog } from '../dialogs'
import ExpandInfoDialog from '../dialogs/ExpandInfoDialog' import ExpandInfoDialog from '../dialogs/ExpandInfoDialog'
import AlbumInfo from '../album/AlbumInfo' import AlbumInfo from '../album/AlbumInfo'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
import subsonic from '../subsonic' import subsonic from '../subsonic'
const useStyles = makeStyles( const useStyles = makeStyles(
@@ -152,8 +150,6 @@ const DesktopArtistDetails = ({ artistInfo, record, biography }) => {
/> />
)} )}
</Card> </Card>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<ExpandInfoDialog content={<AlbumInfo />} /> <ExpandInfoDialog content={<AlbumInfo />} />
</div> </div>
) )
+11
View File
@@ -0,0 +1,11 @@
import { AddToPlaylistDialog } from './AddToPlaylistDialog'
import DownloadMenuDialog from './DownloadMenuDialog'
import { HelpDialog } from './HelpDialog'
export const Dialogs = (props) => (
<>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<HelpDialog />
</>
)
+1 -2
View File
@@ -1,5 +1,4 @@
export * from './AboutDialog' export * from './AboutDialog'
export * from './AddToPlaylistDialog'
export * from './SelectPlaylistInput' export * from './SelectPlaylistInput'
export * from './HelpDialog'
export * from './ListenBrainzTokenDialog' export * from './ListenBrainzTokenDialog'
export * from './Dialogs'
+2
View File
@@ -12,6 +12,7 @@ import ViewListIcon from '@material-ui/icons/ViewList'
import InfoIcon from '@material-ui/icons/Info' import InfoIcon from '@material-ui/icons/Info'
import PersonIcon from '@material-ui/icons/Person' import PersonIcon from '@material-ui/icons/Person'
import SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount' import SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount'
import { Dialogs } from '../dialogs/Dialogs'
import { AboutDialog } from '../dialogs' import { AboutDialog } from '../dialogs'
import PersonalMenu from './PersonalMenu' import PersonalMenu from './PersonalMenu'
import ActivityPanel from './ActivityPanel' import ActivityPanel from './ActivityPanel'
@@ -127,6 +128,7 @@ const CustomUserMenu = ({ onClick, ...rest }) => {
<Divider /> <Divider />
<AboutMenuItem /> <AboutMenuItem />
</UserMenu> </UserMenu>
<Dialogs />
</> </>
) )
} }
-2
View File
@@ -9,7 +9,6 @@ import AlbumIcon from '@material-ui/icons/Album'
import SubMenu from './SubMenu' import SubMenu from './SubMenu'
import inflection from 'inflection' import inflection from 'inflection'
import albumLists from '../album/albumLists' import albumLists from '../album/albumLists'
import { HelpDialog } from '../dialogs'
import PlaylistsSubMenu from './PlaylistsSubMenu' import PlaylistsSubMenu from './PlaylistsSubMenu'
import config from '../config' import config from '../config'
@@ -139,7 +138,6 @@ const Menu = ({ dense = false }) => {
) : ( ) : (
resources.filter(subItems('playlist')).map(renderResourceMenuItemLink) resources.filter(subItems('playlist')).map(renderResourceMenuItemLink)
)} )}
<HelpDialog />
</div> </div>
) )
} }
-4
View File
@@ -27,11 +27,9 @@ import {
DateField, DateField,
ArtistLinkField, ArtistLinkField,
} from '../common' } from '../common'
import { AddToPlaylistDialog } from '../dialogs'
import { AlbumLinkField } from '../song/AlbumLinkField' import { AlbumLinkField } from '../song/AlbumLinkField'
import { playTracks } from '../actions' import { playTracks } from '../actions'
import PlaylistSongBulkActions from './PlaylistSongBulkActions' import PlaylistSongBulkActions from './PlaylistSongBulkActions'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
import ExpandInfoDialog from '../dialogs/ExpandInfoDialog' import ExpandInfoDialog from '../dialogs/ExpandInfoDialog'
const useStyles = makeStyles( const useStyles = makeStyles(
@@ -214,8 +212,6 @@ const PlaylistSongs = ({ playlistId, readOnly, actions, ...props }) => {
</ReorderableList> </ReorderableList>
</Card> </Card>
</div> </div>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<ExpandInfoDialog content={<SongInfo />} /> <ExpandInfoDialog content={<SongInfo />} />
{React.cloneElement(props.pagination, listContext)} {React.cloneElement(props.pagination, listContext)}
</> </>
-4
View File
@@ -31,10 +31,8 @@ import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder'
import { setTrack } from '../actions' import { setTrack } from '../actions'
import { SongListActions } from './SongListActions' import { SongListActions } from './SongListActions'
import { AlbumLinkField } from './AlbumLinkField' import { AlbumLinkField } from './AlbumLinkField'
import { AddToPlaylistDialog } from '../dialogs'
import { SongBulkActions, QualityInfo, useSelectedFields } from '../common' import { SongBulkActions, QualityInfo, useSelectedFields } from '../common'
import config from '../config' import config from '../config'
import DownloadMenuDialog from '../dialogs/DownloadMenuDialog'
import ExpandInfoDialog from '../dialogs/ExpandInfoDialog' import ExpandInfoDialog from '../dialogs/ExpandInfoDialog'
const useStyles = makeStyles({ const useStyles = makeStyles({
@@ -196,8 +194,6 @@ const SongList = (props) => {
</SongDatagrid> </SongDatagrid>
)} )}
</List> </List>
<AddToPlaylistDialog />
<DownloadMenuDialog />
<ExpandInfoDialog content={<SongInfo />} /> <ExpandInfoDialog content={<SongInfo />} />
</> </>
) )