Files
navidrome/ui/src/dialogs/ExpandInfoDialog.js
T
2021-09-26 17:36:30 -04:00

58 lines
1.4 KiB
JavaScript

import React from 'react'
import PropTypes from 'prop-types'
import { useDispatch, useSelector } from 'react-redux'
import { RecordContextProvider, useTranslate } from 'react-admin'
import {
Button,
Dialog,
DialogActions,
DialogContent,
DialogTitle,
} from '@material-ui/core'
import { closeExtendedInfoDialog } from '../actions'
const ExpandInfoDialog = ({ title, content }) => {
const { open, record } = useSelector((state) => state.expandInfoDialog)
const dispatch = useDispatch()
const translate = useTranslate()
const handleClose = (e) => {
dispatch(closeExtendedInfoDialog())
e.stopPropagation()
}
return (
<Dialog
open={open}
onClose={handleClose}
onBackdropClick={handleClose}
aria-labelledby="info-dialog-album"
fullWidth={true}
maxWidth={'sm'}
>
<DialogTitle id="info-dialog-album">
{translate(title || 'resources.song.actions.info')}
</DialogTitle>
<DialogContent>
{record && (
<RecordContextProvider value={record}>
{content}
</RecordContextProvider>
)}
</DialogContent>
<DialogActions>
<Button onClick={handleClose} color="primary">
{translate('ra.action.close')}
</Button>
</DialogActions>
</Dialog>
)
}
ExpandInfoDialog.propTypes = {
title: PropTypes.string,
content: PropTypes.object.isRequired,
}
export default ExpandInfoDialog