From 3914fee77522c7a2f50745018c70c6e9eea55726 Mon Sep 17 00:00:00 2001 From: Ben Phelps Date: Wed, 24 Aug 2022 10:44:35 +0300 Subject: [PATCH] first public source commit --- .dockerignore | 24 + .editorconfig | 13 + .gitignore | 3 + Dockerfile | 35 + README.md | 33 +- jsconfig.json | 5 + next.config.js | 8 +- package.json | 17 +- pages/_app.js | 7 - pages/api/hello.js | 5 - pages/index.js | 69 - pnpm-lock.yaml | 737 ++++++- postcss.config.js | 6 + src/components/bookmarks/group.jsx | 15 + src/components/bookmarks/item.jsx | 23 + src/components/bookmarks/list.jsx | 11 + src/components/greeting.jsx | 20 + src/components/modal.jsx | 68 + src/components/services/group.jsx | 15 + src/components/services/item.jsx | 58 + src/components/services/list.jsx | 11 + src/components/services/stats/list.jsx | 70 + src/components/services/stats/stat.jsx | 8 + src/components/services/status.jsx | 29 + src/components/services/widget.jsx | 27 + src/components/services/widgets/ombi.jsx | 71 + src/components/services/widgets/portainer.jsx | 81 + src/components/services/widgets/radarr.jsx | 63 + src/components/services/widgets/sonarr.jsx | 53 + src/components/theme-toggle.jsx | 35 + src/components/widget.jsx | 21 + .../widgets/resources/resources.jsx | 114 + src/components/widgets/weather/icon.jsx | 9 + src/components/widgets/weather/weather.jsx | 41 + src/pages/_app.js | 18 + src/pages/_document.js | 24 + src/pages/api/bookmarks.js | 27 + src/pages/api/docker/stats/[...service].js | 49 + src/pages/api/docker/status/[...service].js | 48 + src/pages/api/proxy.js | 29 + src/pages/api/services/index.js | 27 + src/pages/api/widgets/index.js | 22 + src/pages/api/widgets/resources.js | 14 + src/pages/api/widgets/weather.js | 9 + src/pages/index.js | 58 + src/skeleton/bookmarks.yaml | 34 + src/skeleton/docker.yaml | 10 + src/skeleton/services.yaml | 53 + src/skeleton/widgets.yaml | 11 + .../font/weathericons-regular-webfont.eot | Bin 0 -> 99774 bytes .../font/weathericons-regular-webfont.svg | 257 +++ .../font/weathericons-regular-webfont.ttf | Bin 0 -> 99564 bytes .../font/weathericons-regular-webfont.woff | Bin 0 -> 56468 bytes .../font/weathericons-regular-webfont.woff2 | Bin 0 -> 44720 bytes src/styles/globals.css | 14 + src/styles/weather-icons.css | 1844 +++++++++++++++++ src/utils/cached-fetch.js | 13 + src/utils/condition-map.js | 356 ++++ src/utils/config.js | 13 + src/utils/docker.js | 30 + src/utils/stats-helpers.js | 26 + src/utils/theme-context.js | 47 + styles/Home.module.css | 129 -- styles/globals.css | 26 - tailwind.config.js | 16 + 65 files changed, 4697 insertions(+), 312 deletions(-) create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 Dockerfile create mode 100644 jsconfig.json delete mode 100644 pages/_app.js delete mode 100644 pages/api/hello.js delete mode 100644 pages/index.js create mode 100644 postcss.config.js create mode 100644 src/components/bookmarks/group.jsx create mode 100644 src/components/bookmarks/item.jsx create mode 100644 src/components/bookmarks/list.jsx create mode 100644 src/components/greeting.jsx create mode 100644 src/components/modal.jsx create mode 100644 src/components/services/group.jsx create mode 100644 src/components/services/item.jsx create mode 100644 src/components/services/list.jsx create mode 100644 src/components/services/stats/list.jsx create mode 100644 src/components/services/stats/stat.jsx create mode 100644 src/components/services/status.jsx create mode 100644 src/components/services/widget.jsx create mode 100644 src/components/services/widgets/ombi.jsx create mode 100644 src/components/services/widgets/portainer.jsx create mode 100644 src/components/services/widgets/radarr.jsx create mode 100644 src/components/services/widgets/sonarr.jsx create mode 100644 src/components/theme-toggle.jsx create mode 100644 src/components/widget.jsx create mode 100644 src/components/widgets/resources/resources.jsx create mode 100644 src/components/widgets/weather/icon.jsx create mode 100644 src/components/widgets/weather/weather.jsx create mode 100644 src/pages/_app.js create mode 100644 src/pages/_document.js create mode 100644 src/pages/api/bookmarks.js create mode 100644 src/pages/api/docker/stats/[...service].js create mode 100644 src/pages/api/docker/status/[...service].js create mode 100644 src/pages/api/proxy.js create mode 100644 src/pages/api/services/index.js create mode 100644 src/pages/api/widgets/index.js create mode 100644 src/pages/api/widgets/resources.js create mode 100644 src/pages/api/widgets/weather.js create mode 100644 src/pages/index.js create mode 100644 src/skeleton/bookmarks.yaml create mode 100644 src/skeleton/docker.yaml create mode 100644 src/skeleton/services.yaml create mode 100644 src/skeleton/widgets.yaml create mode 100755 src/styles/font/weathericons-regular-webfont.eot create mode 100755 src/styles/font/weathericons-regular-webfont.svg create mode 100755 src/styles/font/weathericons-regular-webfont.ttf create mode 100755 src/styles/font/weathericons-regular-webfont.woff create mode 100755 src/styles/font/weathericons-regular-webfont.woff2 create mode 100644 src/styles/globals.css create mode 100644 src/styles/weather-icons.css create mode 100644 src/utils/cached-fetch.js create mode 100644 src/utils/condition-map.js create mode 100644 src/utils/config.js create mode 100644 src/utils/docker.js create mode 100644 src/utils/stats-helpers.js create mode 100644 src/utils/theme-context.js delete mode 100644 styles/Home.module.css delete mode 100644 styles/globals.css create mode 100644 tailwind.config.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..402dc84b0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,24 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/charts +**/docker-compose* +**/compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +README.md +config/ diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..a481ff77a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 120 diff --git a/.gitignore b/.gitignore index c87c9b392..32e06969e 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +# homepage +/config diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..926106500 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +# Install dependencies only when needed +FROM node:16-alpine AS deps +RUN apk add --no-cache libc6-compat +WORKDIR /app +COPY package.json pnpm-lock.yaml* ./ +RUN yarn global add pnpm +RUN pnpm install + +# Rebuild the source code only when needed +FROM node:16-alpine AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +RUN npm run build + +# Production image, copy all the files and run next +FROM node:16-alpine AS runner +WORKDIR /app +ENV NODE_ENV production +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs +COPY --from=builder /app/next.config.js ./ +COPY --from=builder /app/public ./public +COPY --from=builder /app/package.json ./package.json +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +# Since we run in a local environment, we need to accept self signed certificates +ENV NODE_TLS_REJECT_UNAUTHORIZED 0 + +USER nextjs +EXPOSE 3000 +ENV PORT 3000 +CMD ["node", "server.js"] diff --git a/README.md b/README.md index b12f3e33e..f5ffe7347 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,21 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - ## Getting Started -First, run the development server: +Install NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!): ```bash -npm run dev -# or -yarn dev +pnpm install ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +Start the development server: -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +```bash +pnpm dev +``` -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! +Open [http://localhost:3000](http://localhost:3000) to start. -## Deploy on Vercel -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +## Configuration -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +Configuration is done in the /config directory using .yaml files. Refer to each config for +the specific configuration options. diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 000000000..fd99e2eac --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "baseUrl": "./src/", + } +} \ No newline at end of file diff --git a/next.config.js b/next.config.js index ae887958d..9959d2716 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,11 @@ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, + output: "standalone", swcMinify: true, -} + images: { + domains: ["cdn.jsdelivr.net"], + }, +}; -module.exports = nextConfig +module.exports = nextConfig; diff --git a/package.json b/package.json index 8717cedf6..c8646bde2 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,25 @@ "lint": "next lint" }, "dependencies": { + "@headlessui/react": "^1.6.6", + "@tailwindcss/forms": "^0.5.2", + "dockerode": "^3.3.3", + "js-yaml": "^4.1.0", + "memory-cache": "^0.2.0", "next": "12.2.5", + "node-os-utils": "^1.3.7", "react": "18.2.0", - "react-dom": "18.2.0" + "react-dom": "18.2.0", + "react-icons": "^4.4.0", + "sharp": "^0.30.7", + "swr": "^1.3.0" }, "devDependencies": { + "autoprefixer": "^10.4.8", "eslint": "8.22.0", - "eslint-config-next": "12.2.5" + "eslint-config-next": "12.2.5", + "postcss": "^8.4.16", + "tailwindcss": "^3.1.8", + "typescript": "^4.7.4" } } diff --git a/pages/_app.js b/pages/_app.js deleted file mode 100644 index 1e1cec924..000000000 --- a/pages/_app.js +++ /dev/null @@ -1,7 +0,0 @@ -import '../styles/globals.css' - -function MyApp({ Component, pageProps }) { - return -} - -export default MyApp diff --git a/pages/api/hello.js b/pages/api/hello.js deleted file mode 100644 index df63de88f..000000000 --- a/pages/api/hello.js +++ /dev/null @@ -1,5 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction - -export default function handler(req, res) { - res.status(200).json({ name: 'John Doe' }) -} diff --git a/pages/index.js b/pages/index.js deleted file mode 100644 index dc4b64035..000000000 --- a/pages/index.js +++ /dev/null @@ -1,69 +0,0 @@ -import Head from 'next/head' -import Image from 'next/image' -import styles from '../styles/Home.module.css' - -export default function Home() { - return ( -
- - Create Next App - - - - -
-

- Welcome to Next.js! -

- -

- Get started by editing{' '} - pages/index.js -

- -
- -

Documentation →

-

Find in-depth information about Next.js features and API.

-
- - -

Learn →

-

Learn about Next.js in an interactive course with quizzes!

-
- - -

Examples →

-

Discover and deploy boilerplate example Next.js projects.

-
- - -

Deploy →

-

- Instantly deploy your Next.js site to a public URL with Vercel. -

