import React from 'react' import Table from '@material-ui/core/Table' import TableBody from '@material-ui/core/TableBody' import TableCell from '@material-ui/core/TableCell' import TableContainer from '@material-ui/core/TableContainer' import TableRow from '@material-ui/core/TableRow' import { BooleanField, DateField, TextField, NumberField, FunctionField, useTranslate, useRecordContext, } from 'react-admin' import inflection from 'inflection' import { BitrateField, SizeField } from './index' import { MultiLineTextField } from './MultiLineTextField' import { makeStyles } from '@material-ui/core/styles' import config from '../config' const useStyles = makeStyles({ gain: { '&:after': { content: (props) => (props.gain ? " ' db'" : ''), }, }, tableCell: { width: '17.5%', }, }) export const SongInfo = (props) => { const classes = useStyles({ gain: config.enableReplayGain }) const translate = useTranslate() const record = useRecordContext(props) const data = { path: , album: , discSubtitle: , albumArtist: , genre: ( r.genres?.map((g) => g.name).join(', ')} /> ), compilation: , bitRate: , channels: , size: , updatedAt: , playCount: , bpm: , comment: , } const optionalFields = ['discSubtitle', 'comment', 'bpm', 'genre'] optionalFields.forEach((field) => { !record[field] && delete data[field] }) if (record.playCount > 0) { data.playDate = } if (config.enableReplayGain) { data.albumGain = ( ) data.trackGain = ( ) } return ( {Object.keys(data).map((key) => { return ( {translate(`resources.song.fields.${key}`, { _: inflection.humanize(inflection.underscore(key)), })} : {data[key]} ) })}
) }