Convert card from geist, badge style improvements
This commit is contained in:
parent
3bebb6ac7d
commit
bff7c90e5f
14 changed files with 153 additions and 264 deletions
|
@ -1,109 +0,0 @@
|
|||
.fileTreeWrapper {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.fileTreeWrapper h5 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fileTree {
|
||||
list-style: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.fileTree li {
|
||||
transition: var(--transition);
|
||||
border-radius: var(--radius);
|
||||
margin: 0;
|
||||
padding: var(--gap-half) 0;
|
||||
}
|
||||
|
||||
.fileTree li a {
|
||||
margin: 0px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: var(--gap-half);
|
||||
}
|
||||
|
||||
.fileTree li:hover,
|
||||
.fileTree li:focus,
|
||||
.fileTree li:active {
|
||||
background: var(--lighter-gray);
|
||||
}
|
||||
|
||||
.fileTree li .fileTreeIcon {
|
||||
display: inline-block;
|
||||
padding-right: var(--gap-half);
|
||||
padding-left: var(--gap-half);
|
||||
}
|
||||
|
||||
.fileTree li .fileTreeTitle {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.fileTree li::before {
|
||||
content: "";
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.card {
|
||||
top: 0;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.cardContent {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: var(--gap-half);
|
||||
padding-top: 200px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 82rem) {
|
||||
.fileTreeWrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: var(--gap);
|
||||
}
|
||||
|
||||
.card {
|
||||
position: relative;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.cardContent {
|
||||
margin: var(--gap);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.fileTree {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.fileTree li {
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
|
||||
.fileTree li .fileTreeIcon {
|
||||
margin-right: var(--gap-half);
|
||||
}
|
||||
|
||||
.fileTree li .fileTreeTitle {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.fileTree li::before {
|
||||
content: "";
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
import { File } from "@lib/server/prisma"
|
||||
import FileIcon from "@geist-ui/icons/fileText"
|
||||
import CodeIcon from "@geist-ui/icons/fileLambda"
|
||||
import styles from "./file-tree.module.css"
|
||||
import ShiftBy from "@components/shift-by"
|
||||
import { useEffect, useState } from "react"
|
||||
import { codeFileExtensions } from "@lib/constants"
|
||||
import Link from "@components/link"
|
||||
|
||||
type Item = File & {
|
||||
icon: JSX.Element
|
||||
}
|
||||
|
||||
const Card = ({
|
||||
children,
|
||||
className,
|
||||
...props
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
className?: string
|
||||
} & React.ComponentProps<"div">) => (
|
||||
<div className={styles.card} {...props}>
|
||||
{children}
|
||||
</div>
|
||||
)
|
||||
|
||||
const FileTree = ({ files }: { files: File[] }) => {
|
||||
const [items, setItems] = useState<Item[]>([])
|
||||
useEffect(() => {
|
||||
const newItems = files.map((file) => {
|
||||
const extension = file.title.split(".").pop()
|
||||
if (codeFileExtensions.includes(extension || "")) {
|
||||
return {
|
||||
...file,
|
||||
icon: <CodeIcon />
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
...file,
|
||||
icon: <FileIcon />
|
||||
}
|
||||
}
|
||||
})
|
||||
setItems(newItems)
|
||||
}, [files])
|
||||
|
||||
// a list of files with an icon and a title
|
||||
return (
|
||||
<div className={styles.fileTreeWrapper}>
|
||||
<Card className={styles.card}>
|
||||
<div className={styles.cardContent}>
|
||||
<h4>Files</h4>
|
||||
<ul className={styles.fileTree}>
|
||||
{items.map(({ id, title, icon }) => (
|
||||
<li key={id}>
|
||||
<Link href={`#${title}`}>
|
||||
<ShiftBy y={5}>
|
||||
<span className={styles.fileTreeIcon}>{icon}</span>
|
||||
</ShiftBy>
|
||||
<span className={styles.fileTreeTitle}>{title}</span>
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default FileTree
|
|
@ -125,7 +125,7 @@ const Document = ({
|
|||
{/* <textarea className={styles.lineCounter} wrap='off' readOnly ref={lineNumberRef}>1.</textarea> */}
|
||||
<div
|
||||
style={{
|
||||
marginTop: "var(--gap-half)",
|
||||
marginTop: 6,
|
||||
display: "flex",
|
||||
flexDirection: "column"
|
||||
}}
|
||||
|
@ -147,7 +147,7 @@ const Document = ({
|
|||
</div>
|
||||
</Tabs.Item>
|
||||
<Tabs.Item label="Preview" value="preview">
|
||||
<div style={{ marginTop: "var(--gap-half)" }}>
|
||||
<div>
|
||||
<Preview height={height} title={title} content={content} />
|
||||
</div>
|
||||
</Tabs.Item>
|
||||
|
|
|
@ -130,7 +130,7 @@ const Document = ({
|
|||
{/* <textarea className={styles.lineCounter} wrap='off' readOnly ref={lineNumberRef}>1.</textarea> */}
|
||||
<div
|
||||
style={{
|
||||
marginTop: "var(--gap-half)",
|
||||
marginTop: 6,
|
||||
display: "flex",
|
||||
flexDirection: "column"
|
||||
}}
|
||||
|
@ -148,7 +148,7 @@ const Document = ({
|
|||
</div>
|
||||
</Tabs.Item>
|
||||
<Tabs.Item label="Preview" value="preview">
|
||||
<div style={{ marginTop: "var(--gap-half)" }}>
|
||||
<div>
|
||||
<StaticPreview
|
||||
height={height}
|
||||
// fileId={id}
|
||||
|
|
|
@ -8,11 +8,13 @@
|
|||
border-radius: var(--radius);
|
||||
background-color: var(--light-gray);
|
||||
font-size: .85em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.badgeText {
|
||||
font-size: var(--font-size-1);
|
||||
font-weight: var(--font-weight-bold);
|
||||
line-height: .5;
|
||||
}
|
||||
|
||||
.primary {
|
||||
|
@ -31,7 +33,7 @@
|
|||
|
||||
.warning {
|
||||
background-color: var(--warning);
|
||||
color: var(--bg);
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.error {
|
||||
|
|
15
client/app/components/card/card.module.css
Normal file
15
client/app/components/card/card.module.css
Normal file
|
@ -0,0 +1,15 @@
|
|||
.card {
|
||||
background: var(--bg);
|
||||
border-radius: var(--radius);
|
||||
color: var(--fg);
|
||||
border: 1px solid var(--light-gray);
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
|
||||
.card .content {
|
||||
padding: var(--gap);
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
16
client/app/components/card/index.tsx
Normal file
16
client/app/components/card/index.tsx
Normal file
|
@ -0,0 +1,16 @@
|
|||
import styles from "./card.module.css"
|
||||
|
||||
export default function Card({
|
||||
children,
|
||||
className,
|
||||
...props
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
className?: string
|
||||
} & React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div className={`${styles.card} ${className}`} {...props}>
|
||||
<div className={styles.content}>{children}</div>
|
||||
</div>
|
||||
)
|
||||
}
|
|
@ -1,10 +1,11 @@
|
|||
"use client"
|
||||
import ShiftBy from "@components/shift-by"
|
||||
import { Spacer, Tabs, Card, Textarea, Text } from "@geist-ui/core/dist"
|
||||
import { Spacer, Tabs, Textarea, Text } from "@geist-ui/core/dist"
|
||||
import Image from "next/image"
|
||||
import styles from "./home.module.css"
|
||||
// TODO:components/new-post/ move these styles
|
||||
import markdownStyles from "app/(posts)/components/preview/preview.module.css";
|
||||
import Card from "./card"
|
||||
const Home = ({
|
||||
introTitle,
|
||||
introContent,
|
||||
|
@ -39,7 +40,7 @@ const Home = ({
|
|||
{/* <textarea className={styles.lineCounter} wrap='off' readOnly ref={lineNumberRef}>1.</textarea> */}
|
||||
<div
|
||||
style={{
|
||||
marginTop: "var(--gap-half)",
|
||||
marginTop: "var(--gap)",
|
||||
display: "flex",
|
||||
flexDirection: "column"
|
||||
}}
|
||||
|
@ -56,7 +57,7 @@ const Home = ({
|
|||
</div>
|
||||
</Tabs.Item>
|
||||
<Tabs.Item label="Preview" value="preview">
|
||||
<div style={{ marginTop: "var(--gap-half)" }}>
|
||||
<div>
|
||||
<article
|
||||
className={markdownStyles.markdownPreview}
|
||||
dangerouslySetInnerHTML={{ __html: rendered }}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Card from "@components/card"
|
||||
import Skeleton from "@components/skeleton"
|
||||
import { Card, Divider, Grid, Spacer } from "@geist-ui/core/dist"
|
||||
import { Divider, Grid, Spacer } from "@geist-ui/core/dist"
|
||||
|
||||
const ListItemSkeleton = () => (
|
||||
<Card>
|
||||
|
@ -17,10 +18,7 @@ const ListItemSkeleton = () => (
|
|||
</Grid.Container>
|
||||
|
||||
<Divider h="1px" my={0} />
|
||||
|
||||
<Card.Content>
|
||||
<Skeleton width={200} />
|
||||
</Card.Content>
|
||||
<Skeleton width={200} />
|
||||
</Card>
|
||||
)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
.badges {
|
||||
display: flex;
|
||||
gap: var(--gap-half);
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
|
@ -22,13 +23,14 @@
|
|||
|
||||
@media screen and (max-width: 700px) {
|
||||
.badges {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
margin-top: var(--gap-half);
|
||||
}
|
||||
|
||||
.title {
|
||||
flex-direction: column;
|
||||
gap: var(--gap);
|
||||
}
|
||||
|
||||
.title h3 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import VisibilityBadge from "../badges/visibility-badge"
|
||||
import { Text, Card, Divider, Button } from "@geist-ui/core/dist"
|
||||
import { Divider, Button } from "@geist-ui/core/dist"
|
||||
import FadeIn from "@components/fade-in"
|
||||
import Trash from "@geist-ui/icons/trash"
|
||||
import ExpirationBadge from "@components/badges/expiration-badge"
|
||||
|
@ -13,6 +13,7 @@ import type { PostWithFiles } from "@lib/server/prisma"
|
|||
import type { File } from "@lib/server/prisma"
|
||||
import Tooltip from "@components/tooltip"
|
||||
import Badge from "@components/badges/badge"
|
||||
import Card from "@components/card"
|
||||
|
||||
// TODO: isOwner should default to false so this can be used generically
|
||||
const ListItem = ({
|
||||
|
@ -38,7 +39,7 @@ const ListItem = ({
|
|||
<FadeIn>
|
||||
<li key={post.id}>
|
||||
<Card style={{ overflowY: "scroll" }}>
|
||||
<Card.Body>
|
||||
<>
|
||||
<div className={styles.title}>
|
||||
<h3 style={{ display: "inline-block" }}>
|
||||
<Link
|
||||
|
@ -84,9 +85,9 @@ const ListItem = ({
|
|||
<CreatedAgoBadge createdAt={post.createdAt} />
|
||||
<ExpirationBadge postExpirationDate={post.expiresAt} />
|
||||
</div>
|
||||
</Card.Body>
|
||||
<Divider h="1px" my={0} />
|
||||
<Card.Content>
|
||||
</>
|
||||
<Divider h="1px" my={2} />
|
||||
<>
|
||||
{post?.files?.map((file: File) => {
|
||||
return (
|
||||
<div key={file.id}>
|
||||
|
@ -96,7 +97,7 @@ const ListItem = ({
|
|||
</div>
|
||||
)
|
||||
})}
|
||||
</Card.Content>
|
||||
</>
|
||||
</Card>
|
||||
</li>
|
||||
</FadeIn>
|
||||
|
|
34
client/docker-compose.yml
Normal file
34
client/docker-compose.yml
Normal file
|
@ -0,0 +1,34 @@
|
|||
services:
|
||||
drift:
|
||||
build:
|
||||
context: ./
|
||||
container_name: drift
|
||||
restart: unless-stopped
|
||||
user: 1000:1000
|
||||
environment:
|
||||
- WELCOME_CONTENT="## Drift is a self-hostable clone of GitHub Gist. \nIt is a simple way to share code and text snippets with your friends, with support for the following:\n \n - Render GitHub Extended Markdown (including images)\n - User authentication\n - Private, public, and password protected posts\n - Markdown is rendered and stored on the server\n - Syntax highlighting and automatic language detection\n - Drag-and-drop file uploading\n\n If you want to signup, you can join at [/signup](/signup) as long as you have a passcode provided by the administrator (which you don\'t need for this demo). **This demo is on a memory-only database, so accounts and pastes can be deleted at any time.** \n\nYou can find the source code on [GitHub](https://github.com/MaxLeiter/drift)."
|
||||
- WELCOME_TITLE="Drift"
|
||||
- REGISTRATION_PASSWORD=""
|
||||
- NEXTAUTH_URL=http://localhost:3000
|
||||
- NEXTAUTH_SECRET=secret
|
||||
- GITHUB_CLIENT_ID=64100c941c2474a5698a
|
||||
- GITHUB_CLIENT_SECRET=cf4c1d510741a439c77d0593e36469d234eca894
|
||||
- DATABASE_URL=postgressql://maxleiter:wHaQdWJcZz2pWd0@postgres:5432/postgres
|
||||
- DRIFT_URL=http://localhost:3000
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- ./drift:/app
|
||||
depends_on:
|
||||
- postgres
|
||||
postgres:
|
||||
image: postgres:13
|
||||
container_name: postgres
|
||||
restart: unless-stopped
|
||||
user: 1000:1000
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=wHaQdWJcZz2pWd0
|
||||
- POSTGRES_USER=maxleiter
|
||||
- POSTGRES_DB=postgres
|
||||
volumes:
|
||||
- ./postgres:/var/lib/postgresql/data
|
|
@ -25,7 +25,7 @@
|
|||
"clsx": "^1.2.1",
|
||||
"cookies-next": "^2.1.1",
|
||||
"jest": "^29.3.1",
|
||||
"next": "13.0.3-canary.4",
|
||||
"next": "13.0.3",
|
||||
"next-auth": "^4.16.4",
|
||||
"next-themes": "npm:@wits/next-themes@0.2.7",
|
||||
"rc-table": "7.24.1",
|
||||
|
@ -48,7 +48,7 @@
|
|||
"@types/react-dom": "18.0.3",
|
||||
"cross-env": "7.0.3",
|
||||
"eslint": "8.27.0",
|
||||
"eslint-config-next": "13.0.3-canary.4",
|
||||
"eslint-config-next": "13.0.3",
|
||||
"katex": "^0.16.3",
|
||||
"next-unused": "0.0.6",
|
||||
"prettier": "2.6.2",
|
||||
|
|
|
@ -20,10 +20,10 @@ specifiers:
|
|||
cookies-next: ^2.1.1
|
||||
cross-env: 7.0.3
|
||||
eslint: 8.27.0
|
||||
eslint-config-next: 13.0.3-canary.4
|
||||
eslint-config-next: 13.0.3
|
||||
jest: ^29.3.1
|
||||
katex: ^0.16.3
|
||||
next: 13.0.3-canary.4
|
||||
next: 13.0.3
|
||||
next-auth: ^4.16.4
|
||||
next-themes: npm:@wits/next-themes@0.2.7
|
||||
next-unused: 0.0.6
|
||||
|
@ -56,9 +56,9 @@ dependencies:
|
|||
clsx: 1.2.1
|
||||
cookies-next: 2.1.1
|
||||
jest: 29.3.1_@types+node@17.0.23
|
||||
next: 13.0.3-canary.4_biqbaboplfbrettd7655fr4n2y
|
||||
next-auth: 4.16.4_hsmqkug4agizydugca45idewda
|
||||
next-themes: /@wits/next-themes/0.2.7_hsmqkug4agizydugca45idewda
|
||||
next: 13.0.3_biqbaboplfbrettd7655fr4n2y
|
||||
next-auth: 4.16.4_ogpkrxaz2lg6nectum6dl66tn4
|
||||
next-themes: /@wits/next-themes/0.2.7_ogpkrxaz2lg6nectum6dl66tn4
|
||||
rc-table: 7.24.1_biqbaboplfbrettd7655fr4n2y
|
||||
react: 18.2.0
|
||||
react-datepicker: 4.8.0_biqbaboplfbrettd7655fr4n2y
|
||||
|
@ -82,7 +82,7 @@ devDependencies:
|
|||
'@types/react-dom': 18.0.3
|
||||
cross-env: 7.0.3
|
||||
eslint: 8.27.0
|
||||
eslint-config-next: 13.0.3-canary.4_hsmo2rtalirsvadpuxki35bq2i
|
||||
eslint-config-next: 13.0.3_hsmo2rtalirsvadpuxki35bq2i
|
||||
katex: 0.16.3
|
||||
next-unused: 0.0.6
|
||||
prettier: 2.6.2
|
||||
|
@ -815,7 +815,7 @@ packages:
|
|||
next-auth: ^4
|
||||
dependencies:
|
||||
'@prisma/client': 4.6.1_prisma@4.6.1
|
||||
next-auth: 4.16.4_hsmqkug4agizydugca45idewda
|
||||
next-auth: 4.16.4_ogpkrxaz2lg6nectum6dl66tn4
|
||||
dev: false
|
||||
|
||||
/@next/bundle-analyzer/12.1.6:
|
||||
|
@ -827,18 +827,18 @@ packages:
|
|||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/@next/env/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-IKMYPznB0ttgHa1K7nKbfSMM8kne3G7Am+eNeM11cr+HjPljAzl863Ib9UBk6s7oChTAEVtaoKHbAerW/36tWA==}
|
||||
/@next/env/13.0.3:
|
||||
resolution: {integrity: sha512-/4WzeG61Ot/PxsghXkSqQJ6UohFfwXoZ3dtsypmR9EBP+OIax9JRq0trq8Z/LCT9Aq4JbihVkaazRWguORjTAw==}
|
||||
dev: false
|
||||
|
||||
/@next/eslint-plugin-next/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-RQ2HX9uQFJfSyqs9LfpC8BhPA5LhcnVI3nERbAq3YVxm/CQbjrC+/feAT01CHHSXyakMW0G89oDr4TB3diduXw==}
|
||||
/@next/eslint-plugin-next/13.0.3:
|
||||
resolution: {integrity: sha512-slmTAHNKDyc7jhx4VF8lFbmOPWJ3PShtUUWpb6x9+ga59CyOxgP6AdcDhxfapnWYACKe/TwYiaveufu7LqXgZg==}
|
||||
dependencies:
|
||||
glob: 7.1.7
|
||||
dev: true
|
||||
|
||||
/@next/swc-android-arm-eabi/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-3CXPHZfP7KGwKlrBv451x3l++q1Jxr/5PESk1TkFednJmw+9F6Tno+2RPYEzE++EWxjuAM8SmwHZxhJ6HorOvA==}
|
||||
/@next/swc-android-arm-eabi/13.0.3:
|
||||
resolution: {integrity: sha512-uxfUoj65CdFc1gX2q7GtBX3DhKv9Kn343LMqGNvXyuTpYTGMmIiVY7b9yF8oLWRV0gVKqhZBZifUmoPE8SJU6Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
@ -846,8 +846,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-android-arm64/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-hjsSok+41ZYDghIXMUrvv1eyDboinpDu5kcd/aQTqiV9ukuoQSQFwPd9i8fXVWKOb8w9rfoSLrPoslZXxbMolw==}
|
||||
/@next/swc-android-arm64/13.0.3:
|
||||
resolution: {integrity: sha512-t2k+WDfg7Cq2z/EnalKGsd/9E5F4Hdo1xu+UzZXYDpKUI9zgE6Bz8ajQb8m8txv3qOaWdKuDa5j5ziq9Acd1Xw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
@ -855,8 +855,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-arm64/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-DxpeUXj7UcSidRDH0WjDzFlrycNvCKtQgpjPEzljBs2MGXGisuJ/znFkmqbLYwUi71La0nw91Yuz7IrGDpbhag==}
|
||||
/@next/swc-darwin-arm64/13.0.3:
|
||||
resolution: {integrity: sha512-wV6j6SZ1bc/YHOLCLk9JVqaZTCCey6HBV7inl2DriHsHqIcO6F3+QiYf0KXwRP9BE0GSZZrYd5mZQm2JPTHdJA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
@ -864,8 +864,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-darwin-x64/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-jGdLe9QRpbSMkO+Ttpr8fnl2q/s1cQuBvGKM0nHiIUtwuwnho4BjcYQdcCJbjjH2Vs0KMhayZh9REa+52vdAEA==}
|
||||
/@next/swc-darwin-x64/13.0.3:
|
||||
resolution: {integrity: sha512-jaI2CMuYWvUtRixV3AIjUhnxUDU1FKOR+8hADMhYt3Yz+pCKuj4RZ0n0nY5qUf3qT1AtvnJXEgyatSFJhSp/wQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
@ -873,8 +873,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-freebsd-x64/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-9VJCLOkbteSozo8kxrqiFJDntARLIn0Uv4aXdvbAuYhEIVRbnP0uA3z1r6d4g8ycC1Yout6z0m3pkg0MHbKV2w==}
|
||||
/@next/swc-freebsd-x64/13.0.3:
|
||||
resolution: {integrity: sha512-nbyT0toBTJrcj5TCB9pVnQpGJ3utGyQj4CWegZs1ulaeUQ5Z7CS/qt8nRyYyOKYHtOdSCJ9Nw5F/RgKNkdpOdw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
@ -882,8 +882,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm-gnueabihf/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-SBA6Ja07guZI8KnIpMRN6tDvD6tse70c8d9HPwdkK7JziwIBzNDSuLbuA9WB+9/byM70U8jROBKgMUZAsAbnew==}
|
||||
/@next/swc-linux-arm-gnueabihf/13.0.3:
|
||||
resolution: {integrity: sha512-1naLxYvRUQCoFCU1nMkcQueRc0Iux9xBv1L5pzH2ejtIWFg8BrSgyuluJG4nyAhFCx4WG863IEIkAaefOowVdA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
@ -891,8 +891,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-gnu/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-9hQU3mZtzuLAvqaz/72jM2IWtV3lcLFhWqWGCS8yqUCKjkT2ppd/L/VEVuvatC67H5wzpbAJPnDxjPIl7ryiOA==}
|
||||
/@next/swc-linux-arm64-gnu/13.0.3:
|
||||
resolution: {integrity: sha512-3Z4A8JkuGWpMVbUhUPQInK/SLY+kijTT78Q/NZCrhLlyvwrVxaQALJNlXzxDLraUgv4oVH0Wz/FIw1W9PUUhxA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -900,8 +900,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-arm64-musl/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-iZTyAMbQiI0kng46mVp9XKscv59STqLbIVs6pSD3pnrBqKUh4SECQ6Z2r6Y4/H65ig64x6hvdk3KbG71UU+Kaw==}
|
||||
/@next/swc-linux-arm64-musl/13.0.3:
|
||||
resolution: {integrity: sha512-MoYe9SM40UaunTjC+01c9OILLH3uSoeri58kDMu3KF/EFEvn1LZ6ODeDj+SLGlAc95wn46hrRJS2BPmDDE+jFQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
@ -909,8 +909,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-gnu/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-2yYi/bjxf5jHJPTvnC6WbomgETkLWaNY+CEC2Ci1HV3xNVm1/4LiKB0KoDZGUWMBDjAQHO9LmTZS8+P4Q/wubA==}
|
||||
/@next/swc-linux-x64-gnu/13.0.3:
|
||||
resolution: {integrity: sha512-z22T5WGnRanjLMXdF0NaNjSpBlEzzY43t5Ysp3nW1oI6gOkub6WdQNZeHIY7A2JwkgSWZmtjLtf+Fzzz38LHeQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -918,8 +918,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-linux-x64-musl/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-DuT/jlTSyZDMPWDWpVqxkLJqGytXYnbIbZ8T+XRbOihDy8p4HwaKZW9ZcHM04lSnOmxwXFHRR5Exx4y5cQOH+A==}
|
||||
/@next/swc-linux-x64-musl/13.0.3:
|
||||
resolution: {integrity: sha512-ZOMT7zjBFmkusAtr47k8xs/oTLsNlTH6xvYb+iux7yly2hZGwhfBLzPGBsbeMZukZ96IphJTagT+C033s6LNVA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
@ -927,8 +927,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-arm64-msvc/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-TW1wLzOorp0IhBf2u1XiJ+8OmGWSUID8zWISwyW74oWuNIhpvzbgmCbjFqlfX9xUxAY6tVcx2TfOc5lmsIoaEg==}
|
||||
/@next/swc-win32-arm64-msvc/13.0.3:
|
||||
resolution: {integrity: sha512-Q4BM16Djl+Oah9UdGrvjFYgoftYB2jNd+rtRGPX5Mmxo09Ry/KiLbOZnoUyoIxKc1xPyfqMXuaVsAFQLYs0KEQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
@ -936,8 +936,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-ia32-msvc/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-cCbuBq8ua9u/bpJ0TvyTrEZXNhrzR0R0z/h3gitw+8VUQG4xREwfn3od0J9XjeL0RQ4QbtgorVE2yw9JZ5pOdg==}
|
||||
/@next/swc-win32-ia32-msvc/13.0.3:
|
||||
resolution: {integrity: sha512-Sa8yGkNeRUsic8Qjf7MLIAfP0p0+einK/wIqJ8UO1y76j+8rRQu42AMs5H4Ax1fm9GEYq6I8njHtY59TVpTtGQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
@ -945,8 +945,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@next/swc-win32-x64-msvc/13.0.3-canary.4:
|
||||
resolution: {integrity: sha512-kWfN2WhqxwkaySEddUjm2xJKKdeaIE1/UZXFNCaU5aSZFTn1I4yVjjL40tMCfcppqYbY58X6c5UocOviLcKbrg==}
|
||||
/@next/swc-win32-x64-msvc/13.0.3:
|
||||
resolution: {integrity: sha512-IAptmSqA7k4tQzaw2NAkoEjj3+Dz9ceuvlEHwYh770MMDL4V0ku2m+UHrmn5HUCEDHhgwwjg2nyf6728q2jr1w==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
@ -1594,14 +1594,14 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/@wits/next-themes/0.2.7_hsmqkug4agizydugca45idewda:
|
||||
/@wits/next-themes/0.2.7_ogpkrxaz2lg6nectum6dl66tn4:
|
||||
resolution: {integrity: sha512-CpmNH3RRqf2w0i1Xbrz5GKNE/d5gMq1oBlGpofY9LWcjH225nUgrxP15wKRITRAbn68ERDbsBGEBiaRECTmQag==}
|
||||
peerDependencies:
|
||||
next: '*'
|
||||
react: '*'
|
||||
react-dom: '*'
|
||||
dependencies:
|
||||
next: 13.0.3-canary.4_biqbaboplfbrettd7655fr4n2y
|
||||
next: 13.0.3_biqbaboplfbrettd7655fr4n2y
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: false
|
||||
|
@ -2701,8 +2701,8 @@ packages:
|
|||
source-map: 0.6.1
|
||||
dev: true
|
||||
|
||||
/eslint-config-next/13.0.3-canary.4_hsmo2rtalirsvadpuxki35bq2i:
|
||||
resolution: {integrity: sha512-SXGzbo3HfAvdjxLTLdYAJ2ZvBAac9q2851MSYzQwDckcTTbA2NQqK+c+Zr8sfLs1f1hy8bmi3N4KX9ZiLsYRqw==}
|
||||
/eslint-config-next/13.0.3_hsmo2rtalirsvadpuxki35bq2i:
|
||||
resolution: {integrity: sha512-i2JoQP8gGv303GjXTonA27fm1ckRRkRoAP1WYEQgN0D2DDoFeBPqlJgHlMHnXKWjmNct/sW8jQEvy9am2juc8g==}
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0
|
||||
typescript: '>=3.3.1'
|
||||
|
@ -2710,7 +2710,7 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 13.0.3-canary.4
|
||||
'@next/eslint-plugin-next': 13.0.3
|
||||
'@rushstack/eslint-patch': 1.2.0
|
||||
'@typescript-eslint/parser': 5.42.1_hsmo2rtalirsvadpuxki35bq2i
|
||||
eslint: 8.27.0
|
||||
|
@ -5103,7 +5103,7 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/next-auth/4.16.4_hsmqkug4agizydugca45idewda:
|
||||
/next-auth/4.16.4_ogpkrxaz2lg6nectum6dl66tn4:
|
||||
resolution: {integrity: sha512-KXW578+ER1u5RcWLwCHMdb/RIBIO6JM8r6xlf9RIPSKzkvDcX9FHiZfJS2vOq/SurHXPJZc4J3OS4IDJpF74Dw==}
|
||||
engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0}
|
||||
peerDependencies:
|
||||
|
@ -5119,7 +5119,7 @@ packages:
|
|||
'@panva/hkdf': 1.0.2
|
||||
cookie: 0.5.0
|
||||
jose: 4.11.0
|
||||
next: 13.0.3-canary.4_biqbaboplfbrettd7655fr4n2y
|
||||
next: 13.0.3_biqbaboplfbrettd7655fr4n2y
|
||||
oauth: 0.9.15
|
||||
openid-client: 5.3.0
|
||||
preact: 10.11.2
|
||||
|
@ -5140,8 +5140,8 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/next/13.0.3-canary.4_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-GCf0loggwGvPXeDfYMtg36HByukmALnldQZMIdQnGcJtFHRQsWrprvrTEfqTENU5UOZSYbTdJRdL1Y8QOyymWw==}
|
||||
/next/13.0.3_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-rFQeepcenRxKzeKlh1CsmEnxsJwhIERtbUjmYnKZyDInZsU06lvaGw5DT44rlNp1Rv2MT/e9vffZ8vK+ytwXHA==}
|
||||
engines: {node: '>=14.6.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
@ -5158,7 +5158,7 @@ packages:
|
|||
sass:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@next/env': 13.0.3-canary.4
|
||||
'@next/env': 13.0.3
|
||||
'@swc/helpers': 0.4.11
|
||||
caniuse-lite: 1.0.30001431
|
||||
postcss: 8.4.14
|
||||
|
@ -5167,19 +5167,19 @@ packages:
|
|||
styled-jsx: 5.1.0_react@18.2.0
|
||||
use-sync-external-store: 1.2.0_react@18.2.0
|
||||
optionalDependencies:
|
||||
'@next/swc-android-arm-eabi': 13.0.3-canary.4
|
||||
'@next/swc-android-arm64': 13.0.3-canary.4
|
||||
'@next/swc-darwin-arm64': 13.0.3-canary.4
|
||||
'@next/swc-darwin-x64': 13.0.3-canary.4
|
||||
'@next/swc-freebsd-x64': 13.0.3-canary.4
|
||||
'@next/swc-linux-arm-gnueabihf': 13.0.3-canary.4
|
||||
'@next/swc-linux-arm64-gnu': 13.0.3-canary.4
|
||||
'@next/swc-linux-arm64-musl': 13.0.3-canary.4
|
||||
'@next/swc-linux-x64-gnu': 13.0.3-canary.4
|
||||
'@next/swc-linux-x64-musl': 13.0.3-canary.4
|
||||
'@next/swc-win32-arm64-msvc': 13.0.3-canary.4
|
||||
'@next/swc-win32-ia32-msvc': 13.0.3-canary.4
|
||||
'@next/swc-win32-x64-msvc': 13.0.3-canary.4
|
||||
'@next/swc-android-arm-eabi': 13.0.3
|
||||
'@next/swc-android-arm64': 13.0.3
|
||||
'@next/swc-darwin-arm64': 13.0.3
|
||||
'@next/swc-darwin-x64': 13.0.3
|
||||
'@next/swc-freebsd-x64': 13.0.3
|
||||
'@next/swc-linux-arm-gnueabihf': 13.0.3
|
||||
'@next/swc-linux-arm64-gnu': 13.0.3
|
||||
'@next/swc-linux-arm64-musl': 13.0.3
|
||||
'@next/swc-linux-x64-gnu': 13.0.3
|
||||
'@next/swc-linux-x64-musl': 13.0.3
|
||||
'@next/swc-win32-arm64-msvc': 13.0.3
|
||||
'@next/swc-win32-ia32-msvc': 13.0.3
|
||||
'@next/swc-win32-x64-msvc': 13.0.3
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
|
|
Loading…
Reference in a new issue