diff --git a/package-lock.json b/package-lock.json index c22b73c..ac9a83b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "name": "maimai-score", "version": "0.0.0", "dependencies": { + "@headlessui/react": "^1.7.13", + "@heroicons/react": "^2.0.16", "firebase": "^9.18.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -1285,6 +1287,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", @@ -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", @@ -3977,6 +4007,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", @@ -4299,6 +4343,11 @@ } } }, + "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", diff --git a/package.json b/package.json index 10a2d87..d4d25a1 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,8 @@ "preview": "vite preview" }, "dependencies": { + "@headlessui/react": "^1.7.13", + "@heroicons/react": "^2.0.16", "firebase": "^9.18.0", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/src/Components/navbar/navbar.jsx b/src/Components/navbar/navbar.jsx new file mode 100644 index 0000000..14d7f3a --- /dev/null +++ b/src/Components/navbar/navbar.jsx @@ -0,0 +1,91 @@ +import { Fragment } from 'react' +import { Disclosure, Menu, Transition } from '@headlessui/react' +import { Bars3Icon, BellIcon, XMarkIcon } from '@heroicons/react/24/outline' +import Logo from './../../assets/maimai.png' + +const navigation = [ + { name: 'Home', href: '/', current: true }, + { name: 'Charts', href: '/charts', current: false }, +] + +function classNames(...classes) { + return classes.filter(Boolean).join(' ') +} + +function Navbar() { + return ( + + {({ open }) => ( + <> +
+
+
+ {/* Mobile menu button*/} + + Open main menu + {open ? ( + +
+
+
+ Your Company + Your Company +
+
+
+ {navigation.map((item) => ( + + {item.name} + + ))} +
+
+
+
+
+ + +
+ {navigation.map((item) => ( + + {item.name} + + ))} +
+
+ + )} +
+ ) +} + +export default Navbar \ No newline at end of file diff --git a/src/assets/maimai.png b/src/assets/maimai.png new file mode 100644 index 0000000..4d44b44 Binary files /dev/null and b/src/assets/maimai.png differ diff --git a/src/main.jsx b/src/main.jsx index f5c3d55..c6d5cd3 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -2,6 +2,7 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; +import Navbar from './Components/navbar/navbar'; // Router import { @@ -18,10 +19,10 @@ import Config from './config.js'; const firebaseConfig = Config.firebase; const app = initializeApp(firebaseConfig); - const root = ReactDOM.createRoot(document.getElementById('root')); root.render( + );