From a2dcbd56d9ffa75b27880110c682be666326301b Mon Sep 17 00:00:00 2001 From: Julien Date: Wed, 22 Mar 2023 16:20:53 +0100 Subject: [PATCH 1/4] Formulaire d'ajout d'une musique --- src/Route/Admin/AddChart/AddChart.css | 6 +++ src/Route/Admin/AddChart/AddChart.jsx | 69 ++++++++++++++++++--------- 2 files changed, 53 insertions(+), 22 deletions(-) diff --git a/src/Route/Admin/AddChart/AddChart.css b/src/Route/Admin/AddChart/AddChart.css index e69de29..e404bd2 100644 --- a/src/Route/Admin/AddChart/AddChart.css +++ b/src/Route/Admin/AddChart/AddChart.css @@ -0,0 +1,6 @@ +input[type=text] { + width: 30%; + padding: 0.5em 1em; + margin: 0.5em ; + box-sizing: border-box; + } \ No newline at end of file diff --git a/src/Route/Admin/AddChart/AddChart.jsx b/src/Route/Admin/AddChart/AddChart.jsx index 16dd91e..44d6104 100644 --- a/src/Route/Admin/AddChart/AddChart.jsx +++ b/src/Route/Admin/AddChart/AddChart.jsx @@ -48,16 +48,16 @@ function AddChart() {

Add Chart

- - + +
- - + +
- - @@ -68,25 +68,50 @@ function AddChart() {
-

Difficulty:

- - - - - - - - - - - - +
+

Difficulty:

+
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+
+
+ +
- - +
-
); From ee8fb2a0459c9220ca62293f07d981d133285247 Mon Sep 17 00:00:00 2001 From: Julien Date: Thu, 23 Mar 2023 12:30:03 +0100 Subject: [PATCH 2/4] =?UTF-8?q?champs=20de=20difficult=C3=A9es=20plus=20re?= =?UTF-8?q?sponsive=20et=20nom=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Route/Admin/AddChart/AddChart.jsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Route/Admin/AddChart/AddChart.jsx b/src/Route/Admin/AddChart/AddChart.jsx index 44d6104..d4ee9b5 100644 --- a/src/Route/Admin/AddChart/AddChart.jsx +++ b/src/Route/Admin/AddChart/AddChart.jsx @@ -68,38 +68,38 @@ function AddChart() {
-
+

Difficulty:

-
+
- +
- +
- +
- +
- +
- +
From 317242c4f4c2d384a93f6893c1427845dd87203e Mon Sep 17 00:00:00 2001 From: Julien Date: Thu, 23 Mar 2023 12:30:57 +0100 Subject: [PATCH 3/4] nom de la page --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 79c4701..034b0bf 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - Vite + React + Maimai-Score
From 691f2550700bd822269f98a42d8e32e2a8815871 Mon Sep 17 00:00:00 2001 From: nenes Date: Fri, 24 Mar 2023 09:56:46 +0100 Subject: [PATCH 4/4] Edit admin form --- Commands/pushDefaultValue.cjs | 57 ++++ README.md | 34 +- src/charts.json => charts.json | 12 +- index.html | 4 +- kurami.json | 3 + package-lock.json | 393 ++++++++++++---------- package.json | 7 +- public/maimai.png | Bin 0 -> 20390 bytes scores.cjs | 67 ++++ src/Components/chart/chart.css | 2 +- src/Components/navbar/navbar.jsx | 89 +++++ src/Route/Admin/AddChart/AddChart.jsx | 54 ++- src/Route/ChartAddScore/ChartAddScore.css | 33 ++ src/Route/ChartAddScore/ChartAddScore.jsx | 130 +++++++ src/Route/ChartScore/ChartScore.css | 23 ++ src/Route/ChartScore/ChartScore.jsx | 166 ++++++++- src/Route/Charts/Charts.css | 3 +- src/Route/Charts/Charts.jsx | 24 ++ src/Route/Index/Index.jsx | 69 +++- src/assets/maimai.png | Bin 0 -> 20390 bytes src/assets/yuki.png | Bin 0 -> 80513 bytes src/index.css | 14 +- src/main.jsx | 3 +- src/router.jsx | 9 + tailwind.config.cjs | 4 +- 25 files changed, 985 insertions(+), 215 deletions(-) create mode 100644 Commands/pushDefaultValue.cjs rename src/charts.json => charts.json (86%) create mode 100644 kurami.json create mode 100644 public/maimai.png create mode 100644 scores.cjs create mode 100644 src/Components/navbar/navbar.jsx create mode 100644 src/Route/ChartAddScore/ChartAddScore.css create mode 100644 src/Route/ChartAddScore/ChartAddScore.jsx create mode 100644 src/assets/maimai.png create mode 100644 src/assets/yuki.png diff --git a/Commands/pushDefaultValue.cjs b/Commands/pushDefaultValue.cjs new file mode 100644 index 0000000..cff2e96 --- /dev/null +++ b/Commands/pushDefaultValue.cjs @@ -0,0 +1,57 @@ +const { BaseCommand } = require('kurami'); +const { getFirestore, collection, addDoc } = require('firebase/firestore'); +const chartData = require('./../charts.json'); +const scoreData = require('../scores.cjs'); +const { initializeApp } = require("firebase/app"); + +class pushDefaultValue extends BaseCommand { + constructor() { + super({ + name: 'load:default:data', + description: 'Push some default charts and scores', + }); + } + + async run() { + const app = initializeApp({ + // firebase config here + }); + + console.log('Pushing default data...') + console.log('Pushing default charts...') + await this.pushDefaultCharts(); + console.log('Pushing default scores...') + await this.pushDefaultScores(); + console.log('Done!') + } + + async pushDefaultCharts() { + // push chartData content to firestore + const db = getFirestore(); + const chartsRef = collection(db, 'Chart'); + for (let i = 0; i < chartData.length; i++) { + const chart = chartData[i]; + await addDoc(chartsRef, chart).then((docRef) => { + console.log("Document written with ID: ", docRef.id); + }).catch((error) => { + console.error("Error adding document: ", error); + }); + } + } + + async pushDefaultScores() { + // push scoreData content to firestore + const db = getFirestore(); + const scoresRef = collection(db, 'Score'); + for (let i = 0; i < scoreData.length; i++) { + const score = scoreData[i]; + await addDoc(scoresRef, score).then((docRef) => { + console.log("Document written with ID: ", docRef.id); + }).catch((error) => { + console.error("Error adding document: ", error); + }); + } + } +} + +module.exports = pushDefaultValue; \ No newline at end of file diff --git a/README.md b/README.md index 61bd212..5a562a6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,35 @@ + +MaiScore + # MaiScore - A Maimai Score viewer +Welcome to MaiScore Project! + +## What is MaiScore? +MaiScore is a Maimai Score tracker. It can track your score and show you the score history. +You can look score form precise chart and precise difficulty. +All work manually, you need to post your score in the form linked to each chart. If some chart is missing, a feature to request a new chart is coming soon. + +## Set up local server +1. Install Node.js +2. Clone this repository +3. Run `npm install` in the repository +4. Configure your firebase information in 'src/config.js' and in 'Command/pushDeaultValue.cjs' +5. Use Kurami for run the command to push default value in firebase using 'npm run kurami load:default:data' +6. Run `npm run dev` to start local server + +## TODO +- Add a feature to request a new chart +- Edit admin part for beter design when adding new chart + +## Libraries +- [React](https://reactjs.org/) +- [Vite](https://vitejs.dev/) +- [Firebase](https://firebase.google.com/) +- [Tailwind CSS](https://tailwindcss.com/) +- [React Router](https://reactrouter.com/) +- [Kurami](https://github.com/nesmon/Kurami) + +## Disclaimer +This project is not affiliated with Sega or any of its subsidiaries. +The name "Maimai" and the logo are trademarks of Sega. -TODO : Write the readme \ No newline at end of file diff --git a/src/charts.json b/charts.json similarity index 86% rename from src/charts.json rename to charts.json index 3e7b687..5443d3a 100644 --- a/src/charts.json +++ b/charts.json @@ -1,8 +1,9 @@ [ { + "id": "axe611acu8", "name" : "Axeria", "artist": "AcuticNotes", - "category": "Original", + "category": "original", "difficulty" : [ { "Easy": "4", @@ -15,9 +16,10 @@ "imageCover": "https://silentblue.remywiki.com/images/d/d8/Axeria.png" }, { + "id": "our1110t+p8", "name" : "Our Wrenaly", "artist": "t+pazolite", - "category": "Original", + "category": "original", "difficulty" : [ { "Easy": "4", @@ -30,9 +32,10 @@ "imageCover": "https://silentblue.remywiki.com/images/0/05/Our_Wrenally.png" }, { + "id": "mil57mil4", "name" : "Milk", "artist": "モリモリあつし", - "category": "GAME & VARIETY", + "category": "game", "difficulty" : [ { "Easy": "1", @@ -45,9 +48,10 @@ "imageCover": "https://silentblue.remywiki.com/images/e/eb/MilK.png" }, { + "id": "pandora_paradoxxx", "name" : "Pandora Paradoxxx", "artist": "Sakuzyo", - "category": "Original", + "category": "original", "difficulty" : [ { "Easy": "6", diff --git a/index.html b/index.html index 034b0bf..5e7e003 100644 --- a/index.html +++ b/index.html @@ -2,9 +2,9 @@ - + - Maimai-Score + MaiScore
diff --git a/kurami.json b/kurami.json new file mode 100644 index 0000000..4667b8a --- /dev/null +++ b/kurami.json @@ -0,0 +1,3 @@ +{ + "commandsPath": "./Commands" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c22b73c..09d2fb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,11 @@ "name": "maimai-score", "version": "0.0.0", "dependencies": { + "@headlessui/react": "^1.7.13", + "@heroicons/react": "^2.0.16", + "@tailwindcss/forms": "^0.5.3", "firebase": "^9.18.0", + "kurami": "^1.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.9.0" @@ -1285,6 +1289,29 @@ "node": ">=6" } }, + "node_modules/@headlessui/react": { + "version": "1.7.13", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz", + "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==", + "dependencies": { + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@heroicons/react": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.16.tgz", + "integrity": "sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==", + "peerDependencies": { + "react": ">= 16" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -1336,7 +1363,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1349,7 +1375,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -1358,7 +1383,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1429,6 +1453,17 @@ "node": ">=14" } }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", + "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, "node_modules/@types/long": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", @@ -1494,7 +1529,6 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -1506,7 +1540,6 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, "dependencies": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -1517,7 +1550,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -1546,7 +1578,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1558,8 +1589,7 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/autoprefixer": { "version": "10.4.14", @@ -1598,7 +1628,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -1607,7 +1636,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -1647,7 +1675,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, "engines": { "node": ">= 6" } @@ -1686,7 +1713,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -1713,7 +1739,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -1721,6 +1746,11 @@ "node": ">= 6" } }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -1756,7 +1786,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -1791,7 +1820,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -1800,7 +1828,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -1816,14 +1843,12 @@ "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/electron-to-chromium": { "version": "1.4.333", @@ -1894,7 +1919,6 @@ "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -1910,7 +1934,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -1922,7 +1945,6 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -1942,7 +1964,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1996,11 +2017,15 @@ "url": "https://www.patreon.com/infusion" } }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2013,8 +2038,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/gensync": { "version": "1.0.0-beta.2", @@ -2037,7 +2061,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -2058,7 +2081,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -2085,11 +2107,15 @@ "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -2101,7 +2127,6 @@ "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -2113,7 +2138,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2130,7 +2154,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -2142,7 +2165,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -2176,11 +2198,32 @@ "node": ">=6" } }, + "node_modules/kurami": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kurami/-/kurami-1.0.1.tgz", + "integrity": "sha512-cgDIGJRrTzmOvYvfdOr4q14PGJdH12Ht+vlznnm2LB/RI4Qwi3dtgy7+130BuCWfdiuzpXbi0dXHMd0b9vcoVA==", + "funding": [ + { + "type": "individual", + "url": "https://www.buymeacoffee.com/nesmon" + }, + { + "type": "individual", + "url": "https://ko-fi.com/nesmon" + } + ], + "dependencies": { + "fs": "^0.0.1-security", + "path": "^0.12.7" + }, + "bin": { + "kurami": "bin/kurami.js" + } + }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, "engines": { "node": ">=10" } @@ -2231,7 +2274,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -2240,7 +2282,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -2249,11 +2290,18 @@ "node": ">=8.6" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2268,7 +2316,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2305,7 +2352,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2323,28 +2369,33 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, "engines": { "node": ">= 6" } }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -2356,7 +2407,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2365,7 +2415,6 @@ "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2389,7 +2438,6 @@ "version": "14.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -2406,7 +2454,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, "dependencies": { "camelcase-css": "^2.0.1" }, @@ -2425,7 +2472,6 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dev": true, "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -2454,7 +2500,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -2473,7 +2518,6 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -2485,8 +2529,15 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } }, "node_modules/protobufjs": { "version": "6.11.3", @@ -2517,7 +2568,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -2537,7 +2587,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, "engines": { "node": ">=10" }, @@ -2611,7 +2660,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, "dependencies": { "pify": "^2.3.0" } @@ -2620,7 +2668,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -2640,7 +2687,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -2657,7 +2703,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -2683,7 +2728,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -2742,7 +2786,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2787,7 +2830,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -2799,7 +2841,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "dev": true, "dependencies": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -2839,8 +2880,7 @@ "node_modules/tailwindcss/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -2855,7 +2895,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -2899,11 +2938,18 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { "version": "4.2.0", @@ -3039,7 +3085,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -3062,7 +3107,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } @@ -3977,6 +4021,20 @@ "yargs": "^16.2.0" } }, + "@headlessui/react": { + "version": "1.7.13", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.13.tgz", + "integrity": "sha512-9n+EQKRtD9266xIHXdY5MfiXPDfYwl7zBM7KOx2Ae3Gdgxy8QML1FkCMjq6AsOf0l6N9uvI4HcFtuFlenaldKg==", + "requires": { + "client-only": "^0.0.1" + } + }, + "@heroicons/react": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.16.tgz", + "integrity": "sha512-x89rFxH3SRdYaA+JCXwfe+RkE1SFTo9GcOkZettHer71Y3T7V+ogKmfw5CjTazgS3d0ClJ7p1NA+SP7VQLQcLw==", + "requires": {} + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -4019,7 +4077,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -4028,14 +4085,12 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -4100,6 +4155,14 @@ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.4.0.tgz", "integrity": "sha512-BJ9SxXux8zAg991UmT8slpwpsd31K1dHHbD3Ba4VzD+liLQ4WAMSxQp2d2ZPRPfN0jN2NPRowcSSoM7lCaF08Q==" }, + "@tailwindcss/forms": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", + "integrity": "sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==", + "requires": { + "mini-svg-data-uri": "^1.2.3" + } + }, "@types/long": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", @@ -4158,14 +4221,12 @@ "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-node": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, "requires": { "acorn": "^7.0.0", "acorn-walk": "^7.0.0", @@ -4175,8 +4236,7 @@ "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "ansi-regex": { "version": "5.0.1", @@ -4196,7 +4256,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4205,8 +4264,7 @@ "arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "autoprefixer": { "version": "10.4.14", @@ -4225,14 +4283,12 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -4252,8 +4308,7 @@ "camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { "version": "1.0.30001468", @@ -4276,7 +4331,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4292,13 +4346,17 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } } } }, + "client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -4333,8 +4391,7 @@ "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "csstype": { "version": "3.1.1", @@ -4354,14 +4411,12 @@ "defined": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" }, "detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, "requires": { "acorn-node": "^1.8.2", "defined": "^1.0.0", @@ -4371,14 +4426,12 @@ "didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "electron-to-chromium": { "version": "1.4.333", @@ -4436,7 +4489,6 @@ "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -4449,7 +4501,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -4460,7 +4511,6 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -4477,7 +4527,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -4521,18 +4570,21 @@ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "dev": true }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gensync": { "version": "1.0.0-beta.2", @@ -4549,7 +4601,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "requires": { "is-glob": "^4.0.3" } @@ -4564,7 +4615,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4585,11 +4635,15 @@ "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -4598,7 +4652,6 @@ "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -4606,8 +4659,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -4618,7 +4670,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -4626,8 +4677,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "js-tokens": { "version": "4.0.0", @@ -4646,11 +4696,19 @@ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, + "kurami": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kurami/-/kurami-1.0.1.tgz", + "integrity": "sha512-cgDIGJRrTzmOvYvfdOr4q14PGJdH12Ht+vlznnm2LB/RI4Qwi3dtgy7+130BuCWfdiuzpXbi0dXHMd0b9vcoVA==", + "requires": { + "fs": "^0.0.1-security", + "path": "^0.12.7" + } + }, "lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" }, "lodash.camelcase": { "version": "4.3.0", @@ -4691,24 +4749,26 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" } }, + "mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==" + }, "minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "ms": { "version": "2.1.2", @@ -4719,8 +4779,7 @@ "nanoid": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" }, "node-fetch": { "version": "2.6.7", @@ -4739,8 +4798,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-range": { "version": "0.1.2", @@ -4751,38 +4809,41 @@ "object-hash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, "postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "dev": true, "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -4793,7 +4854,6 @@ "version": "14.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, "requires": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -4804,7 +4864,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, "requires": { "camelcase-css": "^2.0.1" } @@ -4813,7 +4872,6 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dev": true, "requires": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -4823,7 +4881,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dev": true, "requires": { "postcss-selector-parser": "^6.0.10" } @@ -4832,7 +4889,6 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -4841,8 +4897,12 @@ "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "protobufjs": { "version": "6.11.3", @@ -4867,14 +4927,12 @@ "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "react": { "version": "18.2.0", @@ -4920,7 +4978,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, "requires": { "pify": "^2.3.0" } @@ -4929,7 +4986,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -4943,7 +4999,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -4953,8 +5008,7 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rollup": { "version": "3.20.0", @@ -4969,7 +5023,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -4996,8 +5049,7 @@ "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "string-width": { "version": "4.2.3", @@ -5029,14 +5081,12 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "tailwindcss": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "dev": true, "requires": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -5066,8 +5116,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, @@ -5081,7 +5130,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -5106,11 +5154,18 @@ "picocolors": "^1.0.0" } }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "vite": { "version": "4.2.0", @@ -5190,8 +5245,7 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { "version": "5.0.8", @@ -5207,8 +5261,7 @@ "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { "version": "16.2.0", diff --git a/package.json b/package.json index 10a2d87..d9a44ed 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,15 @@ "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview" + "preview": "vite preview", + "kurami": "kurami" }, "dependencies": { + "@headlessui/react": "^1.7.13", + "@heroicons/react": "^2.0.16", + "@tailwindcss/forms": "^0.5.3", "firebase": "^9.18.0", + "kurami": "^1.0.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.9.0" diff --git a/public/maimai.png b/public/maimai.png new file mode 100644 index 0000000000000000000000000000000000000000..4d44b446bd63bba40c323cefee7f887112556b29 GIT binary patch literal 20390 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 + {({ open }) => ( + <> +
+
+
+ + Open main menu + {open ? ( + +
+
+
+ Maimai + Maimai +
+
+
+ {navigation.map((item) => ( + + {item.name} + + ))} +
+
+
+
+
+ + +
+ {navigation.map((item) => ( + + {item.name} + + ))} +
+
+ + )} + + ) +} + +export default Navbar \ No newline at end of file diff --git a/src/Route/Admin/AddChart/AddChart.jsx b/src/Route/Admin/AddChart/AddChart.jsx index d4ee9b5..65edb36 100644 --- a/src/Route/Admin/AddChart/AddChart.jsx +++ b/src/Route/Admin/AddChart/AddChart.jsx @@ -8,7 +8,6 @@ function AddChart() { 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}` + @@ -48,11 +47,11 @@ function AddChart() {

Add Chart

- - + +
- +
@@ -62,7 +61,6 @@ function AddChart() { - @@ -71,46 +69,46 @@ function AddChart() {

Difficulty:

-
-
- - +
+
+ +
-
- - +
+ +
-
- - +
+ +
-
- - +
+ +
-
- - +
+ +
-
- - +
+ +
- +
- +
diff --git a/src/Route/ChartAddScore/ChartAddScore.css b/src/Route/ChartAddScore/ChartAddScore.css new file mode 100644 index 0000000..18ae5a4 --- /dev/null +++ b/src/Route/ChartAddScore/ChartAddScore.css @@ -0,0 +1,33 @@ +hr { + border: none; + border-top: 2px solid #333; + color: #333; + overflow: visible; + text-align: center; + margin-top: 10px; + height: 5px; +} + +.easy { + background-color: #1fecf0; +} + +.basic{ + background-color: #8cc20f; +} + +.advance{ + background-color: #e5cd18; +} + +.expert{ + background-color: #ed1f1f; +} + +.master{ + background-color: #d42ccf; +} + +.remaster{ + background: linear-gradient(110deg, #d42ccf 48%, #ffffff 52%);; +} \ No newline at end of file diff --git a/src/Route/ChartAddScore/ChartAddScore.jsx b/src/Route/ChartAddScore/ChartAddScore.jsx new file mode 100644 index 0000000..a65c0db --- /dev/null +++ b/src/Route/ChartAddScore/ChartAddScore.jsx @@ -0,0 +1,130 @@ +import { useParams } from 'react-router-dom'; +import { getFirestore, collection, addDoc } from "firebase/firestore"; +import './ChartAddScore.css'; + +function AddScore() { + const { chartId } = useParams(); + + async function handleForm(e) { + e.preventDefault(); + + const date = new Date(); + const form = e.target; + const formData = new FormData(form); + + const data = { + chartId: chartId, + difficulty: formData.get('difficulty'), + rank: formData.get('rank'), + pseudo: formData.get('pseudo'), + score: formData.get('score'), + accuracy: formData.get('accuracy'), + date: date, + } + + const db = getFirestore(); + const scoreRef = collection(db, "Score"); + addDoc(scoreRef, data).then(() => { + console.log("Document successfully written!"); + window.location.href = `/charts/${chartId}/score`; + }).catch((error) => { + console.error("Error writing document: ", error); + }); + } + + + return ( +
+
+
+
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+ +
+ + +
+ +
+ + +
+ + +
+
+
+
+ ); +} + +export default AddScore; diff --git a/src/Route/ChartScore/ChartScore.css b/src/Route/ChartScore/ChartScore.css index e69de29..66c16e1 100644 --- a/src/Route/ChartScore/ChartScore.css +++ b/src/Route/ChartScore/ChartScore.css @@ -0,0 +1,23 @@ +.easy { + background-color: #1fecf0; +} + +.basic{ + background-color: #8cc20f; +} + +.advance{ + background-color: #e5cd18; +} + +.expert{ + background-color: #ed1f1f; +} + +.master{ + background-color: #d42ccf; +} + +.remaster{ + background: linear-gradient(110deg, #d42ccf 48%, #ffffff 52%);; +} \ No newline at end of file diff --git a/src/Route/ChartScore/ChartScore.jsx b/src/Route/ChartScore/ChartScore.jsx index 42c59c1..3023252 100644 --- a/src/Route/ChartScore/ChartScore.jsx +++ b/src/Route/ChartScore/ChartScore.jsx @@ -1,14 +1,174 @@ -import { Link } from 'react-router-dom'; -import { useParams } from 'react-router-dom'; +import { useParams, Link } from 'react-router-dom'; +import { useEffect, useState } from 'react'; +import { getFirestore, collection, getDocs } from "firebase/firestore"; import './ChartScore.css'; function Score() { const { chartId } = useParams(); + const [chart, setChart] = useState([]); + const [scores, setScores] = useState([]); + const [selectedDifficulty, setSelectedDifficulty] = useState("Easy"); + + const getChart = async () => { + const db = getFirestore(); + const chartRef = collection(db, "Chart"); + const snapshot = await getDocs(chartRef); + const chart = snapshot.docs.map(doc => doc.data()); + + return chart; + } + + const switchScoreDifficulty = async (difficulty) => { + const db = getFirestore(); + const scoreRef = collection(db, "Score"); + const snapshot = await getDocs(scoreRef); + const scores = snapshot.docs.map(doc => doc.data()); + const score = scores.filter(item => item.chartId === chartId && item.difficulty === difficulty); + score.sort((a, b) => b.score - a.score); + setSelectedDifficulty(difficulty); + + setScores(score); + } + + + useEffect(() => { + async function fetchData() { + const data = await getChart(); + data.forEach(chart => { + if (chart.id === chartId) { + setChart(chart); + } + }); + } + fetchData(); + }, []); + + function classNames(...classes) { + return classes.filter(Boolean).join(' ') + } + + const getCategory = () => { + switch (chart.category) { + case "pop": + return "Pop & Anime"; + case "niconico": + return "Niconico & Vocaloid"; + case "touhou": + return "Touhou Project"; + case "game": + return "Game & Variety"; + case "original": + return "Original & Joypolis"; + case "utage": + return "Utage"; + } + }; return (
- {chartId} +
+
+ {chart.title} +
+
+

{chart.title}

+

{chart.artist}

+
+

{chart.category && getCategory()}

+
+ {chart.difficulty && Array.isArray(chart.difficulty) && chart.difficulty.map((item, index) => { + return ( +
    +
  • switchScoreDifficulty("Easy")} className={classNames( + 'Easy' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 easy' + )}>{item.Easy}
  • +
  • switchScoreDifficulty("Basic")} className={classNames( + 'Basic' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 basic' + )}>{item.Basic}
  • +
  • switchScoreDifficulty("Advance")} className={classNames( + 'Advance' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 advance' + )}>{item.Advance}
  • +
  • switchScoreDifficulty("Expert")} className={classNames( + 'Expert' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 expert' + )}>{item.Expert}
  • +
  • switchScoreDifficulty("Master")} className={classNames( + 'Master' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 master' + )}>{item.Master}
  • + {item.Remaster ?
  • switchScoreDifficulty("Re:Master")} className={classNames( + 'Re:Master' === selectedDifficulty ? 'border-2 border-indigo-800' : 'border-0', + 'rounded-lg w-10 m-1 remaster' + )}>{item.Remaster}
  • : null} +
+ ) + })} +
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + {scores && Array.isArray(scores) && scores.map((item, index) => { + return ( + + + + + + + ) + })} + +
+ Pseudo + + Score + + Accuracy + + Rank +
+ {item.pseudo} + + {item.score} + + {item.accuracy} + + {item.rank} +
+
+
+
+
+
); } diff --git a/src/Route/Charts/Charts.css b/src/Route/Charts/Charts.css index f1acfe8..897099f 100644 --- a/src/Route/Charts/Charts.css +++ b/src/Route/Charts/Charts.css @@ -1,7 +1,8 @@ .songList { display: flex; flex-direction: row; - justify-content: space-around; + justify-content: center; + flex-wrap: wrap; padding: 10px; margin: 0; } diff --git a/src/Route/Charts/Charts.jsx b/src/Route/Charts/Charts.jsx index ff8d115..c702d42 100644 --- a/src/Route/Charts/Charts.jsx +++ b/src/Route/Charts/Charts.jsx @@ -16,6 +16,20 @@ function Charts() { return charts; } + const switchCategory = async (category) => { + const db = getFirestore(); + const chartRef = collection(db, "Chart"); + const snapshot = await getDocs(chartRef); + const charts = snapshot.docs.map(doc => doc.data()); + + if (category === "all") { + setCharts(charts); + } else { + const filteredCharts = charts.filter(chart => chart.category === category); + setCharts(filteredCharts); + } + } + useEffect(() => { async function fetchData() { const data = await getCharts(); @@ -26,6 +40,16 @@ function Charts() { return (
+
+ + + + + + + +
+
{charts.map((item, index) => { return ( diff --git a/src/Route/Index/Index.jsx b/src/Route/Index/Index.jsx index 4ebf2b6..b22dcc0 100644 --- a/src/Route/Index/Index.jsx +++ b/src/Route/Index/Index.jsx @@ -1,9 +1,76 @@ import './Index.css'; +import Yuki from './../../assets/yuki.png'; +import { getFirestore, collection, addDoc, getDocs } from "firebase/firestore"; +import { useEffect, useState } from 'react'; function Index() { + + const [charts, setCharts] = useState([]); + const [scores, setScores] = useState([]); + + const getCharts = async () => { + const db = getFirestore(); + const chartRef = collection(db, "Chart"); + const snapshot = await getDocs(chartRef); + const charts = snapshot.docs.map(doc => doc.data()); + + return charts; + } + + const getScores = async () => { + const db = getFirestore(); + const scoreRef = collection(db, "Score"); + const snapshot = await getDocs(scoreRef); + const scores = snapshot.docs.map(doc => doc.data()); + + return scores; + } + + + useEffect(() => { + async function fetchData() { + const charts = await getCharts(); + setCharts(charts); + + const scores = await getScores(); + setScores(scores); + } + fetchData(); + }, []); + return (
-

Hello world

+
+
+ Yuki +
+
+
+ + {charts.length} Charts + + + {scores.length} Score + +
+
+

+ Welcome to MaiScore, a website that allows you to view your score from Maimai. + You will be able to submit your score for each chart and see other score from other players. +

+
+
+ + +
+
+
+
+
); } diff --git a/src/assets/maimai.png b/src/assets/maimai.png new file mode 100644 index 0000000000000000000000000000000000000000..4d44b446bd63bba40c323cefee7f887112556b29 GIT binary patch literal 20390 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

(iYGi}=MwmYf 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 + ); diff --git a/src/router.jsx b/src/router.jsx index 517cd07..183d64a 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 ChartAddScore from './Route/ChartAddScore/ChartAddScore'; import AddChart from './Route/Admin/AddChart/AddChart'; import NotFound from './Route/NotFound/NotFound'; @@ -17,6 +18,14 @@ const router = [ path: "/charts/:chartId/score", element: , }, + { + path: "/charts/:chartId/score/add", + element: , + }, + { + path: "/how-to", + element:

How to - Work In progress
, + }, { path: "/admin/charts/add", element: , diff --git a/tailwind.config.cjs b/tailwind.config.cjs index 1c3b7e1..56146eb 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -7,5 +7,7 @@ module.exports = { theme: { extend: {}, }, - plugins: [], + plugins: [ + require('@tailwindcss/forms'), + ], }