mirror of
https://github.com/navidrome/navidrome.git
synced 2025-06-19 00:04:15 +03:00
Use a ☆ instead of the word "starred"
This commit is contained in:
parent
ac8f92d7ac
commit
cac1a20ec8
@ -6,12 +6,12 @@ import {
|
|||||||
ListToolbar,
|
ListToolbar,
|
||||||
TextField,
|
TextField,
|
||||||
useListController,
|
useListController,
|
||||||
useTranslate,
|
|
||||||
} from 'react-admin'
|
} from 'react-admin'
|
||||||
import classnames from 'classnames'
|
import classnames from 'classnames'
|
||||||
import { useDispatch } from 'react-redux'
|
import { useDispatch } from 'react-redux'
|
||||||
import { Card, useMediaQuery } from '@material-ui/core'
|
import { Card, useMediaQuery } from '@material-ui/core'
|
||||||
import { makeStyles } from '@material-ui/core/styles'
|
import { makeStyles } from '@material-ui/core/styles'
|
||||||
|
import StarBorderIcon from '@material-ui/icons/StarBorder'
|
||||||
import { playTracks } from '../audioplayer'
|
import { playTracks } from '../audioplayer'
|
||||||
import {
|
import {
|
||||||
DurationField,
|
DurationField,
|
||||||
@ -46,6 +46,10 @@ const useStyles = makeStyles(
|
|||||||
flexWrap: 'wrap',
|
flexWrap: 'wrap',
|
||||||
},
|
},
|
||||||
noResults: { padding: 20 },
|
noResults: { padding: 20 },
|
||||||
|
columnIcon: {
|
||||||
|
marginLeft: '3px',
|
||||||
|
verticalAlign: 'text-top',
|
||||||
|
},
|
||||||
}),
|
}),
|
||||||
{ name: 'RaList' }
|
{ name: 'RaList' }
|
||||||
)
|
)
|
||||||
@ -66,7 +70,6 @@ const trackName = (r) => {
|
|||||||
|
|
||||||
const AlbumSongs = (props) => {
|
const AlbumSongs = (props) => {
|
||||||
const classes = useStyles(props)
|
const classes = useStyles(props)
|
||||||
const translate = useTranslate()
|
|
||||||
const classesToolbar = useStylesListToolbar(props)
|
const classesToolbar = useStylesListToolbar(props)
|
||||||
const dispatch = useDispatch()
|
const dispatch = useDispatch()
|
||||||
const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs'))
|
const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs'))
|
||||||
@ -147,7 +150,14 @@ const AlbumSongs = (props) => {
|
|||||||
{isDesktop && <TextField source="artist" sortable={false} />}
|
{isDesktop && <TextField source="artist" sortable={false} />}
|
||||||
<DurationField source="duration" sortable={false} />
|
<DurationField source="duration" sortable={false} />
|
||||||
<SongContextMenu
|
<SongContextMenu
|
||||||
label={translate('resources.song.fields.starred')}
|
source={'starred'}
|
||||||
|
sortable={false}
|
||||||
|
label={
|
||||||
|
<StarBorderIcon
|
||||||
|
fontSize={'small'}
|
||||||
|
className={classes.columnIcon}
|
||||||
|
/>
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</SongDatagrid>
|
</SongDatagrid>
|
||||||
)}
|
)}
|
||||||
|
@ -96,7 +96,11 @@ const SongContextMenu = ({ record, showStar, onAddToPlaylist, visible }) => {
|
|||||||
disabled={updating}
|
disabled={updating}
|
||||||
className={classes.star}
|
className={classes.star}
|
||||||
>
|
>
|
||||||
{record.starred ? <StarIcon /> : <StarBorderIcon />}
|
{record.starred ? (
|
||||||
|
<StarIcon fontSize={'small'} />
|
||||||
|
) : (
|
||||||
|
<StarBorderIcon fontSize={'small'} />
|
||||||
|
)}
|
||||||
</IconButton>
|
</IconButton>
|
||||||
)}
|
)}
|
||||||
<IconButton
|
<IconButton
|
||||||
|
@ -58,7 +58,6 @@ export const SongDatagridRow = ({
|
|||||||
? child
|
? child
|
||||||
: cloneElement(child, {
|
: cloneElement(child, {
|
||||||
visible: contextVisible || visible,
|
visible: contextVisible || visible,
|
||||||
...child.props,
|
|
||||||
...rest,
|
...rest,
|
||||||
}))
|
}))
|
||||||
)}
|
)}
|
||||||
|
@ -5,9 +5,11 @@ import {
|
|||||||
NumberField,
|
NumberField,
|
||||||
SearchInput,
|
SearchInput,
|
||||||
TextField,
|
TextField,
|
||||||
useTranslate,
|
|
||||||
} from 'react-admin'
|
} from 'react-admin'
|
||||||
import { useMediaQuery } from '@material-ui/core'
|
import { useMediaQuery } from '@material-ui/core'
|
||||||
|
import { makeStyles } from '@material-ui/core/styles'
|
||||||
|
import StarBorderIcon from '@material-ui/icons/StarBorder'
|
||||||
|
import StarIcon from '@material-ui/icons/Star'
|
||||||
import {
|
import {
|
||||||
DurationField,
|
DurationField,
|
||||||
List,
|
List,
|
||||||
@ -22,16 +24,27 @@ import { setTrack } from '../audioplayer'
|
|||||||
import { SongBulkActions } from './SongBulkActions'
|
import { SongBulkActions } from './SongBulkActions'
|
||||||
import { AlbumLinkField } from './AlbumLinkField'
|
import { AlbumLinkField } from './AlbumLinkField'
|
||||||
|
|
||||||
|
const useStyles = makeStyles({
|
||||||
|
columnIcon: {
|
||||||
|
marginLeft: '3px',
|
||||||
|
verticalAlign: 'text-top',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
const SongFilter = (props) => (
|
const SongFilter = (props) => (
|
||||||
<Filter {...props}>
|
<Filter {...props}>
|
||||||
<SearchInput source="title" alwaysOn />
|
<SearchInput source="title" alwaysOn />
|
||||||
<QuickFilter source="starred" defaultValue={true} />
|
<QuickFilter
|
||||||
|
source="starred"
|
||||||
|
label={<StarIcon fontSize={'small'} />}
|
||||||
|
defaultValue={true}
|
||||||
|
/>
|
||||||
</Filter>
|
</Filter>
|
||||||
)
|
)
|
||||||
|
|
||||||
const SongList = (props) => {
|
const SongList = (props) => {
|
||||||
|
const classes = useStyles()
|
||||||
const dispatch = useDispatch()
|
const dispatch = useDispatch()
|
||||||
const translate = useTranslate()
|
|
||||||
const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs'))
|
const isXsmall = useMediaQuery((theme) => theme.breakpoints.down('xs'))
|
||||||
const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('md'))
|
const isDesktop = useMediaQuery((theme) => theme.breakpoints.up('md'))
|
||||||
return (
|
return (
|
||||||
@ -73,7 +86,12 @@ const SongList = (props) => {
|
|||||||
{isDesktop ? (
|
{isDesktop ? (
|
||||||
<SongContextMenu
|
<SongContextMenu
|
||||||
source={'starred'}
|
source={'starred'}
|
||||||
label={translate('resources.song.fields.starred')}
|
label={
|
||||||
|
<StarBorderIcon
|
||||||
|
fontSize={'small'}
|
||||||
|
className={classes.columnIcon}
|
||||||
|
/>
|
||||||
|
}
|
||||||
sortBy={'starred DESC, starredAt ASC'}
|
sortBy={'starred DESC, starredAt ASC'}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user