From 2fea2140a7bb7b20c67d02898d36ba4630b6ec9a Mon Sep 17 00:00:00 2001 From: FireStreaker2 Date: Tue, 19 Mar 2024 18:31:34 -0700 Subject: [PATCH 1/2] monorepo setup --- bot/bun.lockb | Bin 0 -> 12987 bytes bot/package.json | 19 ++ .../src}/commands/context/reportUser.ts | 0 {src => bot/src}/commands/context/verify.ts | 0 {src => bot/src}/commands/help.ts | 0 {src => bot/src}/commands/index.ts | 0 {src => bot/src}/commands/info.ts | 0 {src => bot/src}/commands/infos/index.ts | 0 {src => bot/src}/commands/infos/member.ts | 0 {src => bot/src}/commands/infos/role.ts | 0 {src => bot/src}/commands/infos/server.ts | 0 {src => bot/src}/commands/lockdown.ts | 0 .../src}/commands/lockdowns/channel.ts | 0 {src => bot/src}/commands/lockdowns/index.ts | 0 {src => bot/src}/commands/lockdowns/server.ts | 0 {src => bot/src}/commands/lockdowns/util.ts | 0 {src => bot/src}/commands/moderation.ts | 0 {src => bot/src}/commands/moderations/ban.ts | 0 .../src}/commands/moderations/index.ts | 0 {src => bot/src}/commands/moderations/kick.ts | 0 .../src}/commands/moderations/unban.ts | 0 {src => bot/src}/commands/ping.ts | 0 {src => bot/src}/commands/refresh.ts | 0 {src => bot/src}/commands/report.ts | 0 {src => bot/src}/commands/reports/index.ts | 0 {src => bot/src}/commands/reports/manual.ts | 0 {src => bot/src}/commands/reports/panel.ts | 0 {src => bot/src}/commands/reports/setup.ts | 0 {src => bot/src}/commands/reports/util.ts | 0 {src => bot/src}/commands/role.ts | 0 {src => bot/src}/commands/roles/all.ts | 0 {src => bot/src}/commands/roles/index.ts | 0 {src => bot/src}/commands/roles/member.ts | 0 {src => bot/src}/commands/roles/panel.ts | 0 {src => bot/src}/commands/ticket.ts | 0 {src => bot/src}/commands/tickets/add.ts | 0 {src => bot/src}/commands/tickets/close.ts | 0 {src => bot/src}/commands/tickets/index.ts | 0 {src => bot/src}/commands/tickets/list.ts | 0 {src => bot/src}/commands/tickets/panel.ts | 0 {src => bot/src}/commands/tickets/remove.ts | 0 {src => bot/src}/commands/tickets/setup.ts | 0 {src => bot/src}/commands/tickets/util.ts | 0 {src => bot/src}/commands/verification.ts | 0 .../src}/commands/verifications/index.ts | 0 .../src}/commands/verifications/manual.ts | 0 .../src}/commands/verifications/panel.ts | 0 .../src}/commands/verifications/setup.ts | 0 .../src}/commands/verifications/util.ts | 0 {src => bot/src}/config.ts | 0 {src => bot/src}/deploy.ts | 0 {src => bot/src}/index.ts | 0 {src => bot/src}/types.ts | 0 tsconfig.json => bot/tsconfig.json | 0 bun.lockb | Bin 12987 -> 13735 bytes dashboard/.eslintrc.json | 3 + dashboard/.gitignore | 36 +++ dashboard/bun.lockb | Bin 0 -> 128757 bytes dashboard/next.config.mjs | 6 + dashboard/package.json | 24 ++ dashboard/public/favicon.ico | Bin 0 -> 25931 bytes dashboard/public/next.svg | 1 + dashboard/public/vercel.svg | 1 + dashboard/src/pages/_app.tsx | 6 + dashboard/src/pages/_document.tsx | 13 + dashboard/src/pages/api/hello.ts | 13 + dashboard/src/pages/index.tsx | 114 +++++++++ dashboard/src/styles/Home.module.css | 229 ++++++++++++++++++ dashboard/src/styles/globals.css | 107 ++++++++ dashboard/tsconfig.json | 21 ++ package.json | 14 +- 71 files changed, 601 insertions(+), 6 deletions(-) create mode 100755 bot/bun.lockb create mode 100644 bot/package.json rename {src => bot/src}/commands/context/reportUser.ts (100%) rename {src => bot/src}/commands/context/verify.ts (100%) rename {src => bot/src}/commands/help.ts (100%) rename {src => bot/src}/commands/index.ts (100%) rename {src => bot/src}/commands/info.ts (100%) rename {src => bot/src}/commands/infos/index.ts (100%) rename {src => bot/src}/commands/infos/member.ts (100%) rename {src => bot/src}/commands/infos/role.ts (100%) rename {src => bot/src}/commands/infos/server.ts (100%) rename {src => bot/src}/commands/lockdown.ts (100%) rename {src => bot/src}/commands/lockdowns/channel.ts (100%) rename {src => bot/src}/commands/lockdowns/index.ts (100%) rename {src => bot/src}/commands/lockdowns/server.ts (100%) rename {src => bot/src}/commands/lockdowns/util.ts (100%) rename {src => bot/src}/commands/moderation.ts (100%) rename {src => bot/src}/commands/moderations/ban.ts (100%) rename {src => bot/src}/commands/moderations/index.ts (100%) rename {src => bot/src}/commands/moderations/kick.ts (100%) rename {src => bot/src}/commands/moderations/unban.ts (100%) rename {src => bot/src}/commands/ping.ts (100%) rename {src => bot/src}/commands/refresh.ts (100%) rename {src => bot/src}/commands/report.ts (100%) rename {src => bot/src}/commands/reports/index.ts (100%) rename {src => bot/src}/commands/reports/manual.ts (100%) rename {src => bot/src}/commands/reports/panel.ts (100%) rename {src => bot/src}/commands/reports/setup.ts (100%) rename {src => bot/src}/commands/reports/util.ts (100%) rename {src => bot/src}/commands/role.ts (100%) rename {src => bot/src}/commands/roles/all.ts (100%) rename {src => bot/src}/commands/roles/index.ts (100%) rename {src => bot/src}/commands/roles/member.ts (100%) rename {src => bot/src}/commands/roles/panel.ts (100%) rename {src => bot/src}/commands/ticket.ts (100%) rename {src => bot/src}/commands/tickets/add.ts (100%) rename {src => bot/src}/commands/tickets/close.ts (100%) rename {src => bot/src}/commands/tickets/index.ts (100%) rename {src => bot/src}/commands/tickets/list.ts (100%) rename {src => bot/src}/commands/tickets/panel.ts (100%) rename {src => bot/src}/commands/tickets/remove.ts (100%) rename {src => bot/src}/commands/tickets/setup.ts (100%) rename {src => bot/src}/commands/tickets/util.ts (100%) rename {src => bot/src}/commands/verification.ts (100%) rename {src => bot/src}/commands/verifications/index.ts (100%) rename {src => bot/src}/commands/verifications/manual.ts (100%) rename {src => bot/src}/commands/verifications/panel.ts (100%) rename {src => bot/src}/commands/verifications/setup.ts (100%) rename {src => bot/src}/commands/verifications/util.ts (100%) rename {src => bot/src}/config.ts (100%) rename {src => bot/src}/deploy.ts (100%) rename {src => bot/src}/index.ts (100%) rename {src => bot/src}/types.ts (100%) rename tsconfig.json => bot/tsconfig.json (100%) create mode 100644 dashboard/.eslintrc.json create mode 100644 dashboard/.gitignore create mode 100755 dashboard/bun.lockb create mode 100644 dashboard/next.config.mjs create mode 100644 dashboard/package.json create mode 100644 dashboard/public/favicon.ico create mode 100644 dashboard/public/next.svg create mode 100644 dashboard/public/vercel.svg create mode 100644 dashboard/src/pages/_app.tsx create mode 100644 dashboard/src/pages/_document.tsx create mode 100644 dashboard/src/pages/api/hello.ts create mode 100644 dashboard/src/pages/index.tsx create mode 100644 dashboard/src/styles/Home.module.css create mode 100644 dashboard/src/styles/globals.css create mode 100644 dashboard/tsconfig.json diff --git a/bot/bun.lockb b/bot/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..8e1eba51582824012a90a7837bd4a8d1204e8d2d GIT binary patch literal 12987 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 c?W5XpL~$6uUQzsuNoq<_v30@# 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 L^p`gN5B~Gt*7Y~1 literal 0 HcmV?d00001 diff --git a/dashboard/next.config.mjs b/dashboard/next.config.mjs new file mode 100644 index 0000000..d5456a1 --- /dev/null +++ b/dashboard/next.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, +}; + +export default nextConfig; diff --git a/dashboard/package.json b/dashboard/package.json new file mode 100644 index 0000000..3f070b2 --- /dev/null +++ b/dashboard/package.json @@ -0,0 +1,24 @@ +{ + "name": "dashboard", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "react": "^18", + "react-dom": "^18", + "next": "14.1.4" + }, + "devDependencies": { + "typescript": "^5", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.1.4" + } +} diff --git a/dashboard/public/favicon.ico b/dashboard/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/dashboard/public/next.svg b/dashboard/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/dashboard/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dashboard/public/vercel.svg b/dashboard/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/dashboard/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dashboard/src/pages/_app.tsx b/dashboard/src/pages/_app.tsx new file mode 100644 index 0000000..a7a790f --- /dev/null +++ b/dashboard/src/pages/_app.tsx @@ -0,0 +1,6 @@ +import "@/styles/globals.css"; +import type { AppProps } from "next/app"; + +export default function App({ Component, pageProps }: AppProps) { + return ; +} diff --git a/dashboard/src/pages/_document.tsx b/dashboard/src/pages/_document.tsx new file mode 100644 index 0000000..b2fff8b --- /dev/null +++ b/dashboard/src/pages/_document.tsx @@ -0,0 +1,13 @@ +import { Html, Head, Main, NextScript } from "next/document"; + +export default function Document() { + return ( + + + +
+ + + + ); +} diff --git a/dashboard/src/pages/api/hello.ts b/dashboard/src/pages/api/hello.ts new file mode 100644 index 0000000..ea77e8f --- /dev/null +++ b/dashboard/src/pages/api/hello.ts @@ -0,0 +1,13 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction +import type { NextApiRequest, NextApiResponse } from "next"; + +type Data = { + name: string; +}; + +export default function handler( + req: NextApiRequest, + res: NextApiResponse, +) { + res.status(200).json({ name: "John Doe" }); +} diff --git a/dashboard/src/pages/index.tsx b/dashboard/src/pages/index.tsx new file mode 100644 index 0000000..ab1c4dd --- /dev/null +++ b/dashboard/src/pages/index.tsx @@ -0,0 +1,114 @@ +import Head from "next/head"; +import Image from "next/image"; +import { Inter } from "next/font/google"; +import styles from "@/styles/Home.module.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export default function Home() { + return ( + <> + + Create Next App + + + + +
+
+

+ Get started by editing  + src/pages/index.tsx +

+ +
+ +
+ Next.js Logo +
+ + +
+ + ); +} diff --git a/dashboard/src/styles/Home.module.css b/dashboard/src/styles/Home.module.css new file mode 100644 index 0000000..eee920e --- /dev/null +++ b/dashboard/src/styles/Home.module.css @@ -0,0 +1,229 @@ +.main { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + padding: 6rem; + min-height: 100vh; +} + +.description { + display: inherit; + justify-content: inherit; + align-items: inherit; + font-size: 0.85rem; + max-width: var(--max-width); + width: 100%; + z-index: 2; + font-family: var(--font-mono); +} + +.description a { + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; +} + +.description p { + position: relative; + margin: 0; + padding: 1rem; + background-color: rgba(var(--callout-rgb), 0.5); + border: 1px solid rgba(var(--callout-border-rgb), 0.3); + border-radius: var(--border-radius); +} + +.code { + font-weight: 700; + font-family: var(--font-mono); +} + +.grid { + display: grid; + grid-template-columns: repeat(4, minmax(25%, auto)); + max-width: 100%; + width: var(--max-width); +} + +.card { + padding: 1rem 1.2rem; + border-radius: var(--border-radius); + background: rgba(var(--card-rgb), 0); + border: 1px solid rgba(var(--card-border-rgb), 0); + transition: background 200ms, border 200ms; +} + +.card span { + display: inline-block; + transition: transform 200ms; +} + +.card h2 { + font-weight: 600; + margin-bottom: 0.7rem; +} + +.card p { + margin: 0; + opacity: 0.6; + font-size: 0.9rem; + line-height: 1.5; + max-width: 30ch; +} + +.center { + display: flex; + justify-content: center; + align-items: center; + position: relative; + padding: 4rem 0; +} + +.center::before { + background: var(--secondary-glow); + border-radius: 50%; + width: 480px; + height: 360px; + margin-left: -400px; +} + +.center::after { + background: var(--primary-glow); + width: 240px; + height: 180px; + z-index: -1; +} + +.center::before, +.center::after { + content: ""; + left: 50%; + position: absolute; + filter: blur(45px); + transform: translateZ(0); +} + +.logo { + position: relative; +} +/* Enable hover only on non-touch devices */ +@media (hover: hover) and (pointer: fine) { + .card:hover { + background: rgba(var(--card-rgb), 0.1); + border: 1px solid rgba(var(--card-border-rgb), 0.15); + } + + .card:hover span { + transform: translateX(4px); + } +} + +@media (prefers-reduced-motion) { + .card:hover span { + transform: none; + } +} + +/* Mobile */ +@media (max-width: 700px) { + .content { + padding: 4rem; + } + + .grid { + grid-template-columns: 1fr; + margin-bottom: 120px; + max-width: 320px; + text-align: center; + } + + .card { + padding: 1rem 2.5rem; + } + + .card h2 { + margin-bottom: 0.5rem; + } + + .center { + padding: 8rem 0 6rem; + } + + .center::before { + transform: none; + height: 300px; + } + + .description { + font-size: 0.8rem; + } + + .description a { + padding: 1rem; + } + + .description p, + .description div { + display: flex; + justify-content: center; + position: fixed; + width: 100%; + } + + .description p { + align-items: center; + inset: 0 0 auto; + padding: 2rem 1rem 1.4rem; + border-radius: 0; + border: none; + border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); + background: linear-gradient( + to bottom, + rgba(var(--background-start-rgb), 1), + rgba(var(--callout-rgb), 0.5) + ); + background-clip: padding-box; + backdrop-filter: blur(24px); + } + + .description div { + align-items: flex-end; + pointer-events: none; + inset: auto 0 0; + padding: 2rem; + height: 200px; + background: linear-gradient( + to bottom, + transparent 0%, + rgb(var(--background-end-rgb)) 40% + ); + z-index: 1; + } +} + +/* Tablet and Smaller Desktop */ +@media (min-width: 701px) and (max-width: 1120px) { + .grid { + grid-template-columns: repeat(2, 50%); + } +} + +@media (prefers-color-scheme: dark) { + .vercelLogo { + filter: invert(1); + } + + .logo { + filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70); + } +} + +@keyframes rotate { + from { + transform: rotate(360deg); + } + to { + transform: rotate(0deg); + } +} diff --git a/dashboard/src/styles/globals.css b/dashboard/src/styles/globals.css new file mode 100644 index 0000000..f4bd77c --- /dev/null +++ b/dashboard/src/styles/globals.css @@ -0,0 +1,107 @@ +:root { + --max-width: 1100px; + --border-radius: 12px; + --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", + "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", + "Fira Mono", "Droid Sans Mono", "Courier New", monospace; + + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; + + --primary-glow: conic-gradient( + from 180deg at 50% 50%, + #16abff33 0deg, + #0885ff33 55deg, + #54d6ff33 120deg, + #0071ff33 160deg, + transparent 360deg + ); + --secondary-glow: radial-gradient( + rgba(255, 255, 255, 1), + rgba(255, 255, 255, 0) + ); + + --tile-start-rgb: 239, 245, 249; + --tile-end-rgb: 228, 232, 233; + --tile-border: conic-gradient( + #00000080, + #00000040, + #00000030, + #00000020, + #00000010, + #00000010, + #00000080 + ); + + --callout-rgb: 238, 240, 241; + --callout-border-rgb: 172, 175, 176; + --card-rgb: 180, 185, 188; + --card-border-rgb: 131, 134, 135; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + + --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0)); + --secondary-glow: linear-gradient( + to bottom right, + rgba(1, 65, 255, 0), + rgba(1, 65, 255, 0), + rgba(1, 65, 255, 0.3) + ); + + --tile-start-rgb: 2, 13, 46; + --tile-end-rgb: 2, 5, 19; + --tile-border: conic-gradient( + #ffffff80, + #ffffff40, + #ffffff30, + #ffffff20, + #ffffff10, + #ffffff10, + #ffffff80 + ); + + --callout-rgb: 20, 20, 20; + --callout-border-rgb: 108, 108, 108; + --card-rgb: 100, 100, 100; + --card-border-rgb: 200, 200, 200; + } +} + +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +html, +body { + max-width: 100vw; + overflow-x: hidden; +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +a { + color: inherit; + text-decoration: none; +} + +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + } +} diff --git a/dashboard/tsconfig.json b/dashboard/tsconfig.json new file mode 100644 index 0000000..fb68dc1 --- /dev/null +++ b/dashboard/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/package.json b/package.json index abc2c7a..9fd20d5 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,21 @@ { - "name": "supportbot", - "module": "index.ts", + "name": "supportbot-monorepo", "type": "module", "scripts": { - "start": "bun run src/index.ts", + "start": "concurrently \"bun run bot/src/index.ts\" \"cd dashboard && bun start\"", + "start:bot": "bun run bot/src/index.ts", + "start:site": "cd dashboard && bun start", + "dev": "concurrently \"bun run bot/src/index.ts\" \"cd dashboard && bun run dev\"", + "dev:site": "cd dashboard && bun run dev", + "build": "cd dashboard && bun run build", "format": "prettier --write ." }, "devDependencies": { "bun-types": "latest", + "concurrently": "^8.2.2", "prettier": "^3.2.5" }, "peerDependencies": { "typescript": "^5.0.0" - }, - "dependencies": { - "discord.js": "^14.14.1" } } From 9818d33c75c76675a980a55809659f8579dab2ad Mon Sep 17 00:00:00 2001 From: FireStreaker2 Date: Tue, 19 Mar 2024 18:45:41 -0700 Subject: [PATCH 2/2] material ui --- dashboard/bun.lockb | Bin 128757 -> 154208 bytes dashboard/package.json | 9 +- dashboard/src/pages/_app.tsx | 5 +- dashboard/src/pages/api/hello.ts | 13 -- dashboard/src/pages/index.tsx | 103 +----------- dashboard/src/styles/Home.module.css | 229 --------------------------- dashboard/src/styles/globals.css | 107 ------------- 7 files changed, 15 insertions(+), 451 deletions(-) delete mode 100644 dashboard/src/pages/api/hello.ts delete mode 100644 dashboard/src/styles/Home.module.css delete mode 100644 dashboard/src/styles/globals.css diff --git a/dashboard/bun.lockb b/dashboard/bun.lockb index 601ef4dbd8bc6d7b2c7e484d599a8b756ea718e7..89a1926bfee5094e035c6027b0c4a8f9401cb265 100755 GIT binary patch delta 47976 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 ArvLx| delta 31399 zcmeHwd0bW1`u^TqP!4(&2NV%OR18EAPzFVhSZe0Mc|b`mPz($OK~2-{!LBx#7P``< zIHXNt=4_!k+vJ>OPNXJT4mp&irDgVeo;@gerSARyD*tJJczD;d#`k^Ku-DmVpS@44 zv0b@PAwN81z{#dhUMS!2p%qhCRcml~i0kOMCe!Zg^h414Y5BElJk$G9+7GJ2qt&#e z0N3s~gXl4eO;Pd^5v0sXOBpm0;e4PHcrY?Dey*85JZ%hxqDLRYM>R8HU4_ z)5y()W2VeNtK|Dl?o(M&yudTlMh{0>r7}3v&zbqIK+>|oX=&ME8M(@PC|3o1JtRHn zgTmzFAz5y?m*P@TN8WN|z+c{E{0o8{nj1DYWmu+?lJiJ*N=|Otc*HYbMsC<6nOUjI zGHA^TMj)OZ$arLUR!*9tq=T~|W=hG-RSs7-_y9BCkc{Dj!$xH*b7~mn@@piRt`5u0 z8k8~;YG-B)%NVKTdmHhcQIHk~qJP+6PR6jDlp%_uYXJ`&tSRnwZ{*sAWa{x~+St)_ zOg6>?`H;+%kt5RvD-Kjc!_#s{jm&^vX}KdtrR9uO7Q$PsHZ3vy>*QEiXbo{Z*bP2kvSQ|U1@{UQb#?4jKgx-JPu@_0*|F<3`z&h z$W0rA`jy3gW)IXghE#US$n-F1Jt#dT^HHQH_#2K+Pst5~@{dG=vmTECBYzSk6;2td z+o_Do$p{;oD+ZSLbe%#Hb=nQd;eQt8IP8x=(uG4(az~Cp6FF(4ax;dERTcyqwvMQ8 z*tQXpK1zXP{`Dw_*7FuX!t9%a=*I?%0xR-nBA%)|Wz_G=3&6;s^QuGAS$j;m1(MU} z!A6GjhM@pQX;(-#a1ynUFM?$Gy3G0a#fwt{ooJ(87;S*$3{5l_!`LAk1sd&3PL2abW2_ao|I z{Jy3}XM`f2ig-Z6hP)9`NOvKy2LZZpNLEf57O(V9kw%6+5k^Jln;Bh`YUW$rTv0I4 z^V&rlijG5mD%>2LUC;oM4f~qug~-nayP_yHL>7LG%5 ziS%e;D7XXMo7}YE9dIg+`JI#YNZOdi;8k^=l9Q7%R+$SE_+LZ(5|Grb|HXmCsT zpM4&W2v!tnW~^gobc3W~SKtYz-)L=UeiEFPRBvf0bOQ=fv5Szbcoot)_zECtKyKQw z(P=px#JO3Sqtlen6EHaue;@(=r)D1_f-boaeMYXIM6edt$D&IMVh~RmV#->ORKNzw za@T{6bhVu^2GSroD2F1R=|>>R`?WX96+zMyfvyfl#0E%e?tj0bKn+vEwYg~{xe|m8 zOUYK0MaV}>^C9UOmahtFE-7hS(GV?O1j#PUhh)AnX8bf*$A;sbhQhAN2(Ul|BnL@d zNNQRIl9~@r8!;*+Q&CdJq=jKwOHAFC%^lWM$6(Ul3r1VQD#!q(v!;b=Fylir6J1 zQ?gT1Gt-n{)W!wpKp$i9%!Z`rRzfy}yq;tzVhy(OeT{m@retQqaOL*XDNjbJBCTR| zS3t6n^NoH+AB;tf^-!aV7TI}cp&nbZPG7eEMn3v9J0&;QYU$L2Mm_!m49%-Ta?~mV z&HBMP-ChM}y=I@gZf3ZB2l0kkpzXs(XIkf#gJ_7Zshwgd0%diMj@KK&_GjeS>@?*P z(wXlBBu6Ri&b-hFRUcK%s$5U3 zt(M@`vCVU~XFHwPH)r-v-x0&sR$P6x+ErDYu>1IgEql@)7{4vx1@8eV>)t77(Bs*I z%l!Lx@?8CG4IkC3=8gL8H!t7+e5E(`?Q7{aH(hwt?CTL6`PxTy&W!p|JY4gH$FigA z&j;o<@f8WRw$$_W4yrn#LC@VSei&J);#e^)ac}mM&jk)G+&JZOhZ^6E{b0IJU$wXB z=hMdhHJH&%4DgB94lAPA$6c1$_)Xhp7;hrUB$dQZG@j+EA?T~&##R- zU(EJvV>@47QLtL&sUpQE))rm?8)cnQqcNgi-8Sl*Vs_m&+PMm%xUNHu61Dx?s5zpa ze;aL;hbZuOXcs(0vA@GT0KF8=#%vEG#7f-7!r)l&3bc0c)x2yZ|9qZWjxi#A+qgg>SsW=7&kc zqUCi>lfl@CJ4cf3bu&#LSK5~~gl{W{tv=R&)?#Ey24jJ8y83g#3_WPf5wMPW)igA; zrlB#6X&&bRLKQ*azBx5TachU|6e5`)L&z`IJse9!gs%5MgqT@(rZ&BnD0Vn(I}u4W z5E&h7(|nAERqCxJ_=tiw4%;|061t)Nbzr8Z^C<%zwKJpd5_d0AEP8aO$3ZkTb ztj!5#%*}<3V{Mbbx*<*XsOABcZF<`U?qXFz$Fiu6iTH7u#vk`cqoWD^HLlL!i0pl=5?U=OF!I;xf zZYP*SXH?u9`xVw{49pZT`UK9e9jna?5Ct6^wx1BmZbH@Qk??v(WhlTw2-Zy;i;lOw zjZlB1A`Fpgfml!Uib@*Ase!_`qeELAD3Uv3G$4t6f?jaMYJT-aF(RL+Z}`?&Wp;zn zY-DMTy0FD>W7HfHYwHfyTTeshYp*vDzMUMl>J6<~yD&1=))}n3USQ$SIJKd^sO(1^ zJ5MuaQjntHd{0lpcX?n;!<=s)=V21VS+yJ8T>X%7FqpA8U>a!i8;Js^!*&{xJy06% z@rex{c8{Wr1jBmzo1+)vG2rqh&hK95;Tcuuhy))Wtxm8=PIPD@L=+@CY>zg!e87>v z4Xiy1VC2Kk6+)qhsC!Sm_E4xO2tt`qQ5@v39Y8!g6Mn-0ua5CW{S4OmCPPQNKTRg; z2F1IdLa2*4Rv!y-n4NgXRv|(YH`wHMnuIMV-y3hW2|i?m^p>frz^mW9$|HENZ>+jEQg6;9QOLM zY?}hchA|1?f=|Hk$263y+}f&zJ(Jp66eK&`*CMh5yVt!EoYjslvUNj<_8Se%1v9#X ztJlSwjGjusjJ|nJuss7d@Md$TzzlCOrxQA&U%3IO7pqN95WWK(wi}2Xq8FeG2e%cz zm<$Wr8dC+^tk(2i;aksP%edF_6-J_MiOFCk_6QfqMBTu6_onx; z&*w$PYvb+{z5^ZF=KDnQK!?p6YpO8|a9Xg90qdgcK(BnzPWV3L&^+6VO*S}LPif@R=YQYixb&~Z8t)O15nx)e81su-Er=N$@KZP03jN0IP}xsFb@>(X|$gh zYkLsv*05X&)=4i%*Z&O0VT4*RFPl98_v&^&hfsfA%hL!MrFp_@-AN=5a%eL;i2{g@ zPEic;vQzjDcG!N#2Q~C$o=raswm@&2KES|!8VpXs7+Q!9*adb|ckS0ik(}nR#dbEb zU`K-jC5*U`tR`IsY2(e=0gm{JVU^abWXxh(MG%&DW!6>k3q*W9tp>ZA{ zhMzeCPlLrF$=I?5CmWR*Ri=W`9Ak7Y0P92bv>%d1a<;?0?SmNR`sagJ9~8ye4y{Ii z;XA@%8{FTh65BB>SaZR!*5!F}Dr<-Oi(+I6A7IROe3HP9EgOugd+0mj##nF23kQ;a12gM*fuA__)1wAWHZa+t%WrW$>LoEWaLsiGjvp^Z%y z#Sohykkf6D@EzUKWmELe<_bO%@}sk&0(MhYhU7uX_$ojR06Q!F_!DF`MMG6VW`&gH z#MIGEU2HDIjHM*UMn^yHBr75XLrQ4`U>xWNCCj15^@FlJ0N>~bC0id1Fkc$L1JY#$ z{zEe35P${K_0->&%%5TAD=it1r9wacQ{ueBg9*&|CY-LP6a=Y?*5hi4%yC{W7Hwjt@TwL5lqgd+Gi7r~`XI*S zv5-6{sd8&G-eK}~kZkDzNNSL1%C4sD0f|4QrwXT0fh4eS$Vp~~XCT?&WJsnz56Od) zd^#kfgehMn!9mI34E$qxY4TZ+RAde$%fDpumsLzMgq2s!h}TWI*pzRYayg_2@)bd{ z;&qTbC|U6alb4o^+GwV4G1E&+mV1|zh84aKNzHbc1$LW!pD90u#Gi5i|LEFc$jXps zOwR9!D}Y~ytOUtQS)Usu>*sgNJZ_gRMxcyR!IU1Rw3*Tqk_}dYWQEmDSqqYV&o8^H zLWV=Ko~DpI?j)HWVWykX^_vK0h%_sTGBZ+ELwq|(D$vo4FD+T_0W+RbA9Rq6?`+C0 zW;!L)`SpD{PTF1w(2`_G&gemqEI1gF2PHj_0m-OG&3H=Y%QWRMQw}%NOH1aGJUGaOG`$*fPdI2 z8v$m_M+7aM0m%%K|8A3vnr+5YvcZ=i>C%@e#V}Vb{ftxy##$Fc@}Oj{H%(qzGHRI_ zPswu2A(?-b8Gk3qe7sM?I@o`JaVp?EV1~bO_oTZmh+k>&2m=1uJz>*ypYD!-c2A{u zO}b04i~48x1W)|4d%{OYtW{i1|Jglp7sZA9pWRdGT@*d?&+h4;-4liZjz53*bfd}* z4l!(~&P~-kMcp+{5jV>&My+wG0b=W#Byk2T=q;xjC`P=MBxcRFivwT{MBv*=qGN$w zOnTd?28oZsu7X7uIn{f_grX!-IL9u&0t*q5Ym-FZxppyQty2vZC14)&?4tcTry3@v ztxFPX!LEQc6>Z;166y2p;8gDf_?8gRi`Kc^C*OU?>W`ZV%mGK59|t9SJC!;*tZz=z3)`Ji%VcWZ@|6}oN7<8 z@B`Qf=Ki4*_m_145cVyBePBsK-46TSgniqcYClnRKI{YA2=<_`?SOqt?PAytr#e8a z1B+W`7j<_!)rUmJPS^*w2P{R@-Ua)X+r<;Roa!L41FYi;y9nFuRMW)R-LMbr7}z5s zWDo3HX%|!XIMobs1g!5WyJ)@FiJMxU-3$9x+r?)~v)+O22b}7^MaBWx zw;r~GO%k;a!alGk4m#DR#SXB-4Y2)?Q+-y9T>$$w!uADD^*J&25bWCohP0_7A5%jbICf?Q_`o zKCJ!RslFoCfpz=<)}C;xuZfHkun%kx*dkH81onLhYfGH!VzC3P?{--Gg;QN3#(n|& zcECQcr6S}c>;s#6(y1;NN5Il|!oDw^>PqqKm#}Xa>;qdZT6_ijz~+7B)ZS9W*I)G! zV|K&9Q%4yi?nuh@GH)_k+IVRCkFTFTvDLVK_Q=k7%(Brh;9WtH!$`v90Php5iP%k zv7qz5b!wl%Goa5LfoCo`wPWziB^X-_&wzdo&wK}CL6?5#)JotP&{?0sGv7P4lkm*< zF!m@sbJ?kV14pilhh)V_gdK+{ja-m6aS670PSdrM&NRj2yBsJa+^3pQ%8Q@aA|ufg0eVEr|x z_9LtZ4L%9$e{yQqVEs=p7xV(?&#?YynENHH|JkYi0_#EJzJm4Fo!YOk{yNMB4MK;g z;?i}D;8R%fesQY!PVEaLM(`P|c)vPTn^+0f_pE(} zx9U_Y&Pc(E=<&6E#`|D)SycsH`?Xz;Qo*apt>o$F>@r9LuPR4q;6CT=@&I{t8CVW{ zJNTq>;NJ3M@-Y|eGTIHimYm=Q9(>U*zapY?T@jn?8?G`k5=e`*}B z)BdRy{*U#!^xskaRo4BnGWeGHKiyi?xQ_a`>iWP}zv!CBTC86>{f%+P)VRH24vMvY z#-07!Aic~%@#n{3Xn3OXzqXOzX~XrGTK78*o9*gTX#cLd-;4ckE`@hx zC3M|g_v06Xf9I)}`wHs^eU1d~>(T#=w0@50LL@e;d5HRZ;#}r$SpW8ht#MK6#D<}jsDy$7k@ziXSkmp{684t`g@n#+XkVA_5ZdLf-x3; zdy@DI<6JqocOc=`6{f$fVY6MAb#2Z1HTsJW-uguJH^jMaKE>s4ZrE%W{eO2FHrqw} zd7L_bgRAe@hS%*4<9cvJkzbga*viwZh4Gbge*DZY)EctcC^f{T-1yZvsB{R@nMJPdBbcM zL^9sG=b1NN_BRV#_doNl!U1MnbF)G$`ARc0F4~OaZGSO{qoUTm(!2@LVdmrg(!AqX zzaz1Y8Oi5X;ZMJtw~-k~uQ9F)uo~de(u~8WE&fhbKjO_e-hewDWodaUGmiJn{tI!m z+`2)VH?F%}W+d-7!k_*Fl0?MO@-}9iH^SE4p9zSgn`;8KSO5p_QDU$baL$ZtZ^ro` z&bmXigBe#FaRq1t^}3Y%5s5G#N22iIT5OEBisO$D_E6?A5l1I8A3kF$^UZv`m7K|S zfh7pAu`Xs=e}oqyj&<->bNun4F3JMLv5szf96DqR{f5J>tsFi^Z6x!@s0~~2_EO$* zx&l}UL?Z)!J*C6~aR5gsem=zCD)EOy{DmTa2&A-;)5fX|Tpba70O$lbfkdD)&;`I& zg1y3-kk$fyO{6&;;Nl2nRUuBLEKeD1bwQLxEk7uGW<5 z^4M6lsf*){W3v!g0=xvw1`2=~z)U~_F97+#WZ*eq3h*p233v*a06Ynd05XALz)&Cq zNC#4ZK|mTX02m0Quy?We>$8tH>f`{Nbt8eUKsVq)fD?=pY9J5=a3VDaqJfqGCk*FD z0?-z?7vPQN{y-p5A7}tH1cCt0n_wVB!|V!0fRpAe;B8o(HA^IY2JJNjMxB0z3ln?&)cqTmpCz7!TwDJ%FA-Ht-0L z4)7*(-phXwI0PI9jsQuB?+f$;4x!R^knMpE!2LiZ5CI%V-V)#o;3V)R@D<=Xg@31k zy+AlJZi3tl>_TO`fjz)7U_KxKE=O6wQsm`~p9S##Z{AG)H1Hh2JKy=#yTizL6u1O@ z5BvyR1+D=%fL~diipI(THoz082vh>>Ko!6Xs0!2sxSaR^wE_Y-N|*YepQ}Qc%I_iRobOr9^5aRM0 z53~T{fLI^~Xbv<3B7q2iv$!b`3UJNjOb!I<0rdgSZfnMKwljZ2Gv1p0O~Au}Fo5f7 zG>1@21lX7ZXbrRh5`ebAeLxo=5oiar2b@4B-~oWj+z)gBcv4`PvNO;F=mYcyXg$My z0mc*bLVvWcqyi5E1A&Kt6oBi@U?2_Pdc#$iE*l190$iOR1#$q6{}BL(QZ6tO7z?lq zI8kUdyM~-yKu^=lPXI2umsX4?0XQ-80BRgy;t=E+;52Xw_zL(EI1JE|PXX4kANU0L z7}y7J`Pl(%2POfm?|DE1JViajCZ9uKHZT)-5qJtK zmH>-^g}@xZQf?l?RA4SZ53;=lfQyF|DG) z3xGQ{Y^C2;#-$fxBwfo27`6t86<%ScTYMEb<8JSQ_YwCV@Gf9=2lJKPCGbD{_BVY3 zz5$?%)&qYDw6CG-#nD$^L=4eSDT0<63o@DZ>Vu*$P5Eal8Nmtys0 z=}d=^@c>W+>;tScE*b{`OM9y_D#XERI&#U^=H@>8|FQbAl zaNgfunN`VWNZSn1jVA%R_Y0r|;PmB`W%qG59R=n9CxFj^q1bzjs1FVZ5^1KiWHF;>dBUZ%9-xxZyu?svU`8bDoeYah%#a5y;ky?(q(Ky70Y z!Ob%_#@rOMVpdom;MIvn04r<=GysCkFrRVFy)LhG@bU@wuz{$H`&sUJhak*&#&Ms^ zJut)EY_m*w3;b&eL;~lLzzPOH^703_j7*OMcu9kwrXv#Z568giGJJ~qfgC+mZLTKD zB~#Vfb@CBki64ayjmVR2qe3-xU}Sh?cm&3}{Cuj~Y-rgTXon3&&lFCsa`0gJY)z%L zUWh5X3_l97%(BAopYBnxa)+iyHb-;t{RLHye_oBMQ(iL^YBqh)<6Gw~ctTUTueYO2 zHM!$?wV7I1{_;E&zX$oy)p_&#wmhi4JILSdW=*YS+!GUzxu9v?{YOpBS%zt zR9twZGR;#)ysY|!ThD9$;@d{Y8pmdRh8(fs&6+{Olc>EmYVR}h;@Ez_dcUiw?|915 zFRM`vuOp=@Qmkh`=Wgh|WSLgw63RB$eWDDjD0icFKl8EDd1?PT`&drDl0|y^`e>M0 zapo&9Zb3!Egw|cM$JU*+trapvghyh4Hn*N!-7?bI%Xh-(Zz2Vw7Md$ZD#|V>tDUVV z(_c~Xd9ISoFToweyIxUa{j7(2ThA`lb&B9{52z&lUq!LdN;2+Mb%^GuBo~l(t|Z@i zRgKaHRFW4d(<{mPuR)HeB>PZ~uOuf^POc<3LHb#bSs#9_#nsM3d(_ceh+&tmuQYQ7 zjJ6)w?(Ma5{o^kTpQUTwoGR?EBokgolgBE_EhmuEdQ^PxBPF5L0-TQ{C&mVIX4vKP z%!&J_3tva$xUcvqdF9IT2k;o{A@XC^U5RyX`M?sCL^*c7^%(ipJ6zN6edJBteGR`w z(Qha_a1nf7b`I;&^8Genbf0_tLa<&oG92sRa4-2L%4*}ih3L0@Z@Honbq3ayI}6o3 zZC6d1xES%e8@=W7#cEycU`@Gqu{y-hdKUb!5dYLSUQF$(sm+YRfTzF9Zf~GH>uK+^ zUQBrJ)3tql&|Wkq1G)trKK~81alPT3at{{6FRUqR01$O+9**ZDV~ zktwDB619uA*iQ~$0=351l^d3z)2yfNc4@lp<=Q*nt)Um!7t{oQ`Rx*@Vm;?QbwtC~ z2^FivAqP7L&PfW8jyKVOG4{Lz5M@2-ePWwW>vY<;{eCkuv^f;$e5J+ z#?R;Ce1;Tr#Rg^>B3Us=Uz#x=eLHd*y$|D|Z~#|CorQmAG< z^*BKLVqo`+7qO%dq$5#@kC%LJsal{_50Vcr!-z8mvlb8}mo0HfGY>`%P`p5!S=_?KQ6^ ze>>#_PQCh?ijy-G*tZeYEom%QyakD7yw*UjX)If1K)=UWkLv$6Z&$a*jjk1#9R*db*B@lfo_OX}|1BkE3P!j& zc7Dg#R#%;jkd^j8pDPja=oUz~NV)fINV6~etQQSbahw0eLs5QtW*eB)k&)7`2&xIz3dM3qF3<`wNB@YzUl|vS}Nt;Ub4&-YHU^FG8{2k+S19RF@Vh z$HPH>=w^Xy<3*pn~bl~y)f(ExzyrSgZcVSk2c&--BY8!p;sBIr{b7$_M zT13e$>tIf|DCzeea;73@73BQ3QmvuspZwI>%!$|$QL@{6YEA#egXwLMWX{~gq7 z_KKhN>Wqp+W^%bP*F8V$oft}s%cEbu|G9CunzyR5-m>BS z{FuNSNA?`QmBTk$KD-`&ZUCQGg$WhEi2vFtrrFKLFb%9Xag^)**yK|){eCdZVmyqC zl*>@ouN}&={};^mj0spb+v?WdDEnb!p=s#nIBx=^EwFZ^x zh5yCHw^vbC)kgfS1>I`WQu>e2G*%7Pn&i|?yIblf5swXy;Edo z;nP(PyWfAz>?t_;MhlsMMJ2|13rX?6xBArFd&xSEZD9G!CRdpIFjgT2&@)pt48 z?#7thQD#1U6J?EdbKTLbQ>ayyHR^AlPpDGgm!Z4^JGjzSS`)@<)vC&zf-z-p_R8Kk z;6zsWLkxE76+C_&CX7CFSPQr{9m-hJO08p-K3ugw#K{nPm3E%1=HGim$mO??-i zG);zKhGV@0u$Y%!{KEv9c^DmZAVKa%L)zyFa_&rgT*$xEbu#@^d;NRmjX8#Y^wD$E z7;`~1`>~7#kXBh9G)tC|lOI;C1?aXC*1{B1#s?&P?zi4`G&KGGtB;+Ce@AyqGk)lt z8!0n)!RcjuMnPG_asSQ7kF<93;x5A%|Jw(a-`Qf_W^0+=iMaV;!CIbg|IlFU5`D_r zC0ZLqtzUb2l>1O~nY+2|wkEMP`HR}ifqUV(GCon=JhR{2xRWX1(od!Olm#F1+LR5LDrn2Fx)3`{iC{x4O(S#!}H5NCv;- z!uq>QfW9rp7(35>mQ~pw&o5(C{vS(}p3`OaU)0V1vu3EJ<=IZM-ZZtQTa@x+Cpm?e zCd!zj_@rcByubqxWbuCVPZg)E%PA)qDHBAHMi34hLzcMaQL&x{K$cTfm25a$P zN<-)0xy*97i`;z>^~Z$BQ!H?*i}XDNt1frZ?>)&I)KzvlgiB>vUFFlJJM%{ruoau0FTG^r&(tWjnjG*MzQ3?ujyBx? z`^^UqH*BG)xD>8WUsjF-edLMH)OMbi`xsZ<%o4mp zj|;Xwn#GNLQF7T)wK>L${PHL?zMdp~jzNy^D-$Vk{W9+u3RzdG-{>dTFn((fdFB|p zJ|J0kJN_S)`pCJ*Ro|GKZ&0gNEwfjHDxbn^bOxP%3g0U7li?QMpz`Yo4nluKLulUjO#(drxG~J+vE_-+K0!iAcGbv+4jj9K4(LVz|Pw zH?o>7sMFTX{PH70vEKCdOQyOayMDW3w2A@56?hN62lPT~SAQCpzOCf9sH`|4jS<~2g({>X6VcP% zY&LB|m6_kG-HImrXzeu_d`;~oJ?m&L>HJCU;I4mDAZPxhwwG>a)Otnr{j>+&D`gDJ z&dM1XHUz)WNtas#wdyiIP|GMv{aFoAi+&2!p4B|EbF#9-@SeY-2@SOys(r|);e$qI zWDO5X#p`;dtC4n(?0ZG6DGRUT;W;ZpG!HrdirP{xxTd-lEo!7aS3?$mug1xT;x(@# zzsqV1Ri>+2C)rfhyyd)$YS7FWt-M^TYON5cP&6%G^Yf^jkeZU3mf19C)bNoR!_tbD z-lu)0$)#7-3UcRlb#~D+9kir!GcT)tGU->fPSNKNXaOEJ{bjj)9idD)4NdZVHFr7w s2Yh{sWcMQf9$NbfvR*$#p17fQli}a0vGUh0pfSIyPa2`re%g)y2f=e~VgLXD diff --git a/dashboard/package.json b/dashboard/package.json index 3f070b2..017bd52 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -9,9 +9,14 @@ "lint": "next lint" }, "dependencies": { + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.0", + "@fontsource/roboto": "^5.0.12", + "@mui/icons-material": "^5.15.14", + "@mui/material": "^5.15.14", + "next": "14.1.4", "react": "^18", - "react-dom": "^18", - "next": "14.1.4" + "react-dom": "^18" }, "devDependencies": { "typescript": "^5", diff --git a/dashboard/src/pages/_app.tsx b/dashboard/src/pages/_app.tsx index a7a790f..2eebfe9 100644 --- a/dashboard/src/pages/_app.tsx +++ b/dashboard/src/pages/_app.tsx @@ -1,4 +1,7 @@ -import "@/styles/globals.css"; +import "@fontsource/roboto/300.css"; +import "@fontsource/roboto/400.css"; +import "@fontsource/roboto/500.css"; +import "@fontsource/roboto/700.css"; import type { AppProps } from "next/app"; export default function App({ Component, pageProps }: AppProps) { diff --git a/dashboard/src/pages/api/hello.ts b/dashboard/src/pages/api/hello.ts deleted file mode 100644 index ea77e8f..0000000 --- a/dashboard/src/pages/api/hello.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from "next"; - -type Data = { - name: string; -}; - -export default function handler( - req: NextApiRequest, - res: NextApiResponse, -) { - res.status(200).json({ name: "John Doe" }); -} diff --git a/dashboard/src/pages/index.tsx b/dashboard/src/pages/index.tsx index ab1c4dd..dff6a9d 100644 --- a/dashboard/src/pages/index.tsx +++ b/dashboard/src/pages/index.tsx @@ -1,9 +1,5 @@ import Head from "next/head"; -import Image from "next/image"; -import { Inter } from "next/font/google"; -import styles from "@/styles/Home.module.css"; - -const inter = Inter({ subsets: ["latin"] }); +import { Button } from "@mui/material"; export default function Home() { return ( @@ -14,100 +10,9 @@ export default function Home() { -
-
-

- Get started by editing  - src/pages/index.tsx -

- -
- -
- Next.js Logo -
- - +
+

Hello World

+
); diff --git a/dashboard/src/styles/Home.module.css b/dashboard/src/styles/Home.module.css deleted file mode 100644 index eee920e..0000000 --- a/dashboard/src/styles/Home.module.css +++ /dev/null @@ -1,229 +0,0 @@ -.main { - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - padding: 6rem; - min-height: 100vh; -} - -.description { - display: inherit; - justify-content: inherit; - align-items: inherit; - font-size: 0.85rem; - max-width: var(--max-width); - width: 100%; - z-index: 2; - font-family: var(--font-mono); -} - -.description a { - display: flex; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -.description p { - position: relative; - margin: 0; - padding: 1rem; - background-color: rgba(var(--callout-rgb), 0.5); - border: 1px solid rgba(var(--callout-border-rgb), 0.3); - border-radius: var(--border-radius); -} - -.code { - font-weight: 700; - font-family: var(--font-mono); -} - -.grid { - display: grid; - grid-template-columns: repeat(4, minmax(25%, auto)); - max-width: 100%; - width: var(--max-width); -} - -.card { - padding: 1rem 1.2rem; - border-radius: var(--border-radius); - background: rgba(var(--card-rgb), 0); - border: 1px solid rgba(var(--card-border-rgb), 0); - transition: background 200ms, border 200ms; -} - -.card span { - display: inline-block; - transition: transform 200ms; -} - -.card h2 { - font-weight: 600; - margin-bottom: 0.7rem; -} - -.card p { - margin: 0; - opacity: 0.6; - font-size: 0.9rem; - line-height: 1.5; - max-width: 30ch; -} - -.center { - display: flex; - justify-content: center; - align-items: center; - position: relative; - padding: 4rem 0; -} - -.center::before { - background: var(--secondary-glow); - border-radius: 50%; - width: 480px; - height: 360px; - margin-left: -400px; -} - -.center::after { - background: var(--primary-glow); - width: 240px; - height: 180px; - z-index: -1; -} - -.center::before, -.center::after { - content: ""; - left: 50%; - position: absolute; - filter: blur(45px); - transform: translateZ(0); -} - -.logo { - position: relative; -} -/* Enable hover only on non-touch devices */ -@media (hover: hover) and (pointer: fine) { - .card:hover { - background: rgba(var(--card-rgb), 0.1); - border: 1px solid rgba(var(--card-border-rgb), 0.15); - } - - .card:hover span { - transform: translateX(4px); - } -} - -@media (prefers-reduced-motion) { - .card:hover span { - transform: none; - } -} - -/* Mobile */ -@media (max-width: 700px) { - .content { - padding: 4rem; - } - - .grid { - grid-template-columns: 1fr; - margin-bottom: 120px; - max-width: 320px; - text-align: center; - } - - .card { - padding: 1rem 2.5rem; - } - - .card h2 { - margin-bottom: 0.5rem; - } - - .center { - padding: 8rem 0 6rem; - } - - .center::before { - transform: none; - height: 300px; - } - - .description { - font-size: 0.8rem; - } - - .description a { - padding: 1rem; - } - - .description p, - .description div { - display: flex; - justify-content: center; - position: fixed; - width: 100%; - } - - .description p { - align-items: center; - inset: 0 0 auto; - padding: 2rem 1rem 1.4rem; - border-radius: 0; - border: none; - border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25); - background: linear-gradient( - to bottom, - rgba(var(--background-start-rgb), 1), - rgba(var(--callout-rgb), 0.5) - ); - background-clip: padding-box; - backdrop-filter: blur(24px); - } - - .description div { - align-items: flex-end; - pointer-events: none; - inset: auto 0 0; - padding: 2rem; - height: 200px; - background: linear-gradient( - to bottom, - transparent 0%, - rgb(var(--background-end-rgb)) 40% - ); - z-index: 1; - } -} - -/* Tablet and Smaller Desktop */ -@media (min-width: 701px) and (max-width: 1120px) { - .grid { - grid-template-columns: repeat(2, 50%); - } -} - -@media (prefers-color-scheme: dark) { - .vercelLogo { - filter: invert(1); - } - - .logo { - filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70); - } -} - -@keyframes rotate { - from { - transform: rotate(360deg); - } - to { - transform: rotate(0deg); - } -} diff --git a/dashboard/src/styles/globals.css b/dashboard/src/styles/globals.css deleted file mode 100644 index f4bd77c..0000000 --- a/dashboard/src/styles/globals.css +++ /dev/null @@ -1,107 +0,0 @@ -:root { - --max-width: 1100px; - --border-radius: 12px; - --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", - "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", - "Fira Mono", "Droid Sans Mono", "Courier New", monospace; - - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; - - --primary-glow: conic-gradient( - from 180deg at 50% 50%, - #16abff33 0deg, - #0885ff33 55deg, - #54d6ff33 120deg, - #0071ff33 160deg, - transparent 360deg - ); - --secondary-glow: radial-gradient( - rgba(255, 255, 255, 1), - rgba(255, 255, 255, 0) - ); - - --tile-start-rgb: 239, 245, 249; - --tile-end-rgb: 228, 232, 233; - --tile-border: conic-gradient( - #00000080, - #00000040, - #00000030, - #00000020, - #00000010, - #00000010, - #00000080 - ); - - --callout-rgb: 238, 240, 241; - --callout-border-rgb: 172, 175, 176; - --card-rgb: 180, 185, 188; - --card-border-rgb: 131, 134, 135; -} - -@media (prefers-color-scheme: dark) { - :root { - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - - --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0)); - --secondary-glow: linear-gradient( - to bottom right, - rgba(1, 65, 255, 0), - rgba(1, 65, 255, 0), - rgba(1, 65, 255, 0.3) - ); - - --tile-start-rgb: 2, 13, 46; - --tile-end-rgb: 2, 5, 19; - --tile-border: conic-gradient( - #ffffff80, - #ffffff40, - #ffffff30, - #ffffff20, - #ffffff10, - #ffffff10, - #ffffff80 - ); - - --callout-rgb: 20, 20, 20; - --callout-border-rgb: 108, 108, 108; - --card-rgb: 100, 100, 100; - --card-border-rgb: 200, 200, 200; - } -} - -* { - box-sizing: border-box; - padding: 0; - margin: 0; -} - -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -a { - color: inherit; - text-decoration: none; -} - -@media (prefers-color-scheme: dark) { - html { - color-scheme: dark; - } -}