import React from 'react' import PropTypes from 'prop-types' import Link from '@material-ui/core/Link' import Dialog from '@material-ui/core/Dialog' import IconButton from '@material-ui/core/IconButton' import TableContainer from '@material-ui/core/TableContainer' import Table from '@material-ui/core/Table' import TableBody from '@material-ui/core/TableBody' import TableRow from '@material-ui/core/TableRow' import TableCell from '@material-ui/core/TableCell' import Paper from '@material-ui/core/Paper' import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder' import inflection from 'inflection' import { useTranslate } from 'react-admin' import config from '../config' import { DialogTitle } from './DialogTitle' import { DialogContent } from './DialogContent' const links = { homepage: 'navidrome.org', reddit: 'reddit.com/r/Navidrome', twitter: 'twitter.com/navidrome', discord: 'discord.gg/xh7j7yF', source: 'github.com/navidrome/navidrome', featureRequests: 'github.com/navidrome/navidrome/issues', } const LinkToVersion = ({ version }) => { if (version === 'dev') { return {version} } const parts = version.split(' ') const commitID = parts[1].replace(/[()]/g, '') const isSnapshot = version.includes('SNAPSHOT') const url = isSnapshot ? `https://github.com/navidrome/navidrome/compare/v${ parts[0].split('-')[0] }...${commitID}` : `https://github.com/navidrome/navidrome/releases/tag/v${parts[0]}` return ( {parts[0]} {' (' + commitID + ')'} ) } const AboutDialog = ({ open, onClose }) => { const translate = useTranslate() return ( Navidrome Music Server {translate('menu.version')}: {Object.keys(links).map((key) => { return ( {translate(`about.links.${key}`, { _: inflection.humanize(inflection.underscore(key)), })} : {links[key]} ) })} ko-fi.com/deluan
) } AboutDialog.propTypes = { open: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired, } export { AboutDialog, LinkToVersion }