-
-
-
- - -
- ) -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f778d5213..a026931aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,20 +1,46 @@ lockfileVersion: 5.4 specifiers: + '@headlessui/react': ^1.6.6 + '@tailwindcss/forms': ^0.5.2 + autoprefixer: ^10.4.8 + dockerode: ^3.3.3 eslint: 8.22.0 eslint-config-next: 12.2.5 + js-yaml: ^4.1.0 + memory-cache: ^0.2.0 next: 12.2.5 + node-os-utils: ^1.3.7 + postcss: ^8.4.16 react: 18.2.0 react-dom: 18.2.0 + react-icons: ^4.4.0 + sharp: ^0.30.7 + swr: ^1.3.0 + tailwindcss: ^3.1.8 + typescript: ^4.7.4 dependencies: + '@headlessui/react': 1.6.6_biqbaboplfbrettd7655fr4n2y + '@tailwindcss/forms': 0.5.2_tailwindcss@3.1.8 + dockerode: 3.3.3 + js-yaml: 4.1.0 + memory-cache: 0.2.0 next: 12.2.5_biqbaboplfbrettd7655fr4n2y + node-os-utils: 1.3.7 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 + react-icons: 4.4.0_react@18.2.0 + sharp: 0.30.7 + swr: 1.3.0_react@18.2.0 devDependencies: + autoprefixer: 10.4.8_postcss@8.4.16 eslint: 8.22.0 - eslint-config-next: 12.2.5_eslint@8.22.0 + eslint-config-next: 12.2.5_4rv7y5c6xz3vfxwhbrcxxi73bq + postcss: 8.4.16 + tailwindcss: 3.1.8 + typescript: 4.7.4 packages: @@ -50,6 +76,17 @@ packages: - supports-color dev: true + /@headlessui/react/1.6.6_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-MFJtmj9Xh/hhBMhLccGbBoSk+sk61BlP6sJe4uQcVMtXZhCgGqd2GyIQzzmsdPdTEWGSF434CBi8mnhR6um46Q==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + /@humanwhocodes/config-array/0.10.4: resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==} engines: {node: '>=10.10.0'} @@ -202,12 +239,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -215,7 +250,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - dev: true /@rushstack/eslint-patch/1.1.4: resolution: {integrity: sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==} @@ -227,11 +261,20 @@ packages: tslib: 2.4.0 dev: false + /@tailwindcss/forms/0.5.2_tailwindcss@3.1.8: + resolution: {integrity: sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.1.8 + dev: false + /@types/json5/0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@typescript-eslint/parser/5.33.0_eslint@8.22.0: + /@typescript-eslint/parser/5.33.0_4rv7y5c6xz3vfxwhbrcxxi73bq: resolution: {integrity: sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -243,9 +286,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.33.0 '@typescript-eslint/types': 5.33.0 - '@typescript-eslint/typescript-estree': 5.33.0 + '@typescript-eslint/typescript-estree': 5.33.0_typescript@4.7.4 debug: 4.3.4 eslint: 8.22.0 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true @@ -263,7 +307,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.33.0: + /@typescript-eslint/typescript-estree/5.33.0_typescript@4.7.4: resolution: {integrity: sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -278,7 +322,8 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true @@ -299,6 +344,22 @@ packages: acorn: 8.8.0 dev: true + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + /acorn/8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -326,9 +387,18 @@ packages: color-convert: 2.0.1 dev: true + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /aria-query/4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} @@ -374,10 +444,32 @@ packages: es-shim-unscopables: 1.0.0 dev: true + /asn1/0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: false + /ast-types-flow/0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true + /autoprefixer/10.4.8_postcss@8.4.16: + resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.3 + caniuse-lite: 1.0.30001375 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.16 + postcss-value-parser: 4.2.0 + dev: true + /axe-core/4.4.3: resolution: {integrity: sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==} engines: {node: '>=4'} @@ -391,6 +483,28 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: false + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bl/4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: false + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -403,8 +517,31 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + + /browserslist/4.21.3: + resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001375 + electron-to-chromium: 1.4.219 + node-releases: 2.0.6 + update-browserslist-db: 1.0.5_browserslist@4.21.3 dev: true + /buffer/5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /buildcheck/0.0.3: + resolution: {integrity: sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==} + engines: {node: '>=10.0.0'} + dev: false + optional: true + /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -417,9 +554,12 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + /caniuse-lite/1.0.30001375: resolution: {integrity: sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==} - dev: false /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -429,16 +569,47 @@ packages: supports-color: 7.2.0 dev: true + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true + + /color-string/1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color/4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false /concat-map/0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -449,6 +620,16 @@ packages: requiresBuild: true dev: true + /cpu-features/0.0.4: + resolution: {integrity: sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + buildcheck: 0.0.3 + nan: 2.16.0 + dev: false + optional: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -458,6 +639,11 @@ packages: which: 2.0.2 dev: true + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + /damerau-levenshtein/1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true @@ -494,7 +680,18 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true + + /decompress-response/6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -508,6 +705,26 @@ packages: object-keys: 1.1.1 dev: true + /defined/1.0.0: + resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} + + /detect-libc/2.0.1: + resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + engines: {node: '>=8'} + dev: false + + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.0 + minimist: 1.2.6 + + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -515,6 +732,31 @@ packages: path-type: 4.0.0 dev: true + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + /docker-modem/3.0.5: + resolution: {integrity: sha512-x1E6jxWdtoK3+ifAUWj4w5egPdTDGBpesSCErm+aKET5BnnEOvDtTP6GxcnMB1zZiv2iQ0qJZvJie+1wfIRg6Q==} + engines: {node: '>= 8.0'} + dependencies: + debug: 4.3.4 + readable-stream: 3.6.0 + split-ca: 1.0.1 + ssh2: 1.11.0 + transitivePeerDependencies: + - supports-color + dev: false + + /dockerode/3.3.3: + resolution: {integrity: sha512-lvKV6/NGf2/CYLt5V4c0fd6Fl9XZSCo1Z2HBT9ioKrKLMB2o+gA62Uza8RROpzGvYv57KJx2dKu+ZwSpB//OIA==} + engines: {node: '>= 8.0'} + dependencies: + docker-modem: 3.0.5 + tar-fs: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /doctrine/2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -529,10 +771,20 @@ packages: esutils: 2.0.3 dev: true + /electron-to-chromium/1.4.219: + resolution: {integrity: sha512-zoQJsXOUw0ZA0YxbjkmzBumAJRtr6je5JySuL/bAoFs0DuLiLJ+5FzRF7/ZayihxR2QcewlRZVm5QZdUhwjOgA==} + dev: true + /emoji-regex/9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + /es-abstract/1.20.1: resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} engines: {node: '>= 0.4'} @@ -577,12 +829,17 @@ packages: is-symbol: 1.0.4 dev: true + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: true - /eslint-config-next/12.2.5_eslint@8.22.0: + /eslint-config-next/12.2.5_4rv7y5c6xz3vfxwhbrcxxi73bq: resolution: {integrity: sha512-SOowilkqPzW6DxKp3a3SYlrfPi5Ajs9MIzp9gVfUDxxH9QFM5ElkR1hX5m/iICJuvCbWgQqFBiA3mCMozluniw==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -593,7 +850,7 @@ packages: dependencies: '@next/eslint-plugin-next': 12.2.5 '@rushstack/eslint-patch': 1.1.4 - '@typescript-eslint/parser': 5.33.0_eslint@8.22.0 + '@typescript-eslint/parser': 5.33.0_4rv7y5c6xz3vfxwhbrcxxi73bq eslint: 8.22.0 eslint-import-resolver-node: 0.3.6 eslint-import-resolver-typescript: 2.7.1_2iahngt3u2tkbdlu6s4gkur3pu @@ -601,6 +858,7 @@ packages: eslint-plugin-jsx-a11y: 6.6.1_eslint@8.22.0 eslint-plugin-react: 7.30.1_eslint@8.22.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.22.0 + typescript: 4.7.4 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -654,7 +912,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.33.0_eslint@8.22.0 + '@typescript-eslint/parser': 5.33.0_4rv7y5c6xz3vfxwhbrcxxi73bq debug: 3.2.7 eslint: 8.22.0 eslint-import-resolver-node: 0.3.6 @@ -673,7 +931,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.33.0_eslint@8.22.0 + '@typescript-eslint/parser': 5.33.0_4rv7y5c6xz3vfxwhbrcxxi73bq array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 @@ -857,6 +1115,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /expand-template/2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -870,7 +1133,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -884,7 +1146,6 @@ packages: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 - dev: true /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} @@ -898,7 +1159,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /find-up/5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -920,13 +1180,27 @@ packages: resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==} dev: true + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fs-constants/1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true /function.prototype.name/1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} @@ -962,19 +1236,21 @@ packages: get-intrinsic: 1.1.2 dev: true + /github-from-package/0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent/6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - dev: true /glob/7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} @@ -1053,7 +1329,10 @@ packages: engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - dev: true + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} @@ -1082,7 +1361,10 @@ packages: /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false /internal-slot/1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} @@ -1093,12 +1375,22 @@ packages: side-channel: 1.0.4 dev: true + /is-arrayish/0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + /is-boolean-object/1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -1116,7 +1408,6 @@ packages: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} dependencies: has: 1.0.3 - dev: true /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -1128,14 +1419,12 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-glob/4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} @@ -1152,7 +1441,6 @@ packages: /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-regex/1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -1200,7 +1488,6 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: true /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -1243,6 +1530,10 @@ packages: type-check: 0.4.0 dev: true + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} + /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1265,12 +1556,14 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true + + /memory-cache/0.2.0: + resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} + dev: false /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -1278,7 +1571,16 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true + + /mimic-response/3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /mini-svg-data-uri/1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: false /minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1288,7 +1590,10 @@ packages: /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - dev: true + + /mkdirp-classic/0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -1296,16 +1601,23 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /nan/2.16.0: + resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==} + dev: false + optional: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + + /napi-build-utils/1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: false /natural-compare/1.4.0: @@ -1357,11 +1669,43 @@ packages: - babel-plugin-macros dev: false + /node-abi/3.24.0: + resolution: {integrity: sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==} + engines: {node: '>=10'} + dependencies: + semver: 7.3.7 + dev: false + + /node-addon-api/5.0.0: + resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==} + dev: false + + /node-os-utils/1.3.7: + resolution: {integrity: sha512-fvnX9tZbR7WfCG5BAy3yO/nCLyjVWD6MghEq0z5FDfN+ZXpLWNITBdbifxQkQ25ebr16G0N7eRWJisOcMEHG3Q==} + dev: false + + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + /object-assign/4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + /object-inspect/1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true @@ -1419,7 +1763,6 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - dev: true /optionator/0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} @@ -1471,7 +1814,6 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -1480,12 +1822,69 @@ packages: /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: false /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + /postcss-import/14.1.0_postcss@8.4.16: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.16 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + + /postcss-js/4.0.0_postcss@8.4.16: + resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.3.3 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.16 + + /postcss-load-config/3.1.4_postcss@8.4.16: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.16 + yaml: 1.10.2 + + /postcss-nested/5.0.6_postcss@8.4.16: + resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.16 + postcss-selector-parser: 6.0.10 + + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} /postcss/8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} @@ -1496,6 +1895,33 @@ packages: source-map-js: 1.0.2 dev: false + /postcss/8.4.16: + resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prebuild-install/7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.1 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.6 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.24.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1509,6 +1935,13 @@ packages: react-is: 16.13.1 dev: true + /pump/3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} @@ -1516,7 +1949,20 @@ packages: /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.6 + strip-json-comments: 2.0.1 + dev: false /react-dom/18.2.0_react@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} @@ -1528,6 +1974,14 @@ packages: scheduler: 0.23.0 dev: false + /react-icons/4.4.0_react@18.2.0: + resolution: {integrity: sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==} + peerDependencies: + react: '*' + dependencies: + react: 18.2.0 + dev: false + /react-is/16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true @@ -1539,6 +1993,26 @@ packages: loose-envify: 1.4.0 dev: false + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + + /readable-stream/3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + /regenerator-runtime/0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} dev: true @@ -1569,7 +2043,6 @@ packages: is-core-module: 2.10.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /resolve/2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} @@ -1583,7 +2056,6 @@ packages: /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -1596,7 +2068,14 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false /scheduler/0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -1615,7 +2094,21 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: true + + /sharp/0.30.7: + resolution: {integrity: sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==} + engines: {node: '>=12.13.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.1 + node-addon-api: 5.0.0 + prebuild-install: 7.1.1 + semver: 7.3.7 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -1637,6 +2130,24 @@ packages: object-inspect: 1.12.2 dev: true + /simple-concat/1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get/4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /simple-swizzle/0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -1645,6 +2156,21 @@ packages: /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + + /split-ca/1.0.1: + resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==} + dev: false + + /ssh2/1.11.0: + resolution: {integrity: sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==} + engines: {node: '>=10.16.0'} + requiresBuild: true + dependencies: + asn1: 0.2.6 + bcrypt-pbkdf: 1.0.2 + optionalDependencies: + cpu-features: 0.0.4 + nan: 2.16.0 dev: false /string.prototype.matchall/4.0.7: @@ -1676,6 +2202,12 @@ packages: es-abstract: 1.20.1 dev: true + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1688,6 +2220,11 @@ packages: engines: {node: '>=4'} dev: true + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -1719,7 +2256,73 @@ packages: /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true + + /swr/1.3.0_react@18.2.0: + resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + + /tailwindcss/3.1.8: + resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} + engines: {node: '>=12.13.0'} + hasBin: true + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.11 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.0.6 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.16 + postcss-import: 14.1.0_postcss@8.4.16 + postcss-js: 4.0.0_postcss@8.4.16 + postcss-load-config: 3.1.4_postcss@8.4.16 + postcss-nested: 5.0.6_postcss@8.4.16 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node + + /tar-fs/2.0.1: + resolution: {integrity: sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-fs/2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-stream/2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: false /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -1730,7 +2333,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /tsconfig-paths/3.14.1: resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} @@ -1749,15 +2351,26 @@ packages: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: false - /tsutils/3.21.0: + /tsutils/3.21.0_typescript@4.7.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 + typescript: 4.7.4 dev: true + /tunnel-agent/0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /tweetnacl/0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: false + /type-check/0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -1770,6 +2383,12 @@ packages: engines: {node: '>=10'} dev: true + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -1779,6 +2398,17 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /update-browserslist-db/1.0.5_browserslist@4.21.3: + resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.3 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -1793,6 +2423,9 @@ packages: react: 18.2.0 dev: false + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -1822,11 +2455,17 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 000000000..33ad091d2 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/src/components/bookmarks/group.jsx b/src/components/bookmarks/group.jsx new file mode 100644 index 000000000..bf61bcd92 --- /dev/null +++ b/src/components/bookmarks/group.jsx @@ -0,0 +1,15 @@ +import List from "components/bookmarks/list"; + +export default function BookmarksGroup({ group }) { + return ( +
+

+ {group.name} +

+ +
+ ); +} diff --git a/src/components/bookmarks/item.jsx b/src/components/bookmarks/item.jsx new file mode 100644 index 000000000..e55ab145c --- /dev/null +++ b/src/components/bookmarks/item.jsx @@ -0,0 +1,23 @@ +export default function Item({ bookmark }) { + const { hostname } = new URL(bookmark.href); + + return ( +
  • { + window.open(bookmark.href, "_blank").focus(); + }} + key={bookmark.name} + className="mb-3 cursor-pointer flex rounded-md font-medium text-theme-700 hover:text-theme-800 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900 bg-white/50 hover:bg-theme-300/10 dark:bg-white/5 dark:hover:bg-white/10" + > +
    + {bookmark.abbr} +
    +
    +
    {bookmark.name}
    +
    + {hostname} +
    +
    +
  • + ); +} diff --git a/src/components/bookmarks/list.jsx b/src/components/bookmarks/list.jsx new file mode 100644 index 000000000..2c080e02f --- /dev/null +++ b/src/components/bookmarks/list.jsx @@ -0,0 +1,11 @@ +import Item from "components/bookmarks/item"; + +export default function List({ bookmarks }) { + return ( + + ); +} diff --git a/src/components/greeting.jsx b/src/components/greeting.jsx new file mode 100644 index 000000000..5412a0fc2 --- /dev/null +++ b/src/components/greeting.jsx @@ -0,0 +1,20 @@ +export default function Greeting() { + const name = process.env.NEXT_PUBLIC_DISPLAY_NAME; + const hour = new Date().getHours(); + + let day = "day"; + + if (hour < 12) { + day = "morning"; + } else if (hour < 17) { + day = "afternoon"; + } else { + day = "evening"; + } + + return ( +
    + Good {day} +
    + ); +} diff --git a/src/components/modal.jsx b/src/components/modal.jsx new file mode 100644 index 000000000..f683b5e92 --- /dev/null +++ b/src/components/modal.jsx @@ -0,0 +1,68 @@ +import { Fragment, useRef, useState, Children } from "react"; +import { Dialog, Transition } from "@headlessui/react"; + +function classNames(...classes) { + return classes.filter(Boolean).join(" "); +} + +const Modal = ({ Toggle, Content }) => { + const [open, setOpen] = useState(false); + const cancelButtonRef = useRef(null); + + return ( + <> + + + + +
    + + +
    +
    + + + + + +
    +
    +
    +
    + + ); +}; + +const ModalToggle = ({ open, setOpen, children }) => ( +
    setOpen(!open)}>{children}
    +); + +const ModalContent = ({ open, setOpen, children }) => ( +
    {children}
    +); + +Modal.Toggle = ModalToggle; +Modal.Content = ModalContent; + +export default Modal; diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx new file mode 100644 index 000000000..b4f32aa77 --- /dev/null +++ b/src/components/services/group.jsx @@ -0,0 +1,15 @@ +import List from "components/services/list"; + +export default function ServicesGroup({ services }) { + return ( +
    +

    + {services.name} +

    + +
    + ); +} diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx new file mode 100644 index 000000000..797c0c911 --- /dev/null +++ b/src/components/services/item.jsx @@ -0,0 +1,58 @@ +import Image from "next/image"; +import { useState } from "react"; +import { Disclosure, Transition } from "@headlessui/react"; + +import StatsList from "./stats/list"; +import Status from "./status"; +import Widget from "./widget"; + +export default function Item({ service }) { + const [statsOpen, setStatsOpen] = useState(false); + return ( +
  • + +
    +
    +
    { + window.open(service.href, "_blank").focus(); + }} + className="flex-shrink-0 flex items-center justify-center w-12 " + > + logo +
    +
    { + window.open(service.href, "_blank").focus(); + }} + className="flex-1 flex items-center justify-between rounded-r-md " + > +
    + {service.name} +

    {service.description}

    +
    +
    + {service.container && ( + + + + )} +
    + + +
    + +
    +
    + + {service.widget && } +
    +
    +
  • + ); +} diff --git a/src/components/services/list.jsx b/src/components/services/list.jsx new file mode 100644 index 000000000..ee5191373 --- /dev/null +++ b/src/components/services/list.jsx @@ -0,0 +1,11 @@ +import Item from "components/services/item"; + +export default function List({ services }) { + return ( +
      + {services.map((service) => ( + + ))} +
    + ); +} diff --git a/src/components/services/stats/list.jsx b/src/components/services/stats/list.jsx new file mode 100644 index 000000000..cb2cdfaa1 --- /dev/null +++ b/src/components/services/stats/list.jsx @@ -0,0 +1,70 @@ +import useSWR from "swr"; +import { calculateCPUPercent, formatBytes } from "utils/stats-helpers"; +import Stat from "./stat"; + +export default function Stats({ service }) { + // fast + const { data: statusData, error: statusError } = useSWR( + `/api/docker/status/${service.container}/${service.server || ""}`, + { + refreshInterval: 1500, + } + ); + + // takes a full second to collect stats + const { data: statsData, error: statsError } = useSWR( + `/api/docker/stats/${service.container}/${service.server || ""}`, + { + refreshInterval: 1500, + } + ); + + // handle errors first + if (statsError || statusError) { + return ( +
    + +
    + ); + } + + // handle the case where we get a docker error + if (statusData.status !== "running") { + return ( +
    + +
    + ); + } + + // handle the case where the container is offline + if (statusData.status !== "running") { + return ( +
    + +
    + ); + } + + // handle the case where we don't have anything yet + if (!statsData || !statusData) { + return ( +
    + + + + +
    + ); + } + + // we have stats and the container is running + return ( +
    + + + + +
    + ); +} diff --git a/src/components/services/stats/stat.jsx b/src/components/services/stats/stat.jsx new file mode 100644 index 000000000..57674d4c8 --- /dev/null +++ b/src/components/services/stats/stat.jsx @@ -0,0 +1,8 @@ +export default function Stat({ value, label }) { + return ( +
    +
    {value}
    +
    {label}
    +
    + ); +} diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx new file mode 100644 index 000000000..b2c0ea4c0 --- /dev/null +++ b/src/components/services/status.jsx @@ -0,0 +1,29 @@ +import useSWR from "swr"; + +export default function Status({ service }) { + const { data, error } = useSWR( + `/api/docker/status/${service.container}/${service.server || ""}` + ); + + if (error) { + return ( +
    + ); + } + + if (data && data.status === "running") { + return ( +
    + ); + } + + if (data && data.status === "not found") { + return ( + <> +
    + + ); + } + + return
    ; +} diff --git a/src/components/services/widget.jsx b/src/components/services/widget.jsx new file mode 100644 index 000000000..62864cb17 --- /dev/null +++ b/src/components/services/widget.jsx @@ -0,0 +1,27 @@ +import Sonarr from "./widgets/sonarr"; +import Radarr from "./widgets/radarr"; +import Ombi from "./widgets/ombi"; +import Portainer from "./widgets/portainer"; + +const widgetMappings = { + sonarr: Sonarr, + radarr: Radarr, + ombi: Ombi, + portainer: Portainer, +}; + +export default function Widget({ service }) { + const ServiceWidget = widgetMappings[service.widget.type]; + + if (ServiceWidget) { + return ; + } + + return ( +
    +
    + Missing Widget Type: {service.widget.type} +
    +
    + ); +} diff --git a/src/components/services/widgets/ombi.jsx b/src/components/services/widgets/ombi.jsx new file mode 100644 index 000000000..e5527cb2a --- /dev/null +++ b/src/components/services/widgets/ombi.jsx @@ -0,0 +1,71 @@ +import useSWR from "swr"; + +export default function Ombi({ service }) { + const config = service.widget; + + function buildApiUrl(endpoint) { + const { url } = config; + return `${url}/api/v1/${endpoint}`; + } + + const fetcher = (url) => { + return fetch(url, { + method: "GET", + withCredentials: true, + credentials: "include", + headers: { + ApiKey: `${config.key}`, + "Content-Type": "application/json", + }, + }).then((res) => res.json()); + }; + + const { data: statsData, error: statsError } = useSWR( + buildApiUrl(`Request/count`), + fetcher + ); + + if (statsError) { + return ( +
    +
    Ombi API Error
    +
    + ); + } + + if (!statsData) { + return ( +
    +
    +
    -
    +
    COMPLETED
    +
    +
    +
    -
    +
    QUEUED
    +
    +
    +
    -
    +
    TOTAL
    +
    +
    + ); + } + + return ( +
    +
    +
    {statsData.pending}
    +
    PENDING
    +
    +
    +
    {statsData.approved}
    +
    APPROVED
    +
    +
    +
    {statsData.available}
    +
    AVAILABLE
    +
    +
    + ); +} diff --git a/src/components/services/widgets/portainer.jsx b/src/components/services/widgets/portainer.jsx new file mode 100644 index 000000000..7af630dc2 --- /dev/null +++ b/src/components/services/widgets/portainer.jsx @@ -0,0 +1,81 @@ +import useSWR from "swr"; + +export default function Portainer({ service }) { + const config = service.widget; + + function buildApiUrl(endpoint) { + const { url, env } = config; + const reqUrl = new URL(`/api/endpoints/${env}/${endpoint}`, url); + return `/api/proxy?url=${encodeURIComponent(reqUrl)}`; + } + + const fetcher = (url) => { + return fetch(url, { + method: "GET", + withCredentials: true, + credentials: "include", + headers: { + "X-API-Key": `${config.key}`, + "Content-Type": "application/json", + }, + }).then((res) => res.json()); + }; + + const { data: containersData, error: containersError } = useSWR(buildApiUrl(`docker/containers/json`), fetcher); + + if (containersError) { + return ( +
    +
    Portainer API Error
    +
    + ); + } + + if (!containersData) { + return ( +
    +
    +
    -
    +
    RUNNING
    +
    +
    +
    -
    +
    STOPPED
    +
    +
    +
    -
    +
    TOTAL
    +
    +
    + ); + } + + if (containersData.error) { + return ( +
    +
    Portainer API Error
    +
    + ); + } + + const running = containersData.filter((c) => c.State === "running").length; + const stopped = containersData.filter((c) => c.State === "exited").length; + const total = containersData.length; + + return ( +
    +
    +
    {running}
    +
    RUNNING
    +
    +
    +
    {stopped}
    +
    STOPPED
    +
    +
    +
    {total}
    +
    TOTAL
    +
    +
    + ); +} diff --git a/src/components/services/widgets/radarr.jsx b/src/components/services/widgets/radarr.jsx new file mode 100644 index 000000000..562138418 --- /dev/null +++ b/src/components/services/widgets/radarr.jsx @@ -0,0 +1,63 @@ +import useSWR from "swr"; + +export default function Radarr({ service }) { + const config = service.widget; + + function buildApiUrl(endpoint) { + const { url, key } = config; + return `${url}/api/v3/${endpoint}?apikey=${key}`; + } + + const { data: moviesData, error: moviesError } = useSWR(buildApiUrl("movie")); + + const { data: queuedData, error: queuedError } = useSWR( + buildApiUrl("queue/status") + ); + + if (moviesError || queuedError) { + return ( +
    +
    Radarr API Error
    +
    + ); + } + + if (!moviesData || !queuedData) { + return ( +
    +
    +
    -
    +
    WANTED
    +
    +
    +
    -
    +
    QUEUED
    +
    +
    +
    -
    +
    MOVIES
    +
    +
    + ); + } + + const wanted = moviesData.filter((movie) => movie.isAvailable === false); + const have = moviesData.filter((movie) => movie.isAvailable === true); + + return ( +
    +
    +
    {wanted.length}
    +
    WANTED
    +
    +
    +
    {queuedData.totalCount}
    +
    QUEUED
    +
    +
    +
    {moviesData.length}
    +
    MOVIES
    +
    +
    + ); +} diff --git a/src/components/services/widgets/sonarr.jsx b/src/components/services/widgets/sonarr.jsx new file mode 100644 index 000000000..afdda3965 --- /dev/null +++ b/src/components/services/widgets/sonarr.jsx @@ -0,0 +1,53 @@ +import useSWR from "swr"; + +export default function Sonarr({ service }) { + const config = service.widget; + + function buildApiUrl(endpoint) { + const { url, key } = config; + return `${url}/api/v3/${endpoint}?apikey=${key}`; + } + + const { data: wantedData, error: wantedError } = useSWR( + buildApiUrl("wanted/missing") + ); + + const { data: queuedData, error: queuedError } = useSWR(buildApiUrl("queue")); + + const { data: seriesData, error: seriesError } = useSWR( + buildApiUrl("series") + ); + + if (wantedError || queuedError || seriesError) { + return ( +
    +
    Sonarr API Error
    +
    + ); + } + + if (!wantedData || !queuedData || !seriesData) { + return ( +
    +
    Loading
    +
    + ); + } + + return ( +
    +
    +
    {wantedData.totalRecords}
    +
    WANTED
    +
    +
    +
    {queuedData.totalRecords}
    +
    QUEUED
    +
    +
    +
    {seriesData.length}
    +
    SERIES
    +
    +
    + ); +} diff --git a/src/components/theme-toggle.jsx b/src/components/theme-toggle.jsx new file mode 100644 index 000000000..da29d9d2c --- /dev/null +++ b/src/components/theme-toggle.jsx @@ -0,0 +1,35 @@ +import { useContext } from "react"; +import { + MdDarkMode, + MdLightMode, + MdToggleOff, + MdToggleOn, +} from "react-icons/md"; + +import { ThemeContext } from "utils/theme-context"; + +export default function ThemeToggle() { + const { theme, setTheme } = useContext(ThemeContext); + + if (!theme) { + return null; + } + + return ( +
    + + {theme === "dark" ? ( + setTheme(theme === "dark" ? "light" : "dark")} + className="text-theme-800 dark:text-theme-200 w-8 h-8 cursor-pointer" + /> + ) : ( + setTheme(theme === "dark" ? "light" : "dark")} + className="text-theme-800 dark:text-theme-200 w-8 h-8 cursor-pointer" + /> + )} + +
    + ); +} diff --git a/src/components/widget.jsx b/src/components/widget.jsx new file mode 100644 index 000000000..415cc7d40 --- /dev/null +++ b/src/components/widget.jsx @@ -0,0 +1,21 @@ +import Weather from "components/widgets/weather/weather"; +import Resources from "components/widgets/resources/resources"; + +const widgetMappings = { + weather: Weather, + resources: Resources, +}; + +export default function Widget({ widget }) { + const ServiceWidget = widgetMappings[widget.type]; + + if (ServiceWidget) { + return ; + } + + return ( +
    + Missing {widget.type} +
    + ); +} diff --git a/src/components/widgets/resources/resources.jsx b/src/components/widgets/resources/resources.jsx new file mode 100644 index 000000000..d082f5158 --- /dev/null +++ b/src/components/widgets/resources/resources.jsx @@ -0,0 +1,114 @@ +import useSWR from "swr"; +import { FiHardDrive, FiCpu } from "react-icons/fi"; +import { FaMemory } from "react-icons/fa"; + +export default function Resources({ options }) { + const { data, error } = useSWR( + `/api/widgets/resources?disk=${options.disk}`, + { + refreshInterval: 1500, + } + ); + + if (error) { + return
    failed to load
    ; + } + + if (!data) { + return ( + <> + {options.disk && ( +
    + +
    + + - GB free + + + - GB used + +
    +
    + )} + + {options.cpu && ( +
    + +
    + + - Usage + + + - Load + +
    +
    + )} + + {options.memory && ( +
    + +
    + + - GB Used + + + - GB Free + +
    +
    + )} + + ); + } + + if (data.error) { + return
    ; + } + + return ( + <> + {options.disk && ( +
    + +
    + + {Math.round(data.drive.freeGb)} GB free + + + {Math.round(data.drive.totalGb)} GB used + +
    +
    + )} + + {options.cpu && ( +
    + +
    + + {Math.round(data.cpu.usage)}% Usage + + + {Math.round(data.cpu.load * 100) / 100} Load + +
    +
    + )} + + {options.memory && ( +
    + +
    + + {Math.round((data.memory.usedMemMb / 1024) * 100) / 100} GB Used + + + {Math.round((data.memory.freeMemMb / 1024) * 100) / 100} GB Free + +
    +
    + )} + + ); +} diff --git a/src/components/widgets/weather/icon.jsx b/src/components/widgets/weather/icon.jsx new file mode 100644 index 000000000..1a250fbe3 --- /dev/null +++ b/src/components/widgets/weather/icon.jsx @@ -0,0 +1,9 @@ +import mapIcon from "utils/condition-map"; + +export default function Icon({ condition, timeOfDay }) { + const Icon = mapIcon(condition, timeOfDay); + + return ( + + ); +} diff --git a/src/components/widgets/weather/weather.jsx b/src/components/widgets/weather/weather.jsx new file mode 100644 index 000000000..7e42c17d7 --- /dev/null +++ b/src/components/widgets/weather/weather.jsx @@ -0,0 +1,41 @@ +import useSWR from "swr"; +import Icon from "./icon"; + +export default function Weather({ options }) { + const { data, error } = useSWR( + `/api/widgets/weather?lat=${options.latitude}&lon=${options.longitude}&apiKey=${options.apiKey}&duration=${options.cache}`, + { + revalidateOnFocus: false, + revalidateOnReconnect: false, + } + ); + + if (error) { + return
    failed to load
    ; + } + + if (!data) { + return
    ; + } + + if (data.error) { + return
    ; + } + + return ( +
    + +
    + + {Math.round(data.current.temp_f)}° + + + {data.current.condition.text} + +
    +
    + ); +} diff --git a/src/pages/_app.js b/src/pages/_app.js new file mode 100644 index 000000000..2607bc9d3 --- /dev/null +++ b/src/pages/_app.js @@ -0,0 +1,18 @@ +import { SWRConfig } from "swr"; +import "styles/globals.css"; +import "styles/weather-icons.css"; + +function MyApp({ Component, pageProps }) { + return ( + + fetch(resource, init).then((res) => res.json()), + }} + > + + + ); +} + +export default MyApp; diff --git a/src/pages/_document.js b/src/pages/_document.js new file mode 100644 index 000000000..d69d90447 --- /dev/null +++ b/src/pages/_document.js @@ -0,0 +1,24 @@ +import { Html, Head, Main, NextScript } from "next/document"; + +export default function Document() { + return ( + + + + + + + +
    + + + + ); +} diff --git a/src/pages/api/bookmarks.js b/src/pages/api/bookmarks.js new file mode 100644 index 000000000..ee77065de --- /dev/null +++ b/src/pages/api/bookmarks.js @@ -0,0 +1,27 @@ +import { promises as fs } from "fs"; +import path from "path"; +import yaml from "js-yaml"; +import checkAndCopyConfig from "utils/config"; + +export default async function handler(req, res) { + checkAndCopyConfig("bookmarks.yaml"); + + const bookmarksYaml = path.join(process.cwd(), "config", "bookmarks.yaml"); + const fileContents = await fs.readFile(bookmarksYaml, "utf8"); + const bookmarks = yaml.load(fileContents); + + // map easy to write YAML objects into easy to consume JS arrays + const bookmarksArray = bookmarks.map((group) => { + return { + name: Object.keys(group)[0], + bookmarks: group[Object.keys(group)[0]].map((entries) => { + return { + name: Object.keys(entries)[0], + ...entries[Object.keys(entries)[0]][0], + }; + }), + }; + }); + + res.send(bookmarksArray); +} diff --git a/src/pages/api/docker/stats/[...service].js b/src/pages/api/docker/stats/[...service].js new file mode 100644 index 000000000..af6a1a3b8 --- /dev/null +++ b/src/pages/api/docker/stats/[...service].js @@ -0,0 +1,49 @@ +import Docker from "dockerode"; +import getDockerArguments from "utils/docker"; + +export default async function handler(req, res) { + const { service } = req.query; + const [containerName, containerServer] = service; + + if (!containerName && !containerServer) { + res.status(400).send({ + error: "docker query parameters are required", + }); + return; + } + + try { + const docker = new Docker(await getDockerArguments(containerServer)); + const containers = await docker.listContainers(); + + // bad docker connections can result in a object? + // in any case, this ensures the result is the expected array + if (!Array.isArray(containers)) { + return res.status(500).send({ + error: "query failed", + }); + } + + const containerNames = containers.map((container) => { + return container.Names[0].replace(/^\//, ""); + }); + const containerExists = containerNames.includes(containerName); + + if (!containerExists) { + return res.status(404).send({ + error: "not found", + }); + } + + const container = docker.getContainer(containerName); + const stats = await container.stats({ stream: false }); + + return res.status(200).json({ + stats: stats, + }); + } catch { + return res.status(500).send({ + error: "unknown error", + }); + } +} diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js new file mode 100644 index 000000000..a0c8cd5aa --- /dev/null +++ b/src/pages/api/docker/status/[...service].js @@ -0,0 +1,48 @@ +import Docker from "dockerode"; +import getDockerArguments from "utils/docker"; + +export default async function handler(req, res) { + const { service } = req.query; + const [containerName, containerServer] = service; + + if (!containerName && !containerServer) { + return res.status(400).send({ + error: "docker query parameters are required", + }); + } + + try { + const docker = new Docker(await getDockerArguments(containerServer)); + const containers = await docker.listContainers(); + + // bad docker connections can result in a object? + // in any case, this ensures the result is the expected array + if (!Array.isArray(containers)) { + return res.status(500).send({ + error: "query failed", + }); + } + + const containerNames = containers.map((container) => { + return container.Names[0].replace(/^\//, ""); + }); + const containerExists = containerNames.includes(containerName); + + if (!containerExists) { + return res.status(404).send({ + error: "not found", + }); + } + + const container = docker.getContainer(containerName); + const info = await container.inspect(); + + return res.status(200).json({ + status: info.State.Status, + }); + } catch { + return res.status(500).send({ + error: "unknown error", + }); + } +} diff --git a/src/pages/api/proxy.js b/src/pages/api/proxy.js new file mode 100644 index 000000000..26495a4ed --- /dev/null +++ b/src/pages/api/proxy.js @@ -0,0 +1,29 @@ +function pick(object, keys) { + return; +} + +export default async function handler(req, res) { + const headers = ["X-API-Key", "Content-Type", "Authorization"].reduce((obj, key) => { + if (req.headers && req.headers.hasOwnProperty(key.toLowerCase())) { + obj[key] = req.headers[key.toLowerCase()]; + } + return obj; + }, {}); + + try { + const result = await fetch(req.query.url, { + strictSSL: false, + rejectUnhauthorized: false, + method: req.method, + headers: headers, + body: req.method == "GET" || req.method == "HEAD" ? null : req.body, + }).then((res) => res); + + const forward = await result.text(); + return res.status(result.status).send(forward); + } catch { + return res.status(500).send({ + error: "query failed", + }); + } +} diff --git a/src/pages/api/services/index.js b/src/pages/api/services/index.js new file mode 100644 index 000000000..53d508692 --- /dev/null +++ b/src/pages/api/services/index.js @@ -0,0 +1,27 @@ +import { promises as fs } from "fs"; +import path from "path"; +import yaml from "js-yaml"; +import checkAndCopyConfig from "utils/config"; + +export default async function handler(req, res) { + checkAndCopyConfig("services.yaml"); + + const servicesYaml = path.join(process.cwd(), "config", "services.yaml"); + const fileContents = await fs.readFile(servicesYaml, "utf8"); + const services = yaml.load(fileContents); + + // map easy to write YAML objects into easy to consume JS arrays + const servicesArray = services.map((group) => { + return { + name: Object.keys(group)[0], + services: group[Object.keys(group)[0]].map((entries) => { + return { + name: Object.keys(entries)[0], + ...entries[Object.keys(entries)[0]], + }; + }), + }; + }); + + res.send(servicesArray); +} diff --git a/src/pages/api/widgets/index.js b/src/pages/api/widgets/index.js new file mode 100644 index 000000000..98496ad65 --- /dev/null +++ b/src/pages/api/widgets/index.js @@ -0,0 +1,22 @@ +import { promises as fs } from "fs"; +import path from "path"; +import yaml from "js-yaml"; +import checkAndCopyConfig from "utils/config"; + +export default async function handler(req, res) { + checkAndCopyConfig("widgets.yaml"); + + const widgetsYaml = path.join(process.cwd(), "config", "widgets.yaml"); + const fileContents = await fs.readFile(widgetsYaml, "utf8"); + const widgets = yaml.load(fileContents); + + // map easy to write YAML objects into easy to consume JS arrays + const widgetsArray = widgets.map((group) => { + return { + type: Object.keys(group)[0], + options: { ...group[Object.keys(group)[0]] }, + }; + }); + + res.send(widgetsArray); +} diff --git a/src/pages/api/widgets/resources.js b/src/pages/api/widgets/resources.js new file mode 100644 index 000000000..528f50fdb --- /dev/null +++ b/src/pages/api/widgets/resources.js @@ -0,0 +1,14 @@ +import { cpu, drive, mem, netstat } from "node-os-utils"; + +export default async function handler(req, res) { + const { disk } = req.query; + + res.send({ + cpu: { + usage: await cpu.usage(), + load: cpu.loadavgTime(5), + }, + drive: await drive.info(disk || "/"), + memory: await mem.info(), + }); +} diff --git a/src/pages/api/widgets/weather.js b/src/pages/api/widgets/weather.js new file mode 100644 index 000000000..5d1af4b04 --- /dev/null +++ b/src/pages/api/widgets/weather.js @@ -0,0 +1,9 @@ +import cachedFetch from "utils/cached-fetch"; + +export default async function handler(req, res) { + const { lat, lon, apiKey, duration } = req.query; + + const api_url = `http://api.weatherapi.com/v1/current.json?q=${lat},${lon}&key=${apiKey}`; + + res.send(await cachedFetch(api_url, duration)); +} diff --git a/src/pages/index.js b/src/pages/index.js new file mode 100644 index 000000000..299585319 --- /dev/null +++ b/src/pages/index.js @@ -0,0 +1,58 @@ +import useSWR from "swr"; +import Head from "next/head"; +import dynamic from "next/dynamic"; + +import { ThemeProvider } from "utils/theme-context"; + +import ServicesGroup from "components/services/group"; +import BookmarksGroup from "components/bookmarks/group"; +import Widget from "components/widget"; + +const ThemeToggle = dynamic(() => import("components/theme-toggle"), { + ssr: false, +}); + +export default function Home() { + const { data: services, error: servicesError } = useSWR("/api/services"); + const { data: bookmarks, error: bookmarksError } = useSWR("/api/bookmarks"); + const { data: widgets, error: widgetsError } = useSWR("/api/widgets"); + + return ( + + + Welcome + +
    +
    + {widgets && ( + <> + {widgets.map((widget) => ( + + ))} + + )} +
    + + {services && ( +
    + {services.map((group) => ( + + ))} +
    + )} + + {bookmarks && ( +
    + {bookmarks.map((group) => ( + + ))} +
    + )} + +
    + +
    +
    +
    + ); +} diff --git a/src/skeleton/bookmarks.yaml b/src/skeleton/bookmarks.yaml new file mode 100644 index 000000000..d553b2e3f --- /dev/null +++ b/src/skeleton/bookmarks.yaml @@ -0,0 +1,34 @@ +- Developer: # Bookmark group title + - Github: # Bookmark title + - abbr: GH # Two letter abbrivation for the bookmark + href: https://github.com/ # URL to link out to + + - StackOverflow: + - abbr: SO + href: https://stackoverflow.com/ + + - DEV: + - abbr: DT + href: https://dev.to/ + +- Social: + - LinkedIn: + - abbr: LI + href: https://linkedin.com/ + + - Twitter: + - abbr: TW + href: https://twitter.com/ + +- Entertainment: + - YouTube: + - abbr: YT + href: https://youtube.com/ + + - Netflix: + - abbr: NF + href: https://netflix.com/ + + - Reddit: + - abbr: RE + href: https://reddit.com/ diff --git a/src/skeleton/docker.yaml b/src/skeleton/docker.yaml new file mode 100644 index 000000000..6e4331939 --- /dev/null +++ b/src/skeleton/docker.yaml @@ -0,0 +1,10 @@ +# Docker host configuration, used for docker integrations +# Can be either a host and port (e.g. 127.0.0.1:2375), +# or a unix socket path (e.g. /var/run/docker.sock) + +my-docker: + host: 127.0.0.1 + port: 2375 + +other-docker: + socket: /var/run/docker.sock diff --git a/src/skeleton/services.yaml b/src/skeleton/services.yaml new file mode 100644 index 000000000..e51e117b9 --- /dev/null +++ b/src/skeleton/services.yaml @@ -0,0 +1,53 @@ +- Media: # Services Group Title + - Emby: # Service Title + icon: emby.png # Icon, see: https://github.com/walkxcode/dashboard-icons or public/icons + href: http://emby.home/ # Link to the service + description: Media server # Description of the service + server: my-docker # Docker server the service is running on + container: emby # Docker container the service is running on + + - Radarr: + icon: radarr.png + href: http://radarr.home/ + description: Movie management + server: my-docker + container: radarr + widget: # Service widget configuration + type: radarr # Widget type, currently supports types radarr, sonarr, ombi or portainer + url: http://radarr.home # Base URL of the service, where the API is located + key: apikeyapikeyapikeyapikey # API key of the service + +- Documents & Files: + - ruTorrent: + icon: rutorrent.png + href: http://rutorrent.home/ + description: Torrent downloader + server: my-docker + container: rutorrent + + - File Browser: + icon: filebrowser.png + href: "#" + description: Media File Management + server: my-docker + container: filebrowser + +- Utilities: + - Media Portainer: + icon: portainer.png + href: http://portainer.home:9443/ + description: Container management + server: my-docker + container: portainer + widget: + type: portainer + url: https://portainer.home:9443 + env: 2 + key: accesskeyaccesskeyaccesskeyaccesskey + + - Traefik: + icon: traefik.png + href: http://traefik.home/ + description: Reverse Proxy + server: my-docker + container: traefik diff --git a/src/skeleton/widgets.yaml b/src/skeleton/widgets.yaml new file mode 100644 index 000000000..e366a7996 --- /dev/null +++ b/src/skeleton/widgets.yaml @@ -0,0 +1,11 @@ +- weather: # type of the widget + latitude: 51.5072 # widget configuration + longitude: 0.1275 + units: metric + apiKey: weather_api_key # get from https://www.weatherapi.com/ + cache: 5 # cache time in minutes + +- resources: + cpu: true + memory: true + disk: / # disk (path) to show usage for diff --git a/src/styles/font/weathericons-regular-webfont.eot b/src/styles/font/weathericons-regular-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..330b7ec7a0f940fa5b4313d8ac5cefb6de3093e9 GIT binary patch literal 99774 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 p##vq(L8#LV9vn6j*a;3LuV9<{|9$`GJ*gA literal 0 HcmV?d00001 diff --git a/src/styles/font/weathericons-regular-webfont.svg b/src/styles/font/weathericons-regular-webfont.svg new file mode 100755 index 000000000..397d7305b --- /dev/null +++ b/src/styles/font/weathericons-regular-webfont.svg @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/styles/font/weathericons-regular-webfont.ttf b/src/styles/font/weathericons-regular-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..948f0a5d26e899539e7821aa5a500932f76ba582 GIT binary patch literal 99564 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%0D#Rj$k_pOl`WL;%6e`2iA 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 C!5iiP literal 0 HcmV?d00001 diff --git a/src/styles/font/weathericons-regular-webfont.woff b/src/styles/font/weathericons-regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..e0b2f94833249963a4d6650571fdb36f6911c02f GIT binary patch literal 56468 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

    TZ8`9ATt!WOE6>PfWhmJv?;)2K3m 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

    9M~{`GU5w5T>Oe(l_R83nX{Cr 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 literal 0 HcmV?d00001 diff --git a/src/styles/font/weathericons-regular-webfont.woff2 b/src/styles/font/weathericons-regular-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..bb0c19ddfa700f04c76c942b7e04a65972c31fff GIT binary patch literal 44720 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 z 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 literal 0 HcmV?d00001 diff --git a/src/styles/globals.css b/src/styles/globals.css new file mode 100644 index 000000000..e11bf477e --- /dev/null +++ b/src/styles/globals.css @@ -0,0 +1,14 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +#__next { + width: 100%; + height: 100%; + margin: 0; + padding: 0; +} + +body { + font-family: "Poppins", sans-serif; +} diff --git a/src/styles/weather-icons.css b/src/styles/weather-icons.css new file mode 100644 index 000000000..b69f78d1c --- /dev/null +++ b/src/styles/weather-icons.css @@ -0,0 +1,1844 @@ +/*! + * Weather Icons 2.0.10 + * Updated November 1, 2020 + * Weather themed icons for Bootstrap + * Author - Erik Flowers - erik@helloerik.com + * Email: erik@helloerik.com + * Twitter: http://twitter.com/Erik_UX + * ------------------------------------------------------------------------------ + * Maintained at http://erikflowers.github.io/weather-icons + * + * License + * ------------------------------------------------------------------------------ + * - Font licensed under SIL OFL 1.1 - + * http://scripts.sil.org/OFL + * - CSS, SCSS and LESS are licensed under MIT License - + * http://opensource.org/licenses/mit-license.html + * - Documentation licensed under CC BY 3.0 - + * http://creativecommons.org/licenses/by/3.0/ + * - Inspired by and works great as a companion with Font Awesome + * "Font Awesome by Dave Gandy - http://fontawesome.io" + */ +@font-face { + font-family: "weathericons"; + src: url("./font/weathericons-regular-webfont.eot"); + src: url("./font/weathericons-regular-webfont.eot?#iefix") + format("embedded-opentype"), + url("./font/weathericons-regular-webfont.woff2") format("woff2"), + url("./font/weathericons-regular-webfont.woff") format("woff"), + url("./font/weathericons-regular-webfont.ttf") format("truetype"), + url("./font/weathericons-regular-webfont.svg#weather_iconsregular") + format("svg"); + font-weight: normal; + font-style: normal; +} +.wi { + display: inline-block; + font-family: "weathericons"; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.wi-fw { + text-align: center; + width: 1.4em; +} +.wi-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.wi-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.wi-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.wi-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.wi-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +.wi-day-sunny:before { + content: "\f00d"; +} +.wi-day-cloudy:before { + content: "\f002"; +} +.wi-day-cloudy-gusts:before { + content: "\f000"; +} +.wi-day-cloudy-windy:before { + content: "\f001"; +} +.wi-day-fog:before { + content: "\f003"; +} +.wi-day-hail:before { + content: "\f004"; +} +.wi-day-haze:before { + content: "\f0b6"; +} +.wi-day-lightning:before { + content: "\f005"; +} +.wi-day-rain:before { + content: "\f008"; +} +.wi-day-rain-mix:before { + content: "\f006"; +} +.wi-day-rain-wind:before { + content: "\f007"; +} +.wi-day-showers:before { + content: "\f009"; +} +.wi-day-sleet:before { + content: "\f0b2"; +} +.wi-day-sleet-storm:before { + content: "\f068"; +} +.wi-day-snow:before { + content: "\f00a"; +} +.wi-day-snow-thunderstorm:before { + content: "\f06b"; +} +.wi-day-snow-wind:before { + content: "\f065"; +} +.wi-day-sprinkle:before { + content: "\f00b"; +} +.wi-day-storm-showers:before { + content: "\f00e"; +} +.wi-day-sunny-overcast:before { + content: "\f00c"; +} +.wi-day-thunderstorm:before { + content: "\f010"; +} +.wi-day-windy:before { + content: "\f085"; +} +.wi-solar-eclipse:before { + content: "\f06e"; +} +.wi-hot:before { + content: "\f072"; +} +.wi-day-cloudy-high:before { + content: "\f07d"; +} +.wi-day-light-wind:before { + content: "\f0c4"; +} +.wi-night-clear:before { + content: "\f02e"; +} +.wi-night-alt-cloudy:before { + content: "\f086"; +} +.wi-night-alt-cloudy-gusts:before { + content: "\f022"; +} +.wi-night-alt-cloudy-windy:before { + content: "\f023"; +} +.wi-night-alt-hail:before { + content: "\f024"; +} +.wi-night-alt-lightning:before { + content: "\f025"; +} +.wi-night-alt-rain:before { + content: "\f028"; +} +.wi-night-alt-rain-mix:before { + content: "\f026"; +} +.wi-night-alt-rain-wind:before { + content: "\f027"; +} +.wi-night-alt-showers:before { + content: "\f029"; +} +.wi-night-alt-sleet:before { + content: "\f0b4"; +} +.wi-night-alt-sleet-storm:before { + content: "\f06a"; +} +.wi-night-alt-snow:before { + content: "\f02a"; +} +.wi-night-alt-snow-thunderstorm:before { + content: "\f06d"; +} +.wi-night-alt-snow-wind:before { + content: "\f067"; +} +.wi-night-alt-sprinkle:before { + content: "\f02b"; +} +.wi-night-alt-storm-showers:before { + content: "\f02c"; +} +.wi-night-alt-thunderstorm:before { + content: "\f02d"; +} +.wi-night-cloudy:before { + content: "\f031"; +} +.wi-night-cloudy-gusts:before { + content: "\f02f"; +} +.wi-night-cloudy-windy:before { + content: "\f030"; +} +.wi-night-fog:before { + content: "\f04a"; +} +.wi-night-hail:before { + content: "\f032"; +} +.wi-night-lightning:before { + content: "\f033"; +} +.wi-night-partly-cloudy:before { + content: "\f083"; +} +.wi-night-rain:before { + content: "\f036"; +} +.wi-night-rain-mix:before { + content: "\f034"; +} +.wi-night-rain-wind:before { + content: "\f035"; +} +.wi-night-showers:before { + content: "\f037"; +} +.wi-night-sleet:before { + content: "\f0b3"; +} +.wi-night-sleet-storm:before { + content: "\f069"; +} +.wi-night-snow:before { + content: "\f038"; +} +.wi-night-snow-thunderstorm:before { + content: "\f06c"; +} +.wi-night-snow-wind:before { + content: "\f066"; +} +.wi-night-sprinkle:before { + content: "\f039"; +} +.wi-night-storm-showers:before { + content: "\f03a"; +} +.wi-night-thunderstorm:before { + content: "\f03b"; +} +.wi-lunar-eclipse:before { + content: "\f070"; +} +.wi-stars:before { + content: "\f077"; +} +.wi-storm-showers:before { + content: "\f01d"; +} +.wi-thunderstorm:before { + content: "\f01e"; +} +.wi-night-alt-cloudy-high:before { + content: "\f07e"; +} +.wi-night-cloudy-high:before { + content: "\f080"; +} +.wi-night-alt-partly-cloudy:before { + content: "\f081"; +} +.wi-cloud:before { + content: "\f041"; +} +.wi-cloudy:before { + content: "\f013"; +} +.wi-cloudy-gusts:before { + content: "\f011"; +} +.wi-cloudy-windy:before { + content: "\f012"; +} +.wi-fog:before { + content: "\f014"; +} +.wi-hail:before { + content: "\f015"; +} +.wi-rain:before { + content: "\f019"; +} +.wi-rain-mix:before { + content: "\f017"; +} +.wi-rain-wind:before { + content: "\f018"; +} +.wi-showers:before { + content: "\f01a"; +} +.wi-sleet:before { + content: "\f0b5"; +} +.wi-snow:before { + content: "\f01b"; +} +.wi-sprinkle:before { + content: "\f01c"; +} +.wi-storm-showers:before { + content: "\f01d"; +} +.wi-thunderstorm:before { + content: "\f01e"; +} +.wi-snow-wind:before { + content: "\f064"; +} +.wi-snow:before { + content: "\f01b"; +} +.wi-smog:before { + content: "\f074"; +} +.wi-smoke:before { + content: "\f062"; +} +.wi-lightning:before { + content: "\f016"; +} +.wi-raindrops:before { + content: "\f04e"; +} +.wi-raindrop:before { + content: "\f078"; +} +.wi-dust:before { + content: "\f063"; +} +.wi-snowflake-cold:before { + content: "\f076"; +} +.wi-windy:before { + content: "\f021"; +} +.wi-strong-wind:before { + content: "\f050"; +} +.wi-sandstorm:before { + content: "\f082"; +} +.wi-earthquake:before { + content: "\f0c6"; +} +.wi-fire:before { + content: "\f0c7"; +} +.wi-flood:before { + content: "\f07c"; +} +.wi-meteor:before { + content: "\f071"; +} +.wi-tsunami:before { + content: "\f0c5"; +} +.wi-volcano:before { + content: "\f0c8"; +} +.wi-hurricane:before { + content: "\f073"; +} +.wi-tornado:before { + content: "\f056"; +} +.wi-small-craft-advisory:before { + content: "\f0cc"; +} +.wi-gale-warning:before { + content: "\f0cd"; +} +.wi-storm-warning:before { + content: "\f0ce"; +} +.wi-hurricane-warning:before { + content: "\f0cf"; +} +.wi-wind-direction:before { + content: "\f0b1"; +} +.wi-alien:before { + content: "\f075"; +} +.wi-celsius:before { + content: "\f03c"; +} +.wi-fahrenheit:before { + content: "\f045"; +} +.wi-degrees:before { + content: "\f042"; +} +.wi-thermometer:before { + content: "\f055"; +} +.wi-thermometer-exterior:before { + content: "\f053"; +} +.wi-thermometer-internal:before { + content: "\f054"; +} +.wi-cloud-down:before { + content: "\f03d"; +} +.wi-cloud-up:before { + content: "\f040"; +} +.wi-cloud-refresh:before { + content: "\f03e"; +} +.wi-horizon:before { + content: "\f047"; +} +.wi-horizon-alt:before { + content: "\f046"; +} +.wi-sunrise:before { + content: "\f051"; +} +.wi-sunset:before { + content: "\f052"; +} +.wi-moonrise:before { + content: "\f0c9"; +} +.wi-moonset:before { + content: "\f0ca"; +} +.wi-refresh:before { + content: "\f04c"; +} +.wi-refresh-alt:before { + content: "\f04b"; +} +.wi-umbrella:before { + content: "\f084"; +} +.wi-barometer:before { + content: "\f079"; +} +.wi-humidity:before { + content: "\f07a"; +} +.wi-na:before { + content: "\f07b"; +} +.wi-train:before { + content: "\f0cb"; +} +.wi-moon-new:before { + content: "\f095"; +} +.wi-moon-waxing-crescent-1:before { + content: "\f096"; +} +.wi-moon-waxing-crescent-2:before { + content: "\f097"; +} +.wi-moon-waxing-crescent-3:before { + content: "\f098"; +} +.wi-moon-waxing-crescent-4:before { + content: "\f099"; +} +.wi-moon-waxing-crescent-5:before { + content: "\f09a"; +} +.wi-moon-waxing-crescent-6:before { + content: "\f09b"; +} +.wi-moon-first-quarter:before { + content: "\f09c"; +} +.wi-moon-waxing-gibbous-1:before { + content: "\f09d"; +} +.wi-moon-waxing-gibbous-2:before { + content: "\f09e"; +} +.wi-moon-waxing-gibbous-3:before { + content: "\f09f"; +} +.wi-moon-waxing-gibbous-4:before { + content: "\f0a0"; +} +.wi-moon-waxing-gibbous-5:before { + content: "\f0a1"; +} +.wi-moon-waxing-gibbous-6:before { + content: "\f0a2"; +} +.wi-moon-full:before { + content: "\f0a3"; +} +.wi-moon-waning-gibbous-1:before { + content: "\f0a4"; +} +.wi-moon-waning-gibbous-2:before { + content: "\f0a5"; +} +.wi-moon-waning-gibbous-3:before { + content: "\f0a6"; +} +.wi-moon-waning-gibbous-4:before { + content: "\f0a7"; +} +.wi-moon-waning-gibbous-5:before { + content: "\f0a8"; +} +.wi-moon-waning-gibbous-6:before { + content: "\f0a9"; +} +.wi-moon-third-quarter:before { + content: "\f0aa"; +} +.wi-moon-waning-crescent-1:before { + content: "\f0ab"; +} +.wi-moon-waning-crescent-2:before { + content: "\f0ac"; +} +.wi-moon-waning-crescent-3:before { + content: "\f0ad"; +} +.wi-moon-waning-crescent-4:before { + content: "\f0ae"; +} +.wi-moon-waning-crescent-5:before { + content: "\f0af"; +} +.wi-moon-waning-crescent-6:before { + content: "\f0b0"; +} +.wi-moon-alt-new:before { + content: "\f0eb"; +} +.wi-moon-alt-waxing-crescent-1:before { + content: "\f0d0"; +} +.wi-moon-alt-waxing-crescent-2:before { + content: "\f0d1"; +} +.wi-moon-alt-waxing-crescent-3:before { + content: "\f0d2"; +} +.wi-moon-alt-waxing-crescent-4:before { + content: "\f0d3"; +} +.wi-moon-alt-waxing-crescent-5:before { + content: "\f0d4"; +} +.wi-moon-alt-waxing-crescent-6:before { + content: "\f0d5"; +} +.wi-moon-alt-first-quarter:before { + content: "\f0d6"; +} +.wi-moon-alt-waxing-gibbous-1:before { + content: "\f0d7"; +} +.wi-moon-alt-waxing-gibbous-2:before { + content: "\f0d8"; +} +.wi-moon-alt-waxing-gibbous-3:before { + content: "\f0d9"; +} +.wi-moon-alt-waxing-gibbous-4:before { + content: "\f0da"; +} +.wi-moon-alt-waxing-gibbous-5:before { + content: "\f0db"; +} +.wi-moon-alt-waxing-gibbous-6:before { + content: "\f0dc"; +} +.wi-moon-alt-full:before { + content: "\f0dd"; +} +.wi-moon-alt-waning-gibbous-1:before { + content: "\f0de"; +} +.wi-moon-alt-waning-gibbous-2:before { + content: "\f0df"; +} +.wi-moon-alt-waning-gibbous-3:before { + content: "\f0e0"; +} +.wi-moon-alt-waning-gibbous-4:before { + content: "\f0e1"; +} +.wi-moon-alt-waning-gibbous-5:before { + content: "\f0e2"; +} +.wi-moon-alt-waning-gibbous-6:before { + content: "\f0e3"; +} +.wi-moon-alt-third-quarter:before { + content: "\f0e4"; +} +.wi-moon-alt-waning-crescent-1:before { + content: "\f0e5"; +} +.wi-moon-alt-waning-crescent-2:before { + content: "\f0e6"; +} +.wi-moon-alt-waning-crescent-3:before { + content: "\f0e7"; +} +.wi-moon-alt-waning-crescent-4:before { + content: "\f0e8"; +} +.wi-moon-alt-waning-crescent-5:before { + content: "\f0e9"; +} +.wi-moon-alt-waning-crescent-6:before { + content: "\f0ea"; +} +.wi-moon-0:before { + content: "\f095"; +} +.wi-moon-1:before { + content: "\f096"; +} +.wi-moon-2:before { + content: "\f097"; +} +.wi-moon-3:before { + content: "\f098"; +} +.wi-moon-4:before { + content: "\f099"; +} +.wi-moon-5:before { + content: "\f09a"; +} +.wi-moon-6:before { + content: "\f09b"; +} +.wi-moon-7:before { + content: "\f09c"; +} +.wi-moon-8:before { + content: "\f09d"; +} +.wi-moon-9:before { + content: "\f09e"; +} +.wi-moon-10:before { + content: "\f09f"; +} +.wi-moon-11:before { + content: "\f0a0"; +} +.wi-moon-12:before { + content: "\f0a1"; +} +.wi-moon-13:before { + content: "\f0a2"; +} +.wi-moon-14:before { + content: "\f0a3"; +} +.wi-moon-15:before { + content: "\f0a4"; +} +.wi-moon-16:before { + content: "\f0a5"; +} +.wi-moon-17:before { + content: "\f0a6"; +} +.wi-moon-18:before { + content: "\f0a7"; +} +.wi-moon-19:before { + content: "\f0a8"; +} +.wi-moon-20:before { + content: "\f0a9"; +} +.wi-moon-21:before { + content: "\f0aa"; +} +.wi-moon-22:before { + content: "\f0ab"; +} +.wi-moon-23:before { + content: "\f0ac"; +} +.wi-moon-24:before { + content: "\f0ad"; +} +.wi-moon-25:before { + content: "\f0ae"; +} +.wi-moon-26:before { + content: "\f0af"; +} +.wi-moon-27:before { + content: "\f0b0"; +} +.wi-time-1:before { + content: "\f08a"; +} +.wi-time-2:before { + content: "\f08b"; +} +.wi-time-3:before { + content: "\f08c"; +} +.wi-time-4:before { + content: "\f08d"; +} +.wi-time-5:before { + content: "\f08e"; +} +.wi-time-6:before { + content: "\f08f"; +} +.wi-time-7:before { + content: "\f090"; +} +.wi-time-8:before { + content: "\f091"; +} +.wi-time-9:before { + content: "\f092"; +} +.wi-time-10:before { + content: "\f093"; +} +.wi-time-11:before { + content: "\f094"; +} +.wi-time-12:before { + content: "\f089"; +} +.wi-direction-up:before { + content: "\f058"; +} +.wi-direction-up-right:before { + content: "\f057"; +} +.wi-direction-right:before { + content: "\f04d"; +} +.wi-direction-down-right:before { + content: "\f088"; +} +.wi-direction-down:before { + content: "\f044"; +} +.wi-direction-down-left:before { + content: "\f043"; +} +.wi-direction-left:before { + content: "\f048"; +} +.wi-direction-up-left:before { + content: "\f087"; +} +.wi-wind-beaufort-0:before { + content: "\f0b7"; +} +.wi-wind-beaufort-1:before { + content: "\f0b8"; +} +.wi-wind-beaufort-2:before { + content: "\f0b9"; +} +.wi-wind-beaufort-3:before { + content: "\f0ba"; +} +.wi-wind-beaufort-4:before { + content: "\f0bb"; +} +.wi-wind-beaufort-5:before { + content: "\f0bc"; +} +.wi-wind-beaufort-6:before { + content: "\f0bd"; +} +.wi-wind-beaufort-7:before { + content: "\f0be"; +} +.wi-wind-beaufort-8:before { + content: "\f0bf"; +} +.wi-wind-beaufort-9:before { + content: "\f0c0"; +} +.wi-wind-beaufort-10:before { + content: "\f0c1"; +} +.wi-wind-beaufort-11:before { + content: "\f0c2"; +} +.wi-wind-beaufort-12:before { + content: "\f0c3"; +} +.wi-yahoo-0:before { + content: "\f056"; +} +.wi-yahoo-1:before { + content: "\f00e"; +} +.wi-yahoo-2:before { + content: "\f073"; +} +.wi-yahoo-3:before { + content: "\f01e"; +} +.wi-yahoo-4:before { + content: "\f01e"; +} +.wi-yahoo-5:before { + content: "\f017"; +} +.wi-yahoo-6:before { + content: "\f017"; +} +.wi-yahoo-7:before { + content: "\f017"; +} +.wi-yahoo-8:before { + content: "\f015"; +} +.wi-yahoo-9:before { + content: "\f01a"; +} +.wi-yahoo-10:before { + content: "\f015"; +} +.wi-yahoo-11:before { + content: "\f01a"; +} +.wi-yahoo-12:before { + content: "\f01a"; +} +.wi-yahoo-13:before { + content: "\f01b"; +} +.wi-yahoo-14:before { + content: "\f00a"; +} +.wi-yahoo-15:before { + content: "\f064"; +} +.wi-yahoo-16:before { + content: "\f01b"; +} +.wi-yahoo-17:before { + content: "\f015"; +} +.wi-yahoo-18:before { + content: "\f017"; +} +.wi-yahoo-19:before { + content: "\f063"; +} +.wi-yahoo-20:before { + content: "\f014"; +} +.wi-yahoo-21:before { + content: "\f021"; +} +.wi-yahoo-22:before { + content: "\f062"; +} +.wi-yahoo-23:before { + content: "\f050"; +} +.wi-yahoo-24:before { + content: "\f050"; +} +.wi-yahoo-25:before { + content: "\f076"; +} +.wi-yahoo-26:before { + content: "\f013"; +} +.wi-yahoo-27:before { + content: "\f031"; +} +.wi-yahoo-28:before { + content: "\f002"; +} +.wi-yahoo-29:before { + content: "\f031"; +} +.wi-yahoo-30:before { + content: "\f002"; +} +.wi-yahoo-31:before { + content: "\f02e"; +} +.wi-yahoo-32:before { + content: "\f00d"; +} +.wi-yahoo-33:before { + content: "\f083"; +} +.wi-yahoo-34:before { + content: "\f00c"; +} +.wi-yahoo-35:before { + content: "\f017"; +} +.wi-yahoo-36:before { + content: "\f072"; +} +.wi-yahoo-37:before { + content: "\f00e"; +} +.wi-yahoo-38:before { + content: "\f00e"; +} +.wi-yahoo-39:before { + content: "\f00e"; +} +.wi-yahoo-40:before { + content: "\f01a"; +} +.wi-yahoo-41:before { + content: "\f064"; +} +.wi-yahoo-42:before { + content: "\f01b"; +} +.wi-yahoo-43:before { + content: "\f064"; +} +.wi-yahoo-44:before { + content: "\f00c"; +} +.wi-yahoo-45:before { + content: "\f00e"; +} +.wi-yahoo-46:before { + content: "\f01b"; +} +.wi-yahoo-47:before { + content: "\f00e"; +} +.wi-yahoo-3200:before { + content: "\f077"; +} +.wi-forecast-io-clear-day:before { + content: "\f00d"; +} +.wi-forecast-io-clear-night:before { + content: "\f02e"; +} +.wi-forecast-io-rain:before { + content: "\f019"; +} +.wi-forecast-io-snow:before { + content: "\f01b"; +} +.wi-forecast-io-sleet:before { + content: "\f0b5"; +} +.wi-forecast-io-wind:before { + content: "\f050"; +} +.wi-forecast-io-fog:before { + content: "\f014"; +} +.wi-forecast-io-cloudy:before { + content: "\f013"; +} +.wi-forecast-io-partly-cloudy-day:before { + content: "\f002"; +} +.wi-forecast-io-partly-cloudy-night:before { + content: "\f031"; +} +.wi-forecast-io-hail:before { + content: "\f015"; +} +.wi-forecast-io-thunderstorm:before { + content: "\f01e"; +} +.wi-forecast-io-tornado:before { + content: "\f056"; +} +.wi-wmo4680-0:before, +.wi-wmo4680-00:before { + content: "\f055"; +} +.wi-wmo4680-1:before, +.wi-wmo4680-01:before { + content: "\f013"; +} +.wi-wmo4680-2:before, +.wi-wmo4680-02:before { + content: "\f055"; +} +.wi-wmo4680-3:before, +.wi-wmo4680-03:before { + content: "\f013"; +} +.wi-wmo4680-4:before, +.wi-wmo4680-04:before { + content: "\f014"; +} +.wi-wmo4680-5:before, +.wi-wmo4680-05:before { + content: "\f014"; +} +.wi-wmo4680-10:before { + content: "\f014"; +} +.wi-wmo4680-11:before { + content: "\f014"; +} +.wi-wmo4680-12:before { + content: "\f016"; +} +.wi-wmo4680-18:before { + content: "\f050"; +} +.wi-wmo4680-20:before { + content: "\f014"; +} +.wi-wmo4680-21:before { + content: "\f017"; +} +.wi-wmo4680-22:before { + content: "\f017"; +} +.wi-wmo4680-23:before { + content: "\f019"; +} +.wi-wmo4680-24:before { + content: "\f01b"; +} +.wi-wmo4680-25:before { + content: "\f015"; +} +.wi-wmo4680-26:before { + content: "\f01e"; +} +.wi-wmo4680-27:before { + content: "\f063"; +} +.wi-wmo4680-28:before { + content: "\f063"; +} +.wi-wmo4680-29:before { + content: "\f063"; +} +.wi-wmo4680-30:before { + content: "\f014"; +} +.wi-wmo4680-31:before { + content: "\f014"; +} +.wi-wmo4680-32:before { + content: "\f014"; +} +.wi-wmo4680-33:before { + content: "\f014"; +} +.wi-wmo4680-34:before { + content: "\f014"; +} +.wi-wmo4680-35:before { + content: "\f014"; +} +.wi-wmo4680-40:before { + content: "\f017"; +} +.wi-wmo4680-41:before { + content: "\f01c"; +} +.wi-wmo4680-42:before { + content: "\f019"; +} +.wi-wmo4680-43:before { + content: "\f01c"; +} +.wi-wmo4680-44:before { + content: "\f019"; +} +.wi-wmo4680-45:before { + content: "\f015"; +} +.wi-wmo4680-46:before { + content: "\f015"; +} +.wi-wmo4680-47:before { + content: "\f01b"; +} +.wi-wmo4680-48:before { + content: "\f01b"; +} +.wi-wmo4680-50:before { + content: "\f01c"; +} +.wi-wmo4680-51:before { + content: "\f01c"; +} +.wi-wmo4680-52:before { + content: "\f019"; +} +.wi-wmo4680-53:before { + content: "\f019"; +} +.wi-wmo4680-54:before { + content: "\f076"; +} +.wi-wmo4680-55:before { + content: "\f076"; +} +.wi-wmo4680-56:before { + content: "\f076"; +} +.wi-wmo4680-57:before { + content: "\f01c"; +} +.wi-wmo4680-58:before { + content: "\f019"; +} +.wi-wmo4680-60:before { + content: "\f01c"; +} +.wi-wmo4680-61:before { + content: "\f01c"; +} +.wi-wmo4680-62:before { + content: "\f019"; +} +.wi-wmo4680-63:before { + content: "\f019"; +} +.wi-wmo4680-64:before { + content: "\f015"; +} +.wi-wmo4680-65:before { + content: "\f015"; +} +.wi-wmo4680-66:before { + content: "\f015"; +} +.wi-wmo4680-67:before { + content: "\f017"; +} +.wi-wmo4680-68:before { + content: "\f017"; +} +.wi-wmo4680-70:before { + content: "\f01b"; +} +.wi-wmo4680-71:before { + content: "\f01b"; +} +.wi-wmo4680-72:before { + content: "\f01b"; +} +.wi-wmo4680-73:before { + content: "\f01b"; +} +.wi-wmo4680-74:before { + content: "\f076"; +} +.wi-wmo4680-75:before { + content: "\f076"; +} +.wi-wmo4680-76:before { + content: "\f076"; +} +.wi-wmo4680-77:before { + content: "\f01b"; +} +.wi-wmo4680-78:before { + content: "\f076"; +} +.wi-wmo4680-80:before { + content: "\f019"; +} +.wi-wmo4680-81:before { + content: "\f01c"; +} +.wi-wmo4680-82:before { + content: "\f019"; +} +.wi-wmo4680-83:before { + content: "\f019"; +} +.wi-wmo4680-84:before { + content: "\f01d"; +} +.wi-wmo4680-85:before { + content: "\f017"; +} +.wi-wmo4680-86:before { + content: "\f017"; +} +.wi-wmo4680-87:before { + content: "\f017"; +} +.wi-wmo4680-89:before { + content: "\f015"; +} +.wi-wmo4680-90:before { + content: "\f016"; +} +.wi-wmo4680-91:before { + content: "\f01d"; +} +.wi-wmo4680-92:before { + content: "\f01e"; +} +.wi-wmo4680-93:before { + content: "\f01e"; +} +.wi-wmo4680-94:before { + content: "\f016"; +} +.wi-wmo4680-95:before { + content: "\f01e"; +} +.wi-wmo4680-96:before { + content: "\f01e"; +} +.wi-wmo4680-99:before { + content: "\f056"; +} +.wi-owm-200:before { + content: "\f01e"; +} +.wi-owm-201:before { + content: "\f01e"; +} +.wi-owm-202:before { + content: "\f01e"; +} +.wi-owm-210:before { + content: "\f016"; +} +.wi-owm-211:before { + content: "\f016"; +} +.wi-owm-212:before { + content: "\f016"; +} +.wi-owm-221:before { + content: "\f016"; +} +.wi-owm-230:before { + content: "\f01e"; +} +.wi-owm-231:before { + content: "\f01e"; +} +.wi-owm-232:before { + content: "\f01e"; +} +.wi-owm-300:before { + content: "\f01c"; +} +.wi-owm-301:before { + content: "\f01c"; +} +.wi-owm-302:before { + content: "\f019"; +} +.wi-owm-310:before { + content: "\f017"; +} +.wi-owm-311:before { + content: "\f019"; +} +.wi-owm-312:before { + content: "\f019"; +} +.wi-owm-313:before { + content: "\f01a"; +} +.wi-owm-314:before { + content: "\f019"; +} +.wi-owm-321:before { + content: "\f01c"; +} +.wi-owm-500:before { + content: "\f01c"; +} +.wi-owm-501:before { + content: "\f019"; +} +.wi-owm-502:before { + content: "\f019"; +} +.wi-owm-503:before { + content: "\f019"; +} +.wi-owm-504:before { + content: "\f019"; +} +.wi-owm-511:before { + content: "\f017"; +} +.wi-owm-520:before { + content: "\f01a"; +} +.wi-owm-521:before { + content: "\f01a"; +} +.wi-owm-522:before { + content: "\f01a"; +} +.wi-owm-531:before { + content: "\f01d"; +} +.wi-owm-600:before { + content: "\f01b"; +} +.wi-owm-601:before { + content: "\f01b"; +} +.wi-owm-602:before { + content: "\f0b5"; +} +.wi-owm-611:before { + content: "\f017"; +} +.wi-owm-612:before { + content: "\f017"; +} +.wi-owm-615:before { + content: "\f017"; +} +.wi-owm-616:before { + content: "\f017"; +} +.wi-owm-620:before { + content: "\f017"; +} +.wi-owm-621:before { + content: "\f01b"; +} +.wi-owm-622:before { + content: "\f01b"; +} +.wi-owm-701:before { + content: "\f014"; +} +.wi-owm-711:before { + content: "\f062"; +} +.wi-owm-721:before { + content: "\f0b6"; +} +.wi-owm-731:before { + content: "\f063"; +} +.wi-owm-741:before { + content: "\f014"; +} +.wi-owm-761:before { + content: "\f063"; +} +.wi-owm-762:before { + content: "\f063"; +} +.wi-owm-771:before { + content: "\f011"; +} +.wi-owm-781:before { + content: "\f056"; +} +.wi-owm-800:before { + content: "\f00d"; +} +.wi-owm-801:before { + content: "\f041"; +} +.wi-owm-802:before { + content: "\f041"; +} +.wi-owm-803:before { + content: "\f013"; +} +.wi-owm-804:before { + content: "\f013"; +} +.wi-owm-900:before { + content: "\f056"; +} +.wi-owm-901:before { + content: "\f01d"; +} +.wi-owm-902:before { + content: "\f073"; +} +.wi-owm-903:before { + content: "\f076"; +} +.wi-owm-904:before { + content: "\f072"; +} +.wi-owm-905:before { + content: "\f021"; +} +.wi-owm-906:before { + content: "\f015"; +} +.wi-owm-957:before { + content: "\f050"; +} +.wi-owm-day-200:before { + content: "\f010"; +} +.wi-owm-day-201:before { + content: "\f010"; +} +.wi-owm-day-202:before { + content: "\f010"; +} +.wi-owm-day-210:before { + content: "\f005"; +} +.wi-owm-day-211:before { + content: "\f005"; +} +.wi-owm-day-212:before { + content: "\f005"; +} +.wi-owm-day-221:before { + content: "\f005"; +} +.wi-owm-day-230:before { + content: "\f010"; +} +.wi-owm-day-231:before { + content: "\f010"; +} +.wi-owm-day-232:before { + content: "\f010"; +} +.wi-owm-day-300:before { + content: "\f00b"; +} +.wi-owm-day-301:before { + content: "\f00b"; +} +.wi-owm-day-302:before { + content: "\f008"; +} +.wi-owm-day-310:before { + content: "\f008"; +} +.wi-owm-day-311:before { + content: "\f008"; +} +.wi-owm-day-312:before { + content: "\f008"; +} +.wi-owm-day-313:before { + content: "\f008"; +} +.wi-owm-day-314:before { + content: "\f008"; +} +.wi-owm-day-321:before { + content: "\f00b"; +} +.wi-owm-day-500:before { + content: "\f00b"; +} +.wi-owm-day-501:before { + content: "\f008"; +} +.wi-owm-day-502:before { + content: "\f008"; +} +.wi-owm-day-503:before { + content: "\f008"; +} +.wi-owm-day-504:before { + content: "\f008"; +} +.wi-owm-day-511:before { + content: "\f006"; +} +.wi-owm-day-520:before { + content: "\f009"; +} +.wi-owm-day-521:before { + content: "\f009"; +} +.wi-owm-day-522:before { + content: "\f009"; +} +.wi-owm-day-531:before { + content: "\f00e"; +} +.wi-owm-day-600:before { + content: "\f00a"; +} +.wi-owm-day-601:before { + content: "\f0b2"; +} +.wi-owm-day-602:before { + content: "\f00a"; +} +.wi-owm-day-611:before { + content: "\f006"; +} +.wi-owm-day-612:before { + content: "\f006"; +} +.wi-owm-day-615:before { + content: "\f006"; +} +.wi-owm-day-616:before { + content: "\f006"; +} +.wi-owm-day-620:before { + content: "\f006"; +} +.wi-owm-day-621:before { + content: "\f00a"; +} +.wi-owm-day-622:before { + content: "\f00a"; +} +.wi-owm-day-701:before { + content: "\f003"; +} +.wi-owm-day-711:before { + content: "\f062"; +} +.wi-owm-day-721:before { + content: "\f0b6"; +} +.wi-owm-day-731:before { + content: "\f063"; +} +.wi-owm-day-741:before { + content: "\f003"; +} +.wi-owm-day-761:before { + content: "\f063"; +} +.wi-owm-day-762:before { + content: "\f063"; +} +.wi-owm-day-781:before { + content: "\f056"; +} +.wi-owm-day-800:before { + content: "\f00d"; +} +.wi-owm-day-801:before { + content: "\f002"; +} +.wi-owm-day-802:before { + content: "\f002"; +} +.wi-owm-day-803:before { + content: "\f013"; +} +.wi-owm-day-804:before { + content: "\f013"; +} +.wi-owm-day-900:before { + content: "\f056"; +} +.wi-owm-day-902:before { + content: "\f073"; +} +.wi-owm-day-903:before { + content: "\f076"; +} +.wi-owm-day-904:before { + content: "\f072"; +} +.wi-owm-day-906:before { + content: "\f004"; +} +.wi-owm-day-957:before { + content: "\f050"; +} +.wi-owm-night-200:before { + content: "\f02d"; +} +.wi-owm-night-201:before { + content: "\f02d"; +} +.wi-owm-night-202:before { + content: "\f02d"; +} +.wi-owm-night-210:before { + content: "\f025"; +} +.wi-owm-night-211:before { + content: "\f025"; +} +.wi-owm-night-212:before { + content: "\f025"; +} +.wi-owm-night-221:before { + content: "\f025"; +} +.wi-owm-night-230:before { + content: "\f02d"; +} +.wi-owm-night-231:before { + content: "\f02d"; +} +.wi-owm-night-232:before { + content: "\f02d"; +} +.wi-owm-night-300:before { + content: "\f02b"; +} +.wi-owm-night-301:before { + content: "\f02b"; +} +.wi-owm-night-302:before { + content: "\f028"; +} +.wi-owm-night-310:before { + content: "\f028"; +} +.wi-owm-night-311:before { + content: "\f028"; +} +.wi-owm-night-312:before { + content: "\f028"; +} +.wi-owm-night-313:before { + content: "\f028"; +} +.wi-owm-night-314:before { + content: "\f028"; +} +.wi-owm-night-321:before { + content: "\f02b"; +} +.wi-owm-night-500:before { + content: "\f02b"; +} +.wi-owm-night-501:before { + content: "\f028"; +} +.wi-owm-night-502:before { + content: "\f028"; +} +.wi-owm-night-503:before { + content: "\f028"; +} +.wi-owm-night-504:before { + content: "\f028"; +} +.wi-owm-night-511:before { + content: "\f026"; +} +.wi-owm-night-520:before { + content: "\f029"; +} +.wi-owm-night-521:before { + content: "\f029"; +} +.wi-owm-night-522:before { + content: "\f029"; +} +.wi-owm-night-531:before { + content: "\f02c"; +} +.wi-owm-night-600:before { + content: "\f02a"; +} +.wi-owm-night-601:before { + content: "\f0b4"; +} +.wi-owm-night-602:before { + content: "\f02a"; +} +.wi-owm-night-611:before { + content: "\f026"; +} +.wi-owm-night-612:before { + content: "\f026"; +} +.wi-owm-night-615:before { + content: "\f026"; +} +.wi-owm-night-616:before { + content: "\f026"; +} +.wi-owm-night-620:before { + content: "\f026"; +} +.wi-owm-night-621:before { + content: "\f02a"; +} +.wi-owm-night-622:before { + content: "\f02a"; +} +.wi-owm-night-701:before { + content: "\f04a"; +} +.wi-owm-night-711:before { + content: "\f062"; +} +.wi-owm-night-721:before { + content: "\f0b6"; +} +.wi-owm-night-731:before { + content: "\f063"; +} +.wi-owm-night-741:before { + content: "\f04a"; +} +.wi-owm-night-761:before { + content: "\f063"; +} +.wi-owm-night-762:before { + content: "\f063"; +} +.wi-owm-night-781:before { + content: "\f056"; +} +.wi-owm-night-800:before { + content: "\f02e"; +} +.wi-owm-night-801:before { + content: "\f081"; +} +.wi-owm-night-802:before { + content: "\f086"; +} +.wi-owm-night-803:before { + content: "\f013"; +} +.wi-owm-night-804:before { + content: "\f013"; +} +.wi-owm-night-900:before { + content: "\f056"; +} +.wi-owm-night-902:before { + content: "\f073"; +} +.wi-owm-night-903:before { + content: "\f076"; +} +.wi-owm-night-904:before { + content: "\f072"; +} +.wi-owm-night-906:before { + content: "\f024"; +} +.wi-owm-night-957:before { + content: "\f050"; +} +.wi-wu-chanceflurries:before { + content: "\f064"; +} +.wi-wu-chancerain:before { + content: "\f019"; +} +.wi-wu-chancesleat:before { + content: "\f0b5"; +} +.wi-wu-chancesnow:before { + content: "\f01b"; +} +.wi-wu-chancetstorms:before { + content: "\f01e"; +} +.wi-wu-clear:before { + content: "\f00d"; +} +.wi-wu-cloudy:before { + content: "\f002"; +} +.wi-wu-flurries:before { + content: "\f064"; +} +.wi-wu-hazy:before { + content: "\f0b6"; +} +.wi-wu-mostlycloudy:before { + content: "\f002"; +} +.wi-wu-mostlysunny:before { + content: "\f00d"; +} +.wi-wu-partlycloudy:before { + content: "\f002"; +} +.wi-wu-partlysunny:before { + content: "\f00d"; +} +.wi-wu-rain:before { + content: "\f01a"; +} +.wi-wu-sleat:before { + content: "\f0b5"; +} +.wi-wu-snow:before { + content: "\f01b"; +} +.wi-wu-sunny:before { + content: "\f00d"; +} +.wi-wu-tstorms:before { + content: "\f01e"; +} +.wi-wu-unknown:before { + content: "\f00d"; +} diff --git a/src/utils/cached-fetch.js b/src/utils/cached-fetch.js new file mode 100644 index 000000000..88372d53e --- /dev/null +++ b/src/utils/cached-fetch.js @@ -0,0 +1,13 @@ +import cache from "memory-cache"; + +export default async function cachedFetch(url, duration) { + const cached = cache.get(url); + + if (cached) { + return cached; + } else { + const data = await fetch(url).then((res) => res.json()); + cache.put(url, data, duration * 1000 * 60); + return data; + } +} diff --git a/src/utils/condition-map.js b/src/utils/condition-map.js new file mode 100644 index 000000000..8ab5f25bd --- /dev/null +++ b/src/utils/condition-map.js @@ -0,0 +1,356 @@ +import * as Icons from "react-icons/wi"; + +const conditions = [ + { + code: 1000, + icon: { + day: Icons.WiDaySunny, + night: Icons.WiNightClear, + }, + }, + { + code: 1003, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightPartlyCloudy, + }, + }, + { + code: 1006, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightCloudy, + }, + }, + { + code: 1009, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightCloudy, + }, + }, + { + code: 1030, + icon: { + day: Icons.WiDayFog, + night: Icons.WiNightFog, + }, + }, + { + code: 1063, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1066, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1069, + icon: { + day: Icons.WiDayRainMix, + night: Icons.WiNightRainMix, + }, + }, + { + code: 1072, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightSleet, + }, + }, + { + code: 1087, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightThunderstorm, + }, + }, + { + code: 1114, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1117, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1135, + icon: { + day: Icons.WiDayFog, + night: Icons.WiNightFog, + }, + }, + { + code: 1147, + icon: { + day: Icons.WiDayFog, + night: Icons.WiNightFog, + }, + }, + { + code: 1150, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1153, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1168, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightSleet, + }, + }, + { + code: 1171, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightSleet, + }, + }, + { + code: 1180, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1183, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1186, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1189, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1192, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1195, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1198, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightSleet, + }, + }, + { + code: 1201, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightSleet, + }, + }, + { + code: 1204, + icon: { + day: Icons.WiDayRainMix, + night: Icons.WiNightRainMix, + }, + }, + { + code: 1207, + icon: { + day: Icons.WiDayRainMix, + night: Icons.WiNightRainMix, + }, + }, + { + code: 1210, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1213, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1216, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1219, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1222, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1225, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1237, + icon: { + day: Icons.WiDayHail, + night: Icons.WiNightHail, + }, + }, + { + code: 1240, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1243, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1246, + icon: { + day: Icons.WiDayRain, + night: Icons.WiNightRain, + }, + }, + { + code: 1249, + icon: { + day: Icons.WiDayRainMix, + night: Icons.WiNightRainMix, + }, + }, + { + code: 1252, + icon: { + day: Icons.WiDayRainMix, + night: Icons.WiNightRainMix, + }, + }, + { + code: 1255, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1258, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightSnow, + }, + }, + { + code: 1261, + icon: { + day: Icons.WiDayHail, + night: Icons.WiNightHail, + }, + }, + { + code: 1264, + icon: { + day: Icons.WiDayHail, + night: Icons.WiNightHail, + }, + }, + { + code: 1273, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightThunderstorm, + }, + }, + { + code: 1276, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightThunderstorm, + }, + }, + { + code: 1279, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightThunderstorm, + }, + }, + { + code: 1282, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightThunderstorm, + }, + }, +]; + +export default function mapIcon(weatherStatusCode, timeOfDay) { + const mapping = conditions.find( + (condition) => condition.code === weatherStatusCode + ); + + if (mapping) { + if (timeOfDay === "day") { + return mapping.icon.day; + } else if (timeOfDay === "night") { + return mapping.icon.night; + } + } + + return Icons.WiDaySunny; +} diff --git a/src/utils/config.js b/src/utils/config.js new file mode 100644 index 000000000..7fe9dc3ea --- /dev/null +++ b/src/utils/config.js @@ -0,0 +1,13 @@ +import { join } from "path"; +import { existsSync, copyFile } from "fs"; + +export default function checkAndCopyConfig(config) { + const configYaml = join(process.cwd(), "config", config); + if (!existsSync(configYaml)) { + const configSkeleton = join(process.cwd(), "src", "skeleton", config); + copyFile(configSkeleton, configYaml, (err) => { + if (err) throw err; + console.info("%s was copied to the config folder", config); + }); + } +} diff --git a/src/utils/docker.js b/src/utils/docker.js new file mode 100644 index 000000000..9d2d46466 --- /dev/null +++ b/src/utils/docker.js @@ -0,0 +1,30 @@ +import yaml from "js-yaml"; +import path from "path"; +import { promises as fs } from "fs"; +import checkAndCopyConfig from "utils/config"; + +export default async function getDockerArguments(server) { + checkAndCopyConfig("docker.yaml"); + + const configFile = path.join(process.cwd(), "config", "docker.yaml"); + const configData = await fs.readFile(configFile, "utf8"); + const servers = yaml.load(configData); + + if (!server) { + if (process.platform !== "win32" && process.platform !== "darwin") { + return { socketPath: "/var/run/docker.sock" }; + } else { + return { host: "127.0.0.1" }; + } + } else if (servers[server]) { + if (servers[server].socket) { + return { socketPath: servers[server].socket }; + } else if (servers[server].host) { + return { host: servers[server].host, port: servers[server].port || null }; + } else { + return servers[server]; + } + } else { + return null; + } +} diff --git a/src/utils/stats-helpers.js b/src/utils/stats-helpers.js new file mode 100644 index 000000000..4b21b4cd9 --- /dev/null +++ b/src/utils/stats-helpers.js @@ -0,0 +1,26 @@ +export function calculateCPUPercent(stats) { + let cpuPercent = 0.0; + const cpuDelta = + stats.cpu_stats.cpu_usage.total_usage - + stats.precpu_stats.cpu_usage.total_usage; + const systemDelta = + stats.cpu_stats.system_cpu_usage - stats.precpu_stats.system_cpu_usage; + + if (systemDelta > 0.0 && cpuDelta > 0.0) { + cpuPercent = (cpuDelta / systemDelta) * stats.cpu_stats.online_cpus * 100.0; + } + + return Math.round(cpuPercent * 10) / 10; +} + +export function formatBytes(bytes, decimals = 2) { + if (bytes === 0) return "0 Bytes"; + + const k = 1024; + const dm = decimals < 0 ? 0 : decimals; + const sizes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; + + const i = Math.floor(Math.log(bytes) / Math.log(k)); + + return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i]; +} diff --git a/src/utils/theme-context.js b/src/utils/theme-context.js new file mode 100644 index 000000000..49761633c --- /dev/null +++ b/src/utils/theme-context.js @@ -0,0 +1,47 @@ +import { createContext, useState, useEffect } from "react"; + +const getInitialTheme = () => { + if (typeof window !== "undefined" && window.localStorage) { + const storedPrefs = window.localStorage.getItem("color-theme"); + if (typeof storedPrefs === "string") { + return storedPrefs; + } + + const userMedia = window.matchMedia("(prefers-color-scheme: dark)"); + if (userMedia.matches) { + return "dark"; + } + } + + return "light"; // light theme as the default; +}; + +export const ThemeContext = createContext(); + +export const ThemeProvider = ({ initialTheme, children }) => { + const [theme, setTheme] = useState(getInitialTheme); + + const rawSetTheme = (rawTheme) => { + const root = window.document.documentElement; + const isDark = rawTheme === "dark"; + + root.classList.remove(isDark ? "light" : "dark"); + root.classList.add(rawTheme); + + localStorage.setItem("color-theme", rawTheme); + }; + + if (initialTheme) { + rawSetTheme(initialTheme); + } + + useEffect(() => { + rawSetTheme(theme); + }, [theme]); + + return ( + + {children} + + ); +}; diff --git a/styles/Home.module.css b/styles/Home.module.css deleted file mode 100644 index bd50f42ff..000000000 --- a/styles/Home.module.css +++ /dev/null @@ -1,129 +0,0 @@ -.container { - padding: 0 2rem; -} - -.main { - min-height: 100vh; - padding: 4rem 0; - flex: 1; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} - -.footer { - display: flex; - flex: 1; - padding: 2rem 0; - border-top: 1px solid #eaeaea; - justify-content: center; - align-items: center; -} - -.footer a { - display: flex; - justify-content: center; - align-items: center; - flex-grow: 1; -} - -.title a { - color: #0070f3; - text-decoration: none; -} - -.title a:hover, -.title a:focus, -.title a:active { - text-decoration: underline; -} - -.title { - margin: 0; - line-height: 1.15; - font-size: 4rem; -} - -.title, -.description { - text-align: center; -} - -.description { - margin: 4rem 0; - line-height: 1.5; - font-size: 1.5rem; -} - -.code { - background: #fafafa; - border-radius: 5px; - padding: 0.75rem; - font-size: 1.1rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, - Bitstream Vera Sans Mono, Courier New, monospace; -} - -.grid { - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - max-width: 800px; -} - -.card { - margin: 1rem; - padding: 1.5rem; - text-align: left; - color: inherit; - text-decoration: none; - border: 1px solid #eaeaea; - border-radius: 10px; - transition: color 0.15s ease, border-color 0.15s ease; - max-width: 300px; -} - -.card:hover, -.card:focus, -.card:active { - color: #0070f3; - border-color: #0070f3; -} - -.card h2 { - margin: 0 0 1rem 0; - font-size: 1.5rem; -} - -.card p { - margin: 0; - font-size: 1.25rem; - line-height: 1.5; -} - -.logo { - height: 1em; - margin-left: 0.5rem; -} - -@media (max-width: 600px) { - .grid { - width: 100%; - flex-direction: column; - } -} - -@media (prefers-color-scheme: dark) { - .card, - .footer { - border-color: #222; - } - .code { - background: #111; - } - .logo img { - filter: invert(1); - } -} diff --git a/styles/globals.css b/styles/globals.css deleted file mode 100644 index 4f1842163..000000000 --- a/styles/globals.css +++ /dev/null @@ -1,26 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; -} - -@media (prefers-color-scheme: dark) { - html { - color-scheme: dark; - } - body { - color: white; - background: black; - } -} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 000000000..b81ca6d25 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,16 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: "class", + content: [ + "./src/pages/**/*.{js,ts,jsx,tsx}", + "./src/components/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + colors: ({ colors }) => ({ + theme: colors.slate, + }), + }, + }, + plugins: [require("@tailwindcss/forms")], +};