diff --git a/src/Components/addChart/addChart.js b/src/Components/addChart/addChart.js deleted file mode 100644 index 6e1af3e..0000000 --- a/src/Components/addChart/addChart.js +++ /dev/null @@ -1,2 +0,0 @@ -import './addChart.css'; - diff --git a/src/Components/chart/chart.jsx b/src/Components/chart/chart.jsx index 202510f..00c4217 100644 --- a/src/Components/chart/chart.jsx +++ b/src/Components/chart/chart.jsx @@ -4,7 +4,7 @@ const Chart = ({ data }) => { return (
- {data.name} + {data.title}
{data.difficulty.map((item, index) => { return ( @@ -21,7 +21,7 @@ const Chart = ({ data }) => {
-
{data.name}
+
{data.title}
{data.artist}
diff --git a/src/Components/addChart/addChart.css b/src/Route/Admin/AddChart/AddChart.css similarity index 100% rename from src/Components/addChart/addChart.css rename to src/Route/Admin/AddChart/AddChart.css diff --git a/src/Route/Admin/AddChart/AddChart.jsx b/src/Route/Admin/AddChart/AddChart.jsx new file mode 100644 index 0000000..16dd91e --- /dev/null +++ b/src/Route/Admin/AddChart/AddChart.jsx @@ -0,0 +1,95 @@ +import { getFirestore, collection, addDoc } from 'firebase/firestore'; +import './AddChart.css'; + +function AddChart() { + function handleSubmit(e) { + e.preventDefault(); + + const form = e.target; + const formData = new FormData(form); + + let date = new Date(); + let id = `${formData.get('title').slice(0, 3).toLowerCase()}` + + `${formData.get('title').length}` + + `${formData.get('artist').length}` + + `${formData.get('artist').slice(0, 3).toLowerCase()}` + + `${formData.get('category').length}`; + + const formatedData = { + "id": id, + "title": formData.get('title'), + "artist": formData.get('artist'), + "category": formData.get('category'), + "difficulty": [ + { + "Easy": formData.get('easy'), + "Basic": formData.get('basic'), + "Advance": formData.get('advance'), + "Expert": formData.get('expert'), + "Master": formData.get('master'), + "Remaster": formData.get('remaster'), + } + ], + "imageCover": formData.get('image'), + } + + const db = getFirestore(); + addDoc(collection(db, "Chart"), formatedData).then(() => { + console.log("Document successfully written!"); + window.location.href = "/charts"; + }).catch((error) => { + console.error("Error writing document: ", error); + }); + } + + + return ( +
+

Add Chart

+
+
+ + +
+
+ + +
+
+ + +
+
+

Difficulty:

+ + + + + + + + + + + + +
+
+ + +
+ +
+
+ ); +} + +export default AddChart; \ No newline at end of file diff --git a/src/Route/Charts/Charts.jsx b/src/Route/Charts/Charts.jsx index b02ffc9..ff8d115 100644 --- a/src/Route/Charts/Charts.jsx +++ b/src/Route/Charts/Charts.jsx @@ -29,7 +29,7 @@ function Charts() {
{charts.map((item, index) => { return ( - + ) diff --git a/src/router.jsx b/src/router.jsx index f1be79c..517cd07 100644 --- a/src/router.jsx +++ b/src/router.jsx @@ -1,6 +1,7 @@ import Index from './Route/Index/Index'; import Charts from './Route/Charts/Charts'; import ChartScore from './Route/ChartScore/ChartScore'; +import AddChart from './Route/Admin/AddChart/AddChart'; import NotFound from './Route/NotFound/NotFound'; const router = [ @@ -13,9 +14,13 @@ const router = [ element: , }, { - path: "/charts/:chartId", + path: "/charts/:chartId/score", element: , }, + { + path: "/admin/charts/add", + element: , + }, { path: "*", element: ,