diff options
| author | realtradam <[email protected]> | 2024-06-06 19:24:45 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2024-06-06 19:24:45 -0400 |
| commit | 34346b1fd4fffd2571374f86b16084066dc4aa2d (patch) | |
| tree | 1f147151e9b1eb9449394d5adb1827b04c4841c5 /src/components/Games.jsx | |
| parent | 7a38eef00de0bb35565dda3ddb1efa748c22ea47 (diff) | |
| download | malcz.com-34346b1fd4fffd2571374f86b16084066dc4aa2d.tar.gz malcz.com-34346b1fd4fffd2571374f86b16084066dc4aa2d.zip | |
add seperate uploading page and update match backend functionality
Diffstat (limited to 'src/components/Games.jsx')
| -rw-r--r-- | src/components/Games.jsx | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/src/components/Games.jsx b/src/components/Games.jsx deleted file mode 100644 index 173b3b7..0000000 --- a/src/components/Games.jsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { useState, useEffect } from "react"; -//import { Link } from "react-router-dom"; -import GameCard from "./GameCard"; -import Button from "./Button"; - -//export default () => ( -export default function Games () { - const [games, setGames] = useState([]); - useEffect(() => { - const url = `${import.meta.env.VITE_API_TITLE}/api/v1/games`; - fetch(url).then((response) => { - if (response.ok) { - return response.json(); - } - throw new Error("Network response was not ok."); - }).then((response) => setGames(response))//.catch(() => navigate("/")); - }, []); - const allGames = games.map((game) => ( - <GameCard link={`/game/${game.titleSlug}`} game={game} key={game.id}/> - )); - var handleSubmit = (e) => { - e.preventDefault() //stops submit from happening - const form = e.target; - const formData = new FormData() - formData.append('game[title]', form.title.value) - formData.append('game[img_rendering]', form.img_rendering.value) - for(let i =0; i < form.game_files.files.length; i++) - { - formData.append('game[game_files][]', form.game_files.files[i], form.game_files.files[i].value); - } - formData.append('game[card_img]', form.card_img.files[0], form.card_img.value); - formData.append('game[char_img]', form.char_img.files[0], form.char_img.value); - formData.append('game[title_img]', form.title_img.files[0], form.title_img.value); - - for (var pair of formData.entries()) { - console.log(pair[0] + ', ' + pair[1]) - }; - - fetch(`${import.meta.env.VITE_API_TITLE}/api/v1/games`, { - method: 'post', - body: formData, - }); - } - return( - <> - <div> - <div className="flex flex-col gap-16 max-w-6xl shrink"> - <div className="title font-bold text-6xl font-title">Games</div> - <div className=""> - <div className="jumbotron jumbotron-fluid bg-transparent"> - <div className="container secondary-color"> - <form onSubmit={handleSubmit} action="/upload" method="post" className="flex flex-col gap-4"> - <div> - <label>Title</label> - <input type="text" name="title" /> - </div> - <div> - <label>Image Rendering</label> - <select name="img_rendering"> - <option value="pixelated">Pixelated</option> - <option value="crisp-edges">Crisp Edges</option> - </select> - </div> - <div> - <label>Files</label> - <input type="file" multiple="multiple" name="game_files" /> - </div> - <div> - <label>Card Image</label> - <input type="file" name="card_img" /> - </div> - <div> - <label>Character Image</label> - <input type="file" name="char_img" /> - </div> - <div> - <label>Title Image</label> - <input type="file" name="title_img" /> - </div> - <div style={{ boxShadow: 'rgba(255,255,255,.1) 0 1px 0,rgba(0,0,0,.8) 0 1px 7px 0 inset' }} className="p-[5px] w-min h-min bg-stone-800 rounded-[5px]"> - <Button width={ 28 } height={ 12 } link={ <button type="submit" className="w-28 h-12 bg-stone-transparent text-stone-50 rounded">Submit</button> }/> - </div> - - </form> - </div> - </div> - </div> - <div className="flex flex-row flex-wrap gap-20 justify-around"> - { allGames } - </div> - </div> - </div> - </> - ); -}; |
