Adding back the woodpecker
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
apatil 2025-05-07 22:15:19 +01:00
parent eab2a94445
commit 78122d32f7
2 changed files with 22 additions and 21 deletions

View File

@ -3,11 +3,12 @@ steps:
image: docker:latest image: docker:latest
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- /home/pi/music:app/music
commands: commands:
- docker build -t portfolio . - docker build -t portfolio .
- docker stop portfolio || true - docker stop portfolio || true
- docker rm portfolio || true - docker rm portfolio || true
- docker run -d -p 8080:8080 --name portfolio portfolio - docker run -d -p 8080:8080 -v /home/pi/music:/app/music --name portfolio portfolio
when: when:
event: push event: push
branch: main branch: main

View File

@ -3,11 +3,11 @@ import { useEffect, useState } from 'react';
import { import {
Container, Typography, List, ListItem, ListItemText, Box, Button, Input, Container, Typography, List, ListItem, ListItemText, Box, Button, Input,
ListItemButton, ListItemButton,
ListItemIcon, ListItemIcon
CardMedia
} from '@mui/material'; } from '@mui/material';
import UploadIcon from '@mui/icons-material/Upload'; import UploadIcon from '@mui/icons-material/Upload';
import AudioPlayer from '@/components/AudioPlayer/AudioPlayer'; import AudioPlayer from '@/components/AudioPlayer/AudioPlayer';
import AudiotrackIcon from '@mui/icons-material/Audiotrack';
export default function Home() { export default function Home() {
const [tracks, setTracks] = useState<string[]>([]); const [tracks, setTracks] = useState<string[]>([]);
@ -50,24 +50,11 @@ export default function Home() {
<Typography variant="body1" gutterBottom textAlign="center"> <Typography variant="body1" gutterBottom textAlign="center">
The grizzly made some tunes while he was bored grazing the blueberry patches in the high dessert. The grizzly made some tunes while he was bored grazing the blueberry patches in the high dessert.
</Typography> </Typography>
{currentTrack && (
<Box textAlign="center" mt={3}>
<AudioPlayer title={`${currentTrack.split('.')[0]}`} src={`/app/music/${encodeURIComponent(currentTrack)}`} />
</Box>
)}
<List>
{tracks.map((track, idx) => (
<ListItem key={idx} onClick={() => setCurrentTrack(track)} disablePadding>
<ListItemButton>
<ListItemIcon>
<CardMedia component={"img"} image={`/api/music/${encodeURIComponent(track)}/cover`} alt='Album cover' />
</ListItemIcon>
<ListItemText primary={track.split('.')[0]} />
</ListItemButton>
</ListItem> <Box textAlign="center" mt={3}>
))} <AudioPlayer title={`${currentTrack?.split('.')[0]}`} src={currentTrack ? `/api/music/${encodeURIComponent(currentTrack)}` : ''} />
</List> </Box>
<Box textAlign="center" mb={3}> <Box textAlign="center" mb={3}>
<label htmlFor="upload"> <label htmlFor="upload">
<Input <Input
@ -77,11 +64,24 @@ export default function Home() {
inputProps={{ accept: '.mp3, .m4a, audio/mpeg, audio/mp4, audio/x-m4a' }} inputProps={{ accept: '.mp3, .m4a, audio/mpeg, audio/mp4, audio/x-m4a' }}
onChange={handleUpload} onChange={handleUpload}
/> />
<Button variant="contained" component="span" startIcon={<UploadIcon />} disabled={uploading}> <Button variant="contained" color='error' component="span" startIcon={<UploadIcon />} disabled={uploading}>
{uploading ? 'Uploading...' : 'Upload'} {uploading ? 'Uploading...' : 'Upload'}
</Button> </Button>
</label> </label>
</Box> </Box>
<List>
{tracks.map((track, idx) => (
<ListItem key={idx} onClick={() => setCurrentTrack(track)} disablePadding>
<ListItemButton>
<ListItemIcon>
<AudiotrackIcon color='primary' />
</ListItemIcon>
<ListItemText primary={track.split('.')[0]} />
</ListItemButton>
</ListItem>
))}
</List>
</Container> </Container>
); );
} }