Initial draft
This commit is contained in:
commit
ee20ad0230
26 changed files with 1152 additions and 0 deletions
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
node_modules/
|
||||
.vercel
|
||||
.next
|
||||
build/
|
||||
|
||||
.env
|
||||
.env.*
|
||||
.*.env
|
25
components/Button.tsx
Normal file
25
components/Button.tsx
Normal file
|
@ -0,0 +1,25 @@
|
|||
import Icon from "components/Icon";
|
||||
import Link from "next/link";
|
||||
import styles from "styles/Button.module.sass";
|
||||
import { SocialButton } from "utils/types";
|
||||
|
||||
const Button = (props: SocialButton) => {
|
||||
return (
|
||||
<>
|
||||
<Link href={props.url}>
|
||||
<a>
|
||||
<div className={styles.button}>
|
||||
<Icon className={styles.icon} icon={props.icon} />
|
||||
<div className={styles.platform_username}>
|
||||
<p className={styles.platform}>{props.platform}</p>
|
||||
<p className={styles.username}> {props.username} </p>
|
||||
</div>
|
||||
<Icon className={styles.link} icon="arrow-up-right" />
|
||||
</div>
|
||||
</a>
|
||||
</Link>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Button;
|
31
components/ButtonGrid.tsx
Normal file
31
components/ButtonGrid.tsx
Normal file
|
@ -0,0 +1,31 @@
|
|||
import Button from "./Button";
|
||||
import styles from "styles/Button.module.sass";
|
||||
import { SocialButton } from "utils/types";
|
||||
import { CSSProperties } from "react";
|
||||
|
||||
const ButtonGrid = ({
|
||||
Buttons,
|
||||
style,
|
||||
}: {
|
||||
Buttons: SocialButton[];
|
||||
style?: CSSProperties;
|
||||
}) => {
|
||||
return (
|
||||
<div className={styles.grid} style={style}>
|
||||
{Buttons.map((button, index) => {
|
||||
return (
|
||||
<Button
|
||||
id={button.id}
|
||||
key={`${button.platform}-${index}`}
|
||||
icon={button.icon}
|
||||
platform={button.platform}
|
||||
username={button.username}
|
||||
url={button.url}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ButtonGrid;
|
11
components/Icon.tsx
Normal file
11
components/Icon.tsx
Normal file
|
@ -0,0 +1,11 @@
|
|||
import { Icon } from "utils/types";
|
||||
|
||||
const Icon = ({icon, className}: {icon: Icon, className?:string}) => {
|
||||
return (
|
||||
<svg className={className} width={"1.2em"} height={"1.2em"}>
|
||||
<use href={`/icons.svg#${icon}`} />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
export default Icon
|
39
components/Lanyard.tsx
Normal file
39
components/Lanyard.tsx
Normal file
|
@ -0,0 +1,39 @@
|
|||
// import { lanyard } from "utils/shared/lanyard";
|
||||
import { useLanyard } from "use-lanyard";
|
||||
import styles from "styles/Lanyard.module.sass";
|
||||
import Image from "next/image";
|
||||
|
||||
const Lanyard = () => {
|
||||
const id = process.env.NEXT_DISCORD_ID || "318044130796109825";
|
||||
const lanyard = useLanyard(id).data;
|
||||
|
||||
if (!lanyard?.listening_to_spotify) return;
|
||||
let artists;
|
||||
if (lanyard.spotify.artist.split(";").length > 2) {
|
||||
artists = [
|
||||
lanyard.spotify.artist.split(";")[0],
|
||||
lanyard.spotify.artist.split(";")[1],
|
||||
].join(",");
|
||||
} else {
|
||||
artists = lanyard.spotify.artist.split(";").join(",");
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className={[styles.container, styles.badge].join(" ")}>
|
||||
<Image
|
||||
className={styles.albumart}
|
||||
src={lanyard.spotify.album_art_url}
|
||||
width={100}
|
||||
height={100}
|
||||
/>
|
||||
<div className={styles.artist_song}>
|
||||
<p className={styles.song}>{lanyard.spotify.song}</p>
|
||||
<p className={styles.artist}>{artists}</p>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Lanyard;
|
13
components/Title.tsx
Normal file
13
components/Title.tsx
Normal file
|
@ -0,0 +1,13 @@
|
|||
import styles from "styles/Title.module.sass";
|
||||
|
||||
const Title = () => {
|
||||
return (
|
||||
<>
|
||||
<h1 className={styles.title}>
|
||||
Lio's Domain
|
||||
</h1>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Title
|
5
next-env.d.ts
vendored
Normal file
5
next-env.d.ts
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
6
next.config.js
Normal file
6
next.config.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
// next.config.js
|
||||
module.exports = {
|
||||
images: {
|
||||
domains: ['i.scdn.co'],
|
||||
},
|
||||
}
|
27
package.json
Normal file
27
package.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "void",
|
||||
"version": "4.0.0",
|
||||
"scripts": {
|
||||
"dev": "next",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"type-check": "tsc"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-ui-org/react-ui": "^0.47.0",
|
||||
"@supabase/supabase-js": "^1.35.4",
|
||||
"next": "^12.2.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-use-lanyard": "^0.1.2",
|
||||
"sass": "^1.53.0",
|
||||
"use-lanyard": "^1.1.0"
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/node": "^18.0.5",
|
||||
"@types/react": "^18.0.15",
|
||||
"@types/react-dom": "^18.0.6",
|
||||
"typescript": "^4.7.4"
|
||||
}
|
||||
}
|
11
pages/_app.tsx
Normal file
11
pages/_app.tsx
Normal file
|
@ -0,0 +1,11 @@
|
|||
import React from 'react'
|
||||
// import { AppProps } from 'next/app'
|
||||
|
||||
// import 'tailwindcss/tailwind.css'
|
||||
import '../styles/main.sass'
|
||||
|
||||
function MyApp({ Component, pageProps }) {
|
||||
return <Component {...pageProps} />
|
||||
}
|
||||
|
||||
export default MyApp
|
6
pages/api/lanyard.ts
Normal file
6
pages/api/lanyard.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import type { NextApiRequest, NextApiResponse } from 'next'
|
||||
import { jsonyard } from 'utils/shared/lanyard'
|
||||
|
||||
export default async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
return res.json(await jsonyard())
|
||||
}
|
6
pages/api/profiles.ts
Normal file
6
pages/api/profiles.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import type { NextApiRequest, NextApiResponse } from 'next'
|
||||
import getProfiles from 'utils/shared/profiles'
|
||||
|
||||
export default async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
return res.json(await getProfiles())
|
||||
}
|
30
pages/index.tsx
Normal file
30
pages/index.tsx
Normal file
|
@ -0,0 +1,30 @@
|
|||
import ButtonGrid from "components/ButtonGrid";
|
||||
import Lanyard from "components/Lanyard";
|
||||
import Title from "components/Title";
|
||||
import getProfiles from "utils/shared/profiles";
|
||||
import { SocialButton } from "utils/types";
|
||||
import styles from "styles/Index.module.sass";
|
||||
|
||||
export async function getStaticProps() {
|
||||
const profiles = await getProfiles();
|
||||
return {
|
||||
props: {
|
||||
profiles,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
const IndexPage = (props: { profiles: SocialButton[] }) => (
|
||||
<>
|
||||
<div className={styles.center}>
|
||||
<Title />
|
||||
<div>
|
||||
<p>Profiles</p>
|
||||
<ButtonGrid Buttons={props.profiles} />
|
||||
</div>
|
||||
</div>
|
||||
<Lanyard />
|
||||
</>
|
||||
);
|
||||
|
||||
export default IndexPage;
|
704
pnpm-lock.yaml
generated
Normal file
704
pnpm-lock.yaml
generated
Normal file
|
@ -0,0 +1,704 @@
|
|||
lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
'@react-ui-org/react-ui': ^0.47.0
|
||||
'@supabase/supabase-js': ^1.35.4
|
||||
'@types/node': ^18.0.5
|
||||
'@types/react': ^18.0.15
|
||||
'@types/react-dom': ^18.0.6
|
||||
next: ^12.2.2
|
||||
react: ^18.2.0
|
||||
react-dom: ^18.2.0
|
||||
react-use-lanyard: ^0.1.2
|
||||
sass: ^1.53.0
|
||||
typescript: ^4.7.4
|
||||
use-lanyard: ^1.1.0
|
||||
|
||||
dependencies:
|
||||
'@react-ui-org/react-ui': 0.47.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@supabase/supabase-js': 1.35.4
|
||||
next: 12.2.2_b7sksnfkdyiidz7vzaadim75qm
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
react-use-lanyard: 0.1.2_react@18.2.0
|
||||
sass: 1.53.0
|
||||
use-lanyard: 1.1.0_react@18.2.0
|
||||
|
||||
devDependencies:
|
||||
'@types/node': 18.0.5
|
||||
'@types/react': 18.0.15
|
||||
'@types/react-dom': 18.0.6
|
||||
typescript: 4.7.4
|
||||
|
||||
packages:
|
||||
|
||||
/@next/env/12.2.2:
|
||||
resolution: {integrity: sha512-BqDwE4gDl1F608TpnNxZqrCn6g48MBjvmWFEmeX5wEXDXh3IkAOw6ASKUgjT8H4OUePYFqghDFUss5ZhnbOUjw==}
|
||||
dev: false
|
||||
|
||||
/@next/swc-android-arm-eabi/12.2.2:
|
||||
resolution: {integrity: sha512-VHjuCHeq9qCprUZbsRxxM/VqSW8MmsUtqB5nEpGEgUNnQi/BTm/2aK8tl7R4D0twGKRh6g1AAeFuWtXzk9Z/vQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-android-arm64/12.2.2:
|
||||
resolution: {integrity: sha512-v5EYzXUOSv0r9mO/2PX6mOcF53k8ndlu9yeFHVAWW1Dhw2jaJcvTRcCAwYYN8Q3tDg0nH3NbEltJDLKmcJOuVA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-arm64/12.2.2:
|
||||
resolution: {integrity: sha512-JCoGySHKGt+YBk7xRTFGx1QjrnCcwYxIo3yGepcOq64MoiocTM3yllQWeOAJU2/k9MH0+B5E9WUSme4rOCBbpA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-x64/12.2.2:
|
||||
resolution: {integrity: sha512-dztDtvfkhUqiqpXvrWVccfGhLe44yQ5tQ7B4tBfnsOR6vxzI9DNPHTlEOgRN9qDqTAcFyPxvg86mn4l8bB9Jcw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-freebsd-x64/12.2.2:
|
||||
resolution: {integrity: sha512-JUnXB+2xfxqsAvhFLPJpU1NeyDsvJrKoOjpV7g3Dxbno2Riu4tDKn3kKF886yleAuD/1qNTUCpqubTvbbT2VoA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm-gnueabihf/12.2.2:
|
||||
resolution: {integrity: sha512-XeYC/qqPLz58R4pjkb+x8sUUxuGLnx9QruC7/IGkK68yW4G17PHwKI/1njFYVfXTXUukpWjcfBuauWwxp9ke7Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-gnu/12.2.2:
|
||||
resolution: {integrity: sha512-d6jT8xgfKYFkzR7J0OHo2D+kFvY/6W8qEo6/hmdrTt6AKAqxs//rbbcdoyn3YQq1x6FVUUd39zzpezZntg9Naw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-musl/12.2.2:
|
||||
resolution: {integrity: sha512-rIZRFxI9N/502auJT1i7coas0HTHUM+HaXMyJiCpnY8Rimbo0495ir24tzzHo3nQqJwcflcPTwEh/DV17sdv9A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-gnu/12.2.2:
|
||||
resolution: {integrity: sha512-ir1vNadlUDj7eQk15AvfhG5BjVizuCHks9uZwBfUgT5jyeDCeRvaDCo1+Q6+0CLOAnYDR/nqSCvBgzG2UdFh9A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-musl/12.2.2:
|
||||
resolution: {integrity: sha512-bte5n2GzLN3O8JdSFYWZzMgEgDHZmRz5wiispiiDssj4ik3l8E7wq/czNi8RmIF+ioj2sYVokUNa/ekLzrESWw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-arm64-msvc/12.2.2:
|
||||
resolution: {integrity: sha512-ZUGCmcDmdPVSAlwJ/aD+1F9lYW8vttseiv4n2+VCDv5JloxiX9aY32kYZaJJO7hmTLNrprvXkb4OvNuHdN22Jg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-ia32-msvc/12.2.2:
|
||||
resolution: {integrity: sha512-v7ykeEDbr9eXiblGSZiEYYkWoig6sRhAbLKHUHQtk8vEWWVEqeXFcxmw6LRrKu5rCN1DY357UlYWToCGPQPCRA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-x64-msvc/12.2.2:
|
||||
resolution: {integrity: sha512-2D2iinWUL6xx8D9LYVZ5qi7FP6uLAoWymt8m8aaG2Ld/Ka8/k723fJfiklfuAcwOxfufPJI+nRbT5VcgHGzHAQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@react-ui-org/react-ui/0.47.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-3WBzRtiAm7hjGp4/5HPT3jB2piXLEfkah3j8ESscY6rNGZjYHkL1NWNYFm09ldF12F2cmyy+k3IFnbdEE2m3KA==}
|
||||
engines: {node: '>=16.14.0 <17', npm: '>=8.3.0'}
|
||||
peerDependencies:
|
||||
prop-types: ^15.7.2
|
||||
react: ^17.0.2
|
||||
react-dom: ^17.0.2
|
||||
dependencies:
|
||||
normalize.css: 8.0.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: false
|
||||
|
||||
/@supabase/functions-js/1.3.4:
|
||||
resolution: {integrity: sha512-yYVgkECjv7IZEBKBI3EB5Q7R1p0FJ10g8Q9N7SWKIHUU6i6DnbEGHIMFLyQRm1hmiNWD8fL7bRVEYacmTRJhHw==}
|
||||
dependencies:
|
||||
cross-fetch: 3.1.5
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/@supabase/gotrue-js/1.22.21:
|
||||
resolution: {integrity: sha512-AhsbBU+5j7BKSqfpLDkEcxy3ruDD+J+dHaYxXGHNWiiIJBYtK2jmNcMYA7M30MYjajnhoILJFC7LtHWl1lWj2Q==}
|
||||
dependencies:
|
||||
cross-fetch: 3.1.5
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/@supabase/postgrest-js/0.37.4:
|
||||
resolution: {integrity: sha512-x+c2rk1fz9s6f1PrGxCJ0QTUgXPDI0G3ngIqD5sSiXhhCyfl8Q5V92mXl2EYtlDhkiUkjFNrOZFhXVbXOHgvDw==}
|
||||
dependencies:
|
||||
cross-fetch: 3.1.5
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/@supabase/realtime-js/1.7.3:
|
||||
resolution: {integrity: sha512-iNUWhVeYRi5+XUlW2zJ7ccGfhI6caLxcn2t6VuQK3OTJNzXdVXeKb25nffLx1g4F7Ty6VM8Xiue7i0z0cWG3pQ==}
|
||||
dependencies:
|
||||
'@types/phoenix': 1.5.4
|
||||
websocket: 1.0.34
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/@supabase/storage-js/1.7.2:
|
||||
resolution: {integrity: sha512-HX4HAfLUJznVgAwiKVgdTe5QD0bpUcqgc0hpk/s5Uy8qoe1tHZAc5qE9kI+tqk7rQKyymFpiA7+bAHlzyZXxxQ==}
|
||||
dependencies:
|
||||
cross-fetch: 3.1.5
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/@supabase/supabase-js/1.35.4:
|
||||
resolution: {integrity: sha512-9krwmuG3hdoS7SfM1UmCIw88aW9V1WW2Zx91tofdnmQraWKfk5e2fIKfp+Wjb9owq7JIkuUIA/qziVs2qX0lLQ==}
|
||||
dependencies:
|
||||
'@supabase/functions-js': 1.3.4
|
||||
'@supabase/gotrue-js': 1.22.21
|
||||
'@supabase/postgrest-js': 0.37.4
|
||||
'@supabase/realtime-js': 1.7.3
|
||||
'@supabase/storage-js': 1.7.2
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/@swc/helpers/0.4.2:
|
||||
resolution: {integrity: sha512-556Az0VX7WR6UdoTn4htt/l3zPQ7bsQWK+HqdG4swV7beUCxo/BqmvbOpUkTIm/9ih86LIf1qsUnywNL3obGHw==}
|
||||
dependencies:
|
||||
tslib: 2.4.0
|
||||
dev: false
|
||||
|
||||
/@types/node/18.0.5:
|
||||
resolution: {integrity: sha512-En7tneq+j0qAiVwysBD79y86MT3ModuoIJbe7JXp+sb5UAjInSShmK3nXXMioBzfF7rXC12hv12d4IyCVwN4dA==}
|
||||
dev: true
|
||||
|
||||
/@types/phoenix/1.5.4:
|
||||
resolution: {integrity: sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ==}
|
||||
dev: false
|
||||
|
||||
/@types/prop-types/15.7.5:
|
||||
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
|
||||
dev: true
|
||||
|
||||
/@types/react-dom/18.0.6:
|
||||
resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==}
|
||||
dependencies:
|
||||
'@types/react': 18.0.15
|
||||
dev: true
|
||||
|
||||
/@types/react/18.0.15:
|
||||
resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==}
|
||||
dependencies:
|
||||
'@types/prop-types': 15.7.5
|
||||
'@types/scheduler': 0.16.2
|
||||
csstype: 3.1.0
|
||||
dev: true
|
||||
|
||||
/@types/scheduler/0.16.2:
|
||||
resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
|
||||
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
|
||||
dev: false
|
||||
|
||||
/binary-extensions/2.2.0:
|
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/braces/3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
dev: false
|
||||
|
||||
/bufferutil/4.0.6:
|
||||
resolution: {integrity: sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==}
|
||||
engines: {node: '>=6.14.2'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
node-gyp-build: 4.5.0
|
||||
dev: false
|
||||
|
||||
/caniuse-lite/1.0.30001367:
|
||||
resolution: {integrity: sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==}
|
||||
dev: false
|
||||
|
||||
/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
|
||||
dev: false
|
||||
|
||||
/cross-fetch/3.1.5:
|
||||
resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
|
||||
dependencies:
|
||||
node-fetch: 2.6.7
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/csstype/3.1.0:
|
||||
resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
|
||||
dev: true
|
||||
|
||||
/d/1.0.1:
|
||||
resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
|
||||
dependencies:
|
||||
es5-ext: 0.10.61
|
||||
type: 1.2.0
|
||||
dev: false
|
||||
|
||||
/debug/2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
/es5-ext/0.10.61:
|
||||
resolution: {integrity: sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==}
|
||||
engines: {node: '>=0.10'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
es6-iterator: 2.0.3
|
||||
es6-symbol: 3.1.3
|
||||
next-tick: 1.1.0
|
||||
dev: false
|
||||
|
||||
/es6-iterator/2.0.3:
|
||||
resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
|
||||
dependencies:
|
||||
d: 1.0.1
|
||||
es5-ext: 0.10.61
|
||||
es6-symbol: 3.1.3
|
||||
dev: false
|
||||
|
||||
/es6-symbol/3.1.3:
|
||||
resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
|
||||
dependencies:
|
||||
d: 1.0.1
|
||||
ext: 1.6.0
|
||||
dev: false
|
||||
|
||||
/ext/1.6.0:
|
||||
resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==}
|
||||
dependencies:
|
||||
type: 2.6.1
|
||||
dev: false
|
||||
|
||||
/fill-range/7.0.1:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
dev: false
|
||||
|
||||
/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
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/glob-parent/5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
dev: false
|
||||
|
||||
/immutable/4.1.0:
|
||||
resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
|
||||
dev: false
|
||||
|
||||
/is-binary-path/2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
binary-extensions: 2.2.0
|
||||
dev: false
|
||||
|
||||
/is-extglob/2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/is-glob/4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
dev: false
|
||||
|
||||
/is-number/7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
dev: false
|
||||
|
||||
/is-typedarray/1.0.0:
|
||||
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
|
||||
dev: false
|
||||
|
||||
/js-tokens/4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
dev: false
|
||||
|
||||
/loose-envify/1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
js-tokens: 4.0.0
|
||||
dev: false
|
||||
|
||||
/ms/2.0.0:
|
||||
resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
|
||||
dev: false
|
||||
|
||||
/nanoid/3.3.4:
|
||||
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/next-tick/1.1.0:
|
||||
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
|
||||
dev: false
|
||||
|
||||
/next/12.2.2_b7sksnfkdyiidz7vzaadim75qm:
|
||||
resolution: {integrity: sha512-zAYFY45aBry/PlKONqtlloRFqU/We3zWYdn2NoGvDZkoYUYQSJC8WMcalS5C19MxbCZLUVCX7D7a6gTGgl2yLg==}
|
||||
engines: {node: '>=12.22.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
fibers: '>= 3.1.0'
|
||||
node-sass: ^6.0.0 || ^7.0.0
|
||||
react: ^17.0.2 || ^18.0.0-0
|
||||
react-dom: ^17.0.2 || ^18.0.0-0
|
||||
sass: ^1.3.0
|
||||
peerDependenciesMeta:
|
||||
fibers:
|
||||
optional: true
|
||||
node-sass:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@next/env': 12.2.2
|
||||
'@swc/helpers': 0.4.2
|
||||
caniuse-lite: 1.0.30001367
|
||||
postcss: 8.4.5
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
sass: 1.53.0
|
||||
styled-jsx: 5.0.2_react@18.2.0
|
||||
use-sync-external-store: 1.1.0_react@18.2.0
|
||||
optionalDependencies:
|
||||
'@next/swc-android-arm-eabi': 12.2.2
|
||||
'@next/swc-android-arm64': 12.2.2
|
||||
'@next/swc-darwin-arm64': 12.2.2
|
||||
'@next/swc-darwin-x64': 12.2.2
|
||||
'@next/swc-freebsd-x64': 12.2.2
|
||||
'@next/swc-linux-arm-gnueabihf': 12.2.2
|
||||
'@next/swc-linux-arm64-gnu': 12.2.2
|
||||
'@next/swc-linux-arm64-musl': 12.2.2
|
||||
'@next/swc-linux-x64-gnu': 12.2.2
|
||||
'@next/swc-linux-x64-musl': 12.2.2
|
||||
'@next/swc-win32-arm64-msvc': 12.2.2
|
||||
'@next/swc-win32-ia32-msvc': 12.2.2
|
||||
'@next/swc-win32-x64-msvc': 12.2.2
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
dev: false
|
||||
|
||||
/node-fetch/2.6.7:
|
||||
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
|
||||
engines: {node: 4.x || >=6.0.0}
|
||||
peerDependencies:
|
||||
encoding: ^0.1.0
|
||||
peerDependenciesMeta:
|
||||
encoding:
|
||||
optional: true
|
||||
dependencies:
|
||||
whatwg-url: 5.0.0
|
||||
dev: false
|
||||
|
||||
/node-gyp-build/4.5.0:
|
||||
resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/normalize-path/3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/normalize.css/8.0.1:
|
||||
resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==}
|
||||
dev: false
|
||||
|
||||
/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: false
|
||||
|
||||
/postcss/8.4.5:
|
||||
resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
dependencies:
|
||||
nanoid: 3.3.4
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/react-dom/18.2.0_react@18.2.0:
|
||||
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
|
||||
peerDependencies:
|
||||
react: ^18.2.0
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
react: 18.2.0
|
||||
scheduler: 0.23.0
|
||||
dev: false
|
||||
|
||||
/react-use-lanyard/0.1.2_react@18.2.0:
|
||||
resolution: {integrity: sha512-QScCarw4MQelEhjcQO9HvTKWUfpIvt+ZcMPvOOaaDRJk/QNPml27rNzILM7k4TrhrevSuMmgF+3WJtTcUlqidA==}
|
||||
peerDependencies:
|
||||
react: '>=16'
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
swr: 1.3.0_react@18.2.0
|
||||
tslib: 2.4.0
|
||||
dev: false
|
||||
|
||||
/react/18.2.0:
|
||||
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
dev: false
|
||||
|
||||
/readdirp/3.6.0:
|
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
dev: false
|
||||
|
||||
/sass/1.53.0:
|
||||
resolution: {integrity: sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chokidar: 3.5.3
|
||||
immutable: 4.1.0
|
||||
source-map-js: 1.0.2
|
||||
dev: false
|
||||
|
||||
/scheduler/0.23.0:
|
||||
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
dev: false
|
||||
|
||||
/source-map-js/1.0.2:
|
||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/styled-jsx/5.0.2_react@18.2.0:
|
||||
resolution: {integrity: sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': '*'
|
||||
babel-plugin-macros: '*'
|
||||
react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
babel-plugin-macros:
|
||||
optional: true
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
/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
|
||||
|
||||
/to-regex-range/5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
dev: false
|
||||
|
||||
/tr46/0.0.3:
|
||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
||||
dev: false
|
||||
|
||||
/tslib/2.4.0:
|
||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||
dev: false
|
||||
|
||||
/type/1.2.0:
|
||||
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
|
||||
dev: false
|
||||
|
||||
/type/2.6.1:
|
||||
resolution: {integrity: sha512-OvgH5rB0XM+iDZGQ1Eg/o7IZn0XYJFVrN/9FQ4OWIYILyJJgVP2s1hLTOFn6UOZoDUI/HctGa0PFlE2n2HW3NQ==}
|
||||
dev: false
|
||||
|
||||
/typedarray-to-buffer/3.1.5:
|
||||
resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
|
||||
dependencies:
|
||||
is-typedarray: 1.0.0
|
||||
dev: false
|
||||
|
||||
/typescript/4.7.4:
|
||||
resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
|
||||
engines: {node: '>=4.2.0'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/use-lanyard/1.1.0_react@18.2.0:
|
||||
resolution: {integrity: sha512-9yfDnDKCNYR/VIUKSq5V+ACSwZECNrA1ogduigZzF8AuEVwCjrckFBL56dLQHISqsPiB5MfypgpVU+c757EZ3g==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
react: '>=17'
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
swr: 1.3.0_react@18.2.0
|
||||
dev: false
|
||||
|
||||
/use-sync-external-store/1.1.0_react@18.2.0:
|
||||
resolution: {integrity: sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
|
||||
/utf-8-validate/5.0.9:
|
||||
resolution: {integrity: sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==}
|
||||
engines: {node: '>=6.14.2'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
node-gyp-build: 4.5.0
|
||||
dev: false
|
||||
|
||||
/webidl-conversions/3.0.1:
|
||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
||||
dev: false
|
||||
|
||||
/websocket/1.0.34:
|
||||
resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
dependencies:
|
||||
bufferutil: 4.0.6
|
||||
debug: 2.6.9
|
||||
es5-ext: 0.10.61
|
||||
typedarray-to-buffer: 3.1.5
|
||||
utf-8-validate: 5.0.9
|
||||
yaeti: 0.0.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/whatwg-url/5.0.0:
|
||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
||||
dependencies:
|
||||
tr46: 0.0.3
|
||||
webidl-conversions: 3.0.1
|
||||
dev: false
|
||||
|
||||
/yaeti/0.0.6:
|
||||
resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==}
|
||||
engines: {node: '>=0.10.32'}
|
||||
dev: false
|
44
public/icons.svg
Normal file
44
public/icons.svg
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="arrow-left" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m7.25 3.75-4.5 4.5 4.5 4.5m-4.5-4.5h10.5" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="arrow-right" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m8.75 3.75 4.5 4.5-4.5 4.5m-6-4.5h10.5" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="arrow-up-right" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m5.25 4.25h6.5v6.5m0-6.5-7.5 7.5" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="asterisk" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m7.75 1.25v14m-6-10.5 12 7m-12 0 12-7" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="chevron-left" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M 11.25,14.25 5,8 11.25,1.75" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="chevron-right" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M 4.75,14.25 11,8 4.75,1.75" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="envelope" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.25 3.5c0-0.4155 0.3345-0.75 0.75-0.75h12c0.4155 0 0.75 0.3345 0.75 0.75v8.5c0 0.4155-0.3345 0.75-0.75 0.75h-12c-0.4155 0-0.75-0.3345-0.75-0.75zm0 0.25 5.2845 4.3681c1.0065 0.83198 1.9181 0.82912 2.9676-0.03704l5.2479-4.3311" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="git-branch" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m12.25 5.75c0 3.5899-2.9101 6.5-6.5 6.5m3e-7 0c0 1.1046-0.89543 2-2 2s-2-0.89543-2-2 0.89543-2 2-2 2 0.89543 2 2zm8.5-8.5c0 1.1046-0.89543 2-2 2s-2-0.89543-2-2 0.89543-2 2-2 2 0.89543 2 2zm-10.5 6.4998v-7.9998" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="globe" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.75 8.25h12.5m-4 0a2.25 6.5 0 0 1-2.25 6.5 2.25 6.5 0 0 1-2.25-6.5 2.25 6.5 0 0 1 2.25-6.5 2.25 6.5 0 0 1 2.25 6.5zm4.25 0a6.5 6.5 0 0 1-6.5 6.5 6.5 6.5 0 0 1-6.5-6.5 6.5 6.5 0 0 1 6.5-6.5 6.5 6.5 0 0 1 6.5 6.5z" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="graph" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m5.25 13c0 0.9665-0.7835 1.75-1.75 1.75s-1.75-0.7835-1.75-1.75 0.7835-1.75 1.75-1.75 1.75 0.7835 1.75 1.75zm9-3.5c0 0.9665-0.7835 1.75-1.75 1.75s-1.75-0.7835-1.75-1.75c0-0.9665 0.7835-1.75 1.75-1.75s1.75 0.7835 1.75 1.75zm-7-6.5c0 0.9665-0.7835 1.75-1.75 1.75s-1.75-0.7835-1.75-1.75 0.7835-1.75 1.75-1.75 1.75 0.7835 1.75 1.75zm-2.0942 9.4126 5.6868-2.3235m-4.163-5.7868 4.5859 3.9307m-6.0863-3.5029-1.3496 6.543" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="hash" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m4.7501 14.25 0.99984-12m4 12 1.0002-12m-8.5001 3.5h11m-11 5h11" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="image" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m6.25 5.5a0.75 0.75 0 0 1-0.75 0.75 0.75 0.75 0 0 1-0.75-0.75 0.75 0.75 0 0 1 0.75-0.75 0.75 0.75 0 0 1 0.75 0.75zm-3 8.75 7.5-7.5 3.5 3.5m-11.75-8.5h11c0.4155 0 0.75 0.3345 0.75 0.75v11c0 0.4155-0.3345 0.75-0.75 0.75h-11c-0.4155 0-0.75-0.3345-0.75-0.75v-11c0-0.4155 0.3345-0.75 0.75-0.75z" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol viewBox="0 0 16 16" id="link" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m8.25 3.15 0.4519-0.4481c1.2692-1.2692 3.327-1.2692 4.5962 0s1.2692 3.327 0 4.5962l-2 2c-1.2692 1.2692-3.327 1.2692-4.5962 0" fill="none" stroke="currentColor"/>
|
||||
<path d="m7.75 12.85-0.45662 0.45281c-1.2692 1.2692-3.327 1.2692-4.5962 0s-1.2692-3.327 0-4.5962l2-2c1.2692-1.2692 3.327-1.2692 4.5962 0" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol viewBox="0 0 16 16" id="messages" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.5 1.25h9c0.4155 0 0.75 0.3345 0.75 0.75v6.9999c0 0.4155-0.3345 0.75-0.75 0.75h-7.25l-2.5 2.5001v-10.25c0-0.4155 0.3345-0.75 0.75-0.75z" fill="none" stroke="currentColor"/>
|
||||
<path d="m5.25 12.75h7.5l2.5 2.5001v-10.25c0-0.4155-0.3345-0.75-0.75-0.75h-0.25" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="parallelogram" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m15.25 4.25-5 7.5h-9.5l5-7.5z" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol viewBox="0 0 16 16" id="shuffle" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m2.75 2.75 3 3" fill="none" stroke="currentColor"/>
|
||||
<path d="m9.75 2.25h4v4m-11 7 11-11" fill="none" stroke="currentColor"/>
|
||||
<path d="m10.25 10.25 3.5 3.5m-4 0h4v-4" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol viewBox="0 0 16 16" id="smile" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m11.309 9.7658c-0.63143 1.1808-1.8764 1.9842-3.3091 1.9842-1.4381 0-2.6872-0.80955-3.3163-1.9978" fill="none" stroke="currentColor"/>
|
||||
<circle cx="8" cy="8" r="6.75" fill="none" stroke="currentColor"/>
|
||||
<path d="m10.25 5.75v1.5" fill="none" stroke="currentColor"/>
|
||||
<path d="m5.75 5.75v1.5" fill="none" stroke="currentColor"/>
|
||||
</symbol><symbol fill="none" stroke="currentColor" viewBox="0 0 16 16" id="x" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3 3 10 10m-10 0 10-10" fill="none" stroke="currentColor"/>
|
||||
</symbol></svg>
|
After Width: | Height: | Size: 5.6 KiB |
29
styles/Button.module.sass
Normal file
29
styles/Button.module.sass
Normal file
|
@ -0,0 +1,29 @@
|
|||
.button
|
||||
display: flex
|
||||
background-color: #191919
|
||||
align-items: center
|
||||
transition: all .2s
|
||||
&:hover
|
||||
background-color: white
|
||||
color: black
|
||||
transform: translateY(-0.3em)
|
||||
|
||||
.icon
|
||||
padding: 10px
|
||||
|
||||
.link
|
||||
padding: 10px
|
||||
margin-left: auto
|
||||
|
||||
.platform_username
|
||||
line-height: .5rem
|
||||
padding-left: 1rem
|
||||
.platform
|
||||
font-weight: lighter
|
||||
.username
|
||||
color: grey
|
||||
|
||||
.grid
|
||||
display: grid
|
||||
gap: .5rem
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr))
|
4
styles/Index.module.sass
Normal file
4
styles/Index.module.sass
Normal file
|
@ -0,0 +1,4 @@
|
|||
.center
|
||||
max-width: 45rem
|
||||
margin-left: auto
|
||||
margin-right: auto
|
53
styles/Lanyard.module.sass
Normal file
53
styles/Lanyard.module.sass
Normal file
|
@ -0,0 +1,53 @@
|
|||
.container
|
||||
position: absolute
|
||||
bottom: 0
|
||||
left: 0
|
||||
margin: 10px
|
||||
display: inline-flex
|
||||
align-items: center
|
||||
background-color: #222
|
||||
max-width: 50rem
|
||||
border-radius: .5rem
|
||||
animation: skeleton-loading 2s linear infinite alternate
|
||||
|
||||
.albumart
|
||||
border-radius: 20px
|
||||
padding: 10px !important
|
||||
|
||||
.artist_song
|
||||
line-height: .5rem
|
||||
padding-left: 1rem
|
||||
padding-right: 1rem
|
||||
.artist
|
||||
font-size: .8rem
|
||||
|
||||
.badge:after
|
||||
content: ''
|
||||
position: absolute
|
||||
top: -5px
|
||||
right: -5px
|
||||
font-size: .7em
|
||||
background: #8cff96b4
|
||||
color: white
|
||||
width: 18px
|
||||
height: 18px
|
||||
text-align: center
|
||||
line-height: 18px
|
||||
border-radius: 50%
|
||||
box-shadow: 0 0 1px #333
|
||||
animation: pulse 4s linear infinite alternate
|
||||
|
||||
@keyframes pulse
|
||||
0%
|
||||
transform: scale(1)
|
||||
50%
|
||||
transform: scale(1.4)
|
||||
100%
|
||||
transform: scale(1)
|
||||
|
||||
@keyframes skeleton-loading
|
||||
0%
|
||||
background-color: #191919
|
||||
|
||||
100%
|
||||
background-color: #222
|
5
styles/Title.module.sass
Normal file
5
styles/Title.module.sass
Normal file
|
@ -0,0 +1,5 @@
|
|||
.title
|
||||
display: inline-flex
|
||||
font-size: 3rem
|
||||
margin-top: 5rem
|
||||
background-image: linear-gradient(to top, transparent 0.15em, rgb(0, 0, 0) 0.15em, rgb(0, 0, 0) 0.6em, transparent 0.6em)
|
BIN
styles/fonts/Flachbau.ttf
Normal file
BIN
styles/fonts/Flachbau.ttf
Normal file
Binary file not shown.
17
styles/main.sass
Normal file
17
styles/main.sass
Normal file
|
@ -0,0 +1,17 @@
|
|||
a
|
||||
text-decoration: none
|
||||
color: white
|
||||
|
||||
// padding: 0
|
||||
// margin: 0
|
||||
|
||||
body
|
||||
background: #111
|
||||
color: white
|
||||
font-family: "Flachbau"
|
||||
|
||||
|
||||
@font-face
|
||||
font-family: "Flachbau"
|
||||
src: local("fonts/Flachbau.ttf") format("truetype")
|
||||
src: url("fonts/Flachbau.ttf") format("truetype")
|
31
tsconfig.json
Normal file
31
tsconfig.json
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"target": "es5",
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"esnext"
|
||||
],
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": false,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noEmit": true,
|
||||
"incremental": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve"
|
||||
},
|
||||
"include": [
|
||||
"next-env.d.ts",
|
||||
"**/*.ts",
|
||||
"**/*.tsx"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
7
utils/shared/lanyard.ts
Normal file
7
utils/shared/lanyard.ts
Normal file
|
@ -0,0 +1,7 @@
|
|||
const id = process.env.NEXT_DISCORD_ID || "318044130796109825"
|
||||
|
||||
export async function jsonyard() {
|
||||
return await fetch(
|
||||
`https://api.lanyard.rest/v1/users/${id}`,
|
||||
).then((r) => r.json());
|
||||
}
|
7
utils/shared/profiles.ts
Normal file
7
utils/shared/profiles.ts
Normal file
|
@ -0,0 +1,7 @@
|
|||
import supabase from "utils/supabase"
|
||||
|
||||
export default async function getProfiles() {
|
||||
let {data,error} = await supabase.from("void_socials").select()
|
||||
if(error) throw error
|
||||
return data
|
||||
}
|
5
utils/supabase.ts
Normal file
5
utils/supabase.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
import { createClient } from "@supabase/supabase-js";
|
||||
|
||||
const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY)
|
||||
|
||||
export default supabase
|
28
utils/types.ts
Normal file
28
utils/types.ts
Normal file
|
@ -0,0 +1,28 @@
|
|||
export type SocialButton = {
|
||||
id: number;
|
||||
icon: Icon;
|
||||
platform: string;
|
||||
username: string;
|
||||
url?: string;
|
||||
};
|
||||
|
||||
export type Icon =
|
||||
| "x"
|
||||
| "smile"
|
||||
| "shuffle"
|
||||
| "parallelogram"
|
||||
| "messages"
|
||||
| "link"
|
||||
| "image"
|
||||
| "hash"
|
||||
| "graph"
|
||||
| "globe"
|
||||
| "git-branch"
|
||||
| "envelope"
|
||||
| "chevron-right"
|
||||
| "chevron-left"
|
||||
| "asterisk"
|
||||
| "arrow-up-right"
|
||||
| "arrow-right"
|
||||
| "spotify"
|
||||
| "arrow-right";
|
Loading…
Add table
Reference in a new issue