diff --git a/components/arcade/showcase/project-edit.js b/components/arcade/showcase/project-edit.js index 30a0da5b..676d373e 100644 --- a/components/arcade/showcase/project-edit.js +++ b/components/arcade/showcase/project-edit.js @@ -5,12 +5,19 @@ import Submit from '../../submit' import { useState } from 'react' import Icon from '@hackclub/icons' import FileInput from '../../../pages/api/arcade/showcase/projects/[projectID]/file-input' +/** @jsxImportSource theme-ui */ + const ProjectEditForm = ({ project }) => { const [previewProject, setPreviewProject] = useState(project) + const [screenshot, setScreenshot] = useState(project.screenshot) + const [newScreenshot, setNewScreenshot] = useState('') + + const [video, setVideo] = useState(project.video) + const [newVideo, setNewVideo] = useState('') function publishedChanges(e) { console.log('published changes', e) - + console.log(color) } const { status, formProps, useField, data } = useForm( @@ -23,11 +30,37 @@ const ProjectEditForm = ({ project }) => { } ) - // const [color, setColor] = useState(project.color); + const updateScreenshot = newMedia => { + if (screenshot.some(item => item === newMedia)) { + alert('This media already exists and cannot be added.') + return + } + setScreenshot(screenshot => [...screenshot, newMedia]) + } - // const handleColorChange = (e) => { - // setColor(e.target.value); - // }; + const deleteScreenshot = deletedMedia => { + setScreenshot(screenshot.filter(item => !item.includes(deletedMedia))) + } + + const updateNewScreenshot = e => { + setNewScreenshot(e.target.value) + } + + const updateVideo = newMedia => { + if (video.some(item => item === newMedia)) { + alert('This media already exists and cannot be added.') + return + } + setVideo(video => [...video, newMedia]) + } + + const deleteVideo = deletedMedia => { + setVideo(video.filter(item => !item.includes(deletedMedia))) + } + + const updateNewVideo = e => { + setNewVideo(e.target.value) + } return ( { display: 'flex', width: '100%', mb: 2, - color: '#333', + color: '#333' }} > Editing {project.title} details { sx={{ border: '1px dashed', borderColor: '#09AFB4', mb: 2 }} /> -