Files
pawol.nu/components/awtis/mizik-lyen.js
T

73 lines
2.6 KiB
JavaScript
Raw Normal View History

2023-07-22 13:45:08 +04:00
import PropTypes from 'prop-types'
import Link from 'next/link'
2024-04-14 07:07:49 +04:00
import Image from 'next/image'
2023-07-22 13:45:08 +04:00
import ListItemButton from '@mui/material/ListItemButton'
2024-04-14 07:07:49 +04:00
import Box from '@mui/material/Box'
2023-07-22 13:45:08 +04:00
import ListItemText from '@mui/material/ListItemText'
import Typography from '@mui/material/Typography'
import ListItemAvatar from '@mui/material/ListItemAvatar'
import Avatar from '@mui/material/Avatar'
import FiberNewOutlinedIcon from '@mui/icons-material/FiberNewOutlined'
import LibraryMusicIcon from '@mui/icons-material/LibraryMusic'
import ExplicitIcon from '@mui/icons-material/Explicit'
import {esBrandNew} from '../../lib/date'
import {getAlias} from '../../lib/utils/format'
const apiUrl = process.env.NEXT_PUBLIC_API_URL_ROOT || 'http://localhost:1337'
2023-07-22 14:50:26 +04:00
export default function MizikLyen({niAwtis, anPawol, kuveti, slug, meteEsMobilOuve}) {
2023-07-22 13:45:08 +04:00
return (
<Link
passHref
href={`/paroles/${anPawol.attributes.slug}#${anPawol.attributes.slug}`}
style={{textDecoration: 'none', width: '100%', display: 'flex', alignItems: 'center'}}
2023-07-22 14:50:26 +04:00
onClick={() => meteEsMobilOuve(false)}
2023-07-22 13:45:08 +04:00
>
<ListItemButton
sx={{padding: 0}}
id={anPawol.attributes.slug}
selected={slug === anPawol.attributes.slug}
>
<ListItemAvatar sx={{ml: 2.5}}>
<Avatar alt={anPawol.attributes.titre} src={`${apiUrl}${kuveti?.url}`} />
</ListItemAvatar>
<ListItemText
primary={<Typography sx={{fontWeight: 'bold'}} color='info.main'>{anPawol.attributes.titre}</Typography>}
secondary={niAwtis ? getAlias(anPawol.attributes.artistes, anPawol.attributes.prioriteArtistes) : null} />
2024-04-14 07:07:49 +04:00
{anPawol.attributes.creativeCommons && (
<Box marginInline={1}>
<Image
width={24}
height={24}
title='Creative Commons'
alt='ccheart_red'
src='/images/cc/icons/ccheart_red.svg'
/>
</Box>
)}
2023-07-22 13:45:08 +04:00
{esBrandNew(anPawol.attributes.publishedAt) && (
<FiberNewOutlinedIcon style={{fontSize: 30, marginRight: 5}} color='primary' />
)}
{anPawol.attributes.explicitLyrics && (
2023-07-26 08:06:27 +04:00
<ExplicitIcon style={{marginRight: 5}} color='error' />
2023-07-22 13:45:08 +04:00
)}
{anPawol.attributes.okiMizikID && (
<LibraryMusicIcon style={{fontSize: 30, marginRight: 5}} color='primary' />
)}
</ListItemButton>
</Link>
)
}
MizikLyen.propTypes = {
niAwtis: PropTypes.bool,
anPawol: PropTypes.object,
kuveti: PropTypes.object,
2023-07-22 14:50:26 +04:00
slug: PropTypes.string,
meteEsMobilOuve: PropTypes.func.isRequired
2023-07-22 13:45:08 +04:00
}