EVERYTHING WORKING PERFECTLY
3
.gitignore
vendored
|
|
@ -2,6 +2,9 @@
|
|||
*.sqlite
|
||||
*.lockb
|
||||
.next
|
||||
wrangler.toml
|
||||
.wrangler
|
||||
drizzle/
|
||||
|
||||
node_modules
|
||||
|
||||
|
|
|
|||
8
apps/anycontext-front/env.d.ts
vendored
|
|
@ -1,8 +0,0 @@
|
|||
interface CloudflareEnv {
|
||||
// Add here the Cloudflare Bindings you want to have available in your application
|
||||
// (for more details on Bindings see: https://developers.cloudflare.com/pages/functions/bindings/)
|
||||
//
|
||||
// KV Example:
|
||||
// MY_KV: KVNamespace
|
||||
DATABSE: D1Database
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"name": "anycontext-front",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"pages:build": "pnpm next-on-pages",
|
||||
"preview": "pnpm pages:build && wrangler pages dev .vercel/output/static",
|
||||
"deploy": "pnpm pages:build && wrangler pages deploy .vercel/output/static"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "14.1.0",
|
||||
"react": "^18",
|
||||
"react-dom": "^18"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/next-on-pages": "1",
|
||||
"@cloudflare/workers-types": "^4.20240222.0",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^18",
|
||||
"@types/react-dom": "^18",
|
||||
"autoprefixer": "^10.0.1",
|
||||
"eslint": "^8",
|
||||
"eslint-config-next": "14.1.0",
|
||||
"eslint-plugin-next-on-pages": "^1.9.0",
|
||||
"postcss": "^8",
|
||||
"tailwindcss": "^3.3.0",
|
||||
"typescript": "^5",
|
||||
"vercel": "^33.5.2",
|
||||
"wrangler": "^3.29.0"
|
||||
}
|
||||
}
|
||||
5142
apps/anycontext-front/pnpm-lock.yaml
generated
|
|
@ -1,22 +0,0 @@
|
|||
import { db } from "@/server/db";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { sessions, users } from "@/server/db/schema";
|
||||
import { type NextRequest, NextResponse } from "next/server";
|
||||
|
||||
export const runtime = "edge";
|
||||
|
||||
export async function GET(req: NextRequest) {
|
||||
try {
|
||||
const token = req.cookies.get("next-auth.session-token")?.value ?? req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
const session = await db.select().from(sessions).where(eq(sessions.sessionToken, token!))
|
||||
.leftJoin(users, eq(sessions.userId, users.id))
|
||||
|
||||
if (!session || session.length === 0) {
|
||||
return NextResponse.json({ message: "Invalid Key, session not found." }, { status: 404 });
|
||||
}
|
||||
return NextResponse.json({ message: "OK", data: session[0] }, { status: 200 });
|
||||
} catch (error) {
|
||||
return NextResponse.json({ message: "Error", error }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
import type { Metadata } from "next";
|
||||
import { Inter } from "next/font/google";
|
||||
import "./globals.css";
|
||||
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App",
|
||||
description: "Generated by create next app",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
import Image from "next/image";
|
||||
import MessagePoster from "./MessagePoster";
|
||||
import { cookies } from "next/headers";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<MessagePoster jwt={cookies().get('next-auth.session-token')?.value!} />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
import { createEnv } from "@t3-oss/env-nextjs";
|
||||
import { z } from "zod";
|
||||
|
||||
export const env = process.env
|
||||
|
||||
// export const env = createEnv({
|
||||
// /**
|
||||
// * Specify your server-side environment variables schema here. This way you can ensure the app
|
||||
// * isn't built with invalid env vars.
|
||||
// */
|
||||
// server: {
|
||||
// DATABASE_URL: z
|
||||
// .string()
|
||||
// .refine(
|
||||
// (str) => !str.includes("YOUR_MYSQL_URL_HERE"),
|
||||
// "You forgot to change the default URL"
|
||||
// ),
|
||||
// NODE_ENV: z
|
||||
// .enum(["development", "test", "production"])
|
||||
// .default("development"),
|
||||
// NEXTAUTH_SECRET:
|
||||
// process.env.NODE_ENV === "production"
|
||||
// ? z.string()
|
||||
// : z.string().optional(),
|
||||
// NEXTAUTH_URL: z.preprocess(
|
||||
// // This makes Vercel deployments not fail if you don't set NEXTAUTH_URL
|
||||
// // Since NextAuth.js automatically uses the VERCEL_URL if present.
|
||||
// (str) => process.env.VERCEL_URL ?? str,
|
||||
// // VERCEL_URL doesn't include `https` so it cant be validated as a URL
|
||||
// process.env.VERCEL ? z.string() : z.string().url()
|
||||
// ),
|
||||
// GOOGLE_CLIENT_ID: z.string(),
|
||||
// GOOGLE_CLIENT_SECRET: z.string()
|
||||
// },
|
||||
|
||||
// /**
|
||||
// * Specify your client-side environment variables schema here. This way you can ensure the app
|
||||
// * isn't built with invalid env vars. To expose them to the client, prefix them with
|
||||
// * `NEXT_PUBLIC_`.
|
||||
// */
|
||||
// client: {
|
||||
// // NEXT_PUBLIC_CLIENTVAR: z.string(),
|
||||
// },
|
||||
|
||||
// /**
|
||||
// * You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g.
|
||||
// * middlewares) or client-side so we need to destruct manually.
|
||||
// */
|
||||
// runtimeEnv: {
|
||||
// DATABASE_URL: process.env.DATABASE_URL,
|
||||
// NODE_ENV: process.env.NODE_ENV,
|
||||
// NEXTAUTH_SECRET: process.env.NEXTAUTH_SECRET,
|
||||
// NEXTAUTH_URL: process.env.NEXTAUTH_URL,
|
||||
// GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,
|
||||
// GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET,
|
||||
// },
|
||||
// /**
|
||||
// * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially
|
||||
// * useful for Docker builds.
|
||||
// */
|
||||
// skipValidation: !!process.env.SKIP_ENV_VALIDATION,
|
||||
// /**
|
||||
// * Makes it so that empty strings are treated as undefined. `SOME_VAR: z.string()` and
|
||||
// * `SOME_VAR=''` will throw an error.
|
||||
// */
|
||||
// emptyStringAsUndefined: true,
|
||||
// });
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
import { env } from "@/env";
|
||||
import { DrizzleAdapter } from "@auth/drizzle-adapter";
|
||||
import NextAuth, { DefaultSession } from "next-auth";
|
||||
import { Adapter } from "next-auth/adapters";
|
||||
import Google from "next-auth/providers/google";
|
||||
import { db } from "./db";
|
||||
import { createTable } from "./db/schema";
|
||||
|
||||
export const {
|
||||
handlers: { GET, POST },
|
||||
auth,
|
||||
} = NextAuth({
|
||||
secret: env.NEXTAUTH_SECRET,
|
||||
callbacks: {
|
||||
session: ({session, token}) => ({
|
||||
...session,
|
||||
user: {
|
||||
...session.user,
|
||||
id: token.id as string,
|
||||
token
|
||||
},
|
||||
})
|
||||
},
|
||||
adapter: DrizzleAdapter(db, createTable) as Adapter,
|
||||
providers: [
|
||||
Google({
|
||||
clientId: env.GOOGLE_CLIENT_ID,
|
||||
clientSecret: env.GOOGLE_CLIENT_SECRET,
|
||||
authorization: {
|
||||
params: {
|
||||
prompt: "consent",
|
||||
response_type: "code",
|
||||
},
|
||||
},
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
import { drizzle } from 'drizzle-orm/d1';
|
||||
|
||||
import * as schema from "./schema";
|
||||
|
||||
export const db = drizzle(
|
||||
process.env.DATABASE as unknown as D1Database,
|
||||
{ schema }
|
||||
);
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
import { relations, sql } from "drizzle-orm";
|
||||
import {
|
||||
index,
|
||||
int,
|
||||
primaryKey,
|
||||
sqliteTableCreator,
|
||||
text,
|
||||
} from "drizzle-orm/sqlite-core";
|
||||
import { type AdapterAccount } from "next-auth/adapters";
|
||||
|
||||
/**
|
||||
* This is an example of how to use the multi-project schema feature of Drizzle ORM. Use the same
|
||||
* database instance for multiple projects.
|
||||
*
|
||||
* @see https://orm.drizzle.team/docs/goodies#multi-project-schema
|
||||
*/
|
||||
export const createTable = sqliteTableCreator((name) => `anycontext_${name}`);
|
||||
|
||||
export const posts = createTable(
|
||||
"post",
|
||||
{
|
||||
id: int("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||
name: text("name", { length: 256 }),
|
||||
createdById: text("createdById", { length: 255 })
|
||||
.notNull()
|
||||
.references(() => users.id),
|
||||
createdAt: int("created_at", { mode: "timestamp" })
|
||||
.default(sql`CURRENT_TIMESTAMP`)
|
||||
.notNull(),
|
||||
updatedAt: int("updatedAt", { mode: "timestamp" }),
|
||||
},
|
||||
(example) => ({
|
||||
createdByIdIdx: index("createdById_idx").on(example.createdById),
|
||||
nameIndex: index("name_idx").on(example.name),
|
||||
})
|
||||
);
|
||||
|
||||
export const users = createTable("user", {
|
||||
id: text("id", { length: 255 }).notNull().primaryKey(),
|
||||
name: text("name", { length: 255 }),
|
||||
email: text("email", { length: 255 }).notNull(),
|
||||
emailVerified: int("emailVerified", {
|
||||
mode: "timestamp",
|
||||
}).default(sql`CURRENT_TIMESTAMP`),
|
||||
image: text("image", { length: 255 }),
|
||||
});
|
||||
|
||||
export const usersRelations = relations(users, ({ many }) => ({
|
||||
accounts: many(accounts),
|
||||
}));
|
||||
|
||||
export const accounts = createTable(
|
||||
"account",
|
||||
{
|
||||
userId: text("userId", { length: 255 })
|
||||
.notNull()
|
||||
.references(() => users.id),
|
||||
type: text("type", { length: 255 })
|
||||
.$type<AdapterAccount["type"]>()
|
||||
.notNull(),
|
||||
provider: text("provider", { length: 255 }).notNull(),
|
||||
providerAccountId: text("providerAccountId", { length: 255 }).notNull(),
|
||||
refresh_token: text("refresh_token"),
|
||||
access_token: text("access_token"),
|
||||
expires_at: int("expires_at"),
|
||||
token_type: text("token_type", { length: 255 }),
|
||||
scope: text("scope", { length: 255 }),
|
||||
id_token: text("id_token"),
|
||||
session_state: text("session_state", { length: 255 }),
|
||||
},
|
||||
(account) => ({
|
||||
compoundKey: primaryKey({
|
||||
columns: [account.provider, account.providerAccountId],
|
||||
}),
|
||||
userIdIdx: index("account_userId_idx").on(account.userId),
|
||||
})
|
||||
);
|
||||
|
||||
export const accountsRelations = relations(accounts, ({ one }) => ({
|
||||
user: one(users, { fields: [accounts.userId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const sessions = createTable(
|
||||
"session",
|
||||
{
|
||||
sessionToken: text("sessionToken", { length: 255 }).notNull().primaryKey(),
|
||||
userId: text("userId", { length: 255 })
|
||||
.notNull()
|
||||
.references(() => users.id),
|
||||
expires: int("expires", { mode: "timestamp" }).notNull(),
|
||||
},
|
||||
(session) => ({
|
||||
userIdIdx: index("session_userId_idx").on(session.userId),
|
||||
})
|
||||
);
|
||||
|
||||
export const sessionsRelations = relations(sessions, ({ one }) => ({
|
||||
user: one(users, { fields: [sessions.userId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const verificationTokens = createTable(
|
||||
"verificationToken",
|
||||
{
|
||||
identifier: text("identifier", { length: 255 }).notNull(),
|
||||
token: text("token", { length: 255 }).notNull(),
|
||||
expires: int("expires", { mode: "timestamp" }).notNull(),
|
||||
},
|
||||
(vt) => ({
|
||||
compoundKey: primaryKey({ columns: [vt.identifier, vt.token] }),
|
||||
})
|
||||
);
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
import type { Config } from "tailwindcss";
|
||||
|
||||
const config: Config = {
|
||||
content: [
|
||||
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
],
|
||||
theme: {
|
||||
extend: {
|
||||
backgroundImage: {
|
||||
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
|
||||
"gradient-conic":
|
||||
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
export default config;
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"incremental": true,
|
||||
"plugins": [
|
||||
{
|
||||
"name": "next"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
"types": [
|
||||
"@cloudflare/workers-types/2023-07-01"
|
||||
]
|
||||
},
|
||||
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
name = "anycontext-front"
|
||||
compatibility_date = "2024-02-23"
|
||||
|
||||
compatibility_flags = ["nodejs_compat"]
|
||||
|
||||
[[d1_databases]]
|
||||
binding = "DB" # i.e. available in your Worker on env.DB
|
||||
database_name = "dev-d1-anycontext"
|
||||
database_id = "fc562605-157a-4f60-b439-2a24ffed5b4c"
|
||||
|
||||
# Variable bindings. These are arbitrary, plaintext strings (similar to environment variables)
|
||||
# Note: Use secrets to store sensitive data.
|
||||
# Docs: https://developers.cloudflare.com/workers/platform/environment-variables
|
||||
# [vars]
|
||||
# MY_VARIABLE = "production_value"
|
||||
|
||||
# Bind a KV Namespace. Use KV as persistent storage for small key-value pairs.
|
||||
# Docs: https://developers.cloudflare.com/workers/runtime-apis/kv
|
||||
# [[kv_namespaces]]
|
||||
# binding = "MY_KV_NAMESPACE"
|
||||
# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
||||
# Bind an R2 Bucket. Use R2 to store arbitrarily large blobs of data, such as files.
|
||||
# Docs: https://developers.cloudflare.com/r2/api/workers/workers-api-usage/
|
||||
# [[r2_buckets]]
|
||||
# binding = "MY_BUCKET"
|
||||
# bucket_name = "my-bucket"
|
||||
|
||||
# Bind a Queue producer. Use this binding to schedule an arbitrary task that may be processed later by a Queue consumer.
|
||||
# Docs: https://developers.cloudflare.com/queues/get-started
|
||||
# [[queues.producers]]
|
||||
# binding = "MY_QUEUE"
|
||||
# queue = "my-queue"
|
||||
|
||||
# Bind a Queue consumer. Queue Consumers can retrieve tasks scheduled by Producers to act on them.
|
||||
# Docs: https://developers.cloudflare.com/queues/get-started
|
||||
# [[queues.consumers]]
|
||||
# queue = "my-queue"
|
||||
|
||||
# Bind another Worker service. Use this binding to call another Worker without network overhead.
|
||||
# Docs: https://developers.cloudflare.com/workers/platform/services
|
||||
# [[services]]
|
||||
# binding = "MY_SERVICE"
|
||||
# service = "my-service"
|
||||
|
||||
# Bind a Durable Object. Durable objects are a scale-to-zero compute primitive based on the actor model.
|
||||
# Durable Objects can live for as long as needed. Use these when you need a long-running "server", such as in realtime apps.
|
||||
# Docs: https://developers.cloudflare.com/workers/runtime-apis/durable-objects
|
||||
# [[durable_objects.bindings]]
|
||||
# name = "MY_DURABLE_OBJECT"
|
||||
# class_name = "MyDurableObject"
|
||||
|
||||
# Durable Object migrations.
|
||||
# Docs: https://developers.cloudflare.com/workers/learning/using-durable-objects#configure-durable-object-classes-with-migrations
|
||||
# [[migrations]]
|
||||
# tag = "v1"
|
||||
# new_classes = ["MyDurableObject"]
|
||||
|
||||
# KV Example:
|
||||
# [[kv_namespaces]]
|
||||
# binding = "MY_KV"
|
||||
# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/vite/dist/node/index.js";
|
||||
import react from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@vitejs/plugin-react/dist/index.mjs";
|
||||
import { crx } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@crxjs/vite-plugin/dist/index.mjs";
|
||||
|
||||
// manifest.json
|
||||
var manifest_default = {
|
||||
manifest_version: 3,
|
||||
name: "Extension",
|
||||
version: "1.0.0",
|
||||
action: {
|
||||
default_popup: "index.html"
|
||||
},
|
||||
content_scripts: [
|
||||
{
|
||||
js: [
|
||||
"src/content.tsx"
|
||||
],
|
||||
matches: [
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
]
|
||||
}
|
||||
],
|
||||
permissions: [
|
||||
"activeTab",
|
||||
"storage",
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
],
|
||||
background: {
|
||||
service_worker: "src/background.ts"
|
||||
}
|
||||
};
|
||||
|
||||
// vite.config.ts
|
||||
var vite_config_default = defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
crx({ manifest: manifest_default })
|
||||
]
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAibWFuaWZlc3QuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9kaHJhdnlhc2hhaC9Eb2N1bWVudHMvY29kZS9hbnljb250ZXh0L2FwcHMvZXh0ZW5zaW9uXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3QnXG5pbXBvcnQgeyBjcnggfSBmcm9tICdAY3J4anMvdml0ZS1wbHVnaW4nXG5pbXBvcnQgbWFuaWZlc3QgZnJvbSAnLi9tYW5pZmVzdC5qc29uJ1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICBjcngoeyBtYW5pZmVzdCB9KSxcbiAgXSxcbn0pIiwgIntcbiAgICBcIm1hbmlmZXN0X3ZlcnNpb25cIjogMyxcbiAgICBcIm5hbWVcIjogXCJFeHRlbnNpb25cIixcbiAgICBcInZlcnNpb25cIjogXCIxLjAuMFwiLFxuICAgIFwiYWN0aW9uXCI6IHtcbiAgICAgICAgXCJkZWZhdWx0X3BvcHVwXCI6IFwiaW5kZXguaHRtbFwiXG4gICAgfSxcbiAgICBcImNvbnRlbnRfc2NyaXB0c1wiICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwianNcIjogW1xuICAgICAgICAgICAgICAgIFwic3JjL2NvbnRlbnQudHN4XCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIm1hdGNoZXNcIjogW1xuICAgICAgICAgICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vYW55Y29udGV4dC5kaHIud3RmLypcIlxuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBcInBlcm1pc3Npb25zXCI6IFtcbiAgICAgICAgXCJhY3RpdmVUYWJcIixcbiAgICAgICAgXCJzdG9yYWdlXCIsXG4gICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgXCJodHRwczovL2FueWNvbnRleHQuZGhyLnd0Zi8qXCJcbiAgICBdLFxuICAgIFwiYmFja2dyb3VuZFwiOiB7XG4gICAgICAgIFwic2VydmljZV93b3JrZXJcIjogXCJzcmMvYmFja2dyb3VuZC50c1wiXG4gICAgICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVyxTQUFTLG9CQUFvQjtBQUNoWSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxXQUFXOzs7QUNGcEI7QUFBQSxFQUNJLGtCQUFvQjtBQUFBLEVBQ3BCLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLFFBQVU7QUFBQSxJQUNOLGVBQWlCO0FBQUEsRUFDckI7QUFBQSxFQUNBLGlCQUFzQjtBQUFBLElBQ2xCO0FBQUEsTUFDSSxJQUFNO0FBQUEsUUFDRjtBQUFBLE1BQ0o7QUFBQSxNQUNBLFNBQVc7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLE1BQ0o7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQUFBLEVBQ0EsYUFBZTtBQUFBLElBQ1g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBQUEsRUFDQSxZQUFjO0FBQUEsSUFDVixnQkFBa0I7QUFBQSxFQUNwQjtBQUNOOzs7QUR0QkEsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sSUFBSSxFQUFFLDJCQUFTLENBQUM7QUFBQSxFQUNsQjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/vite/dist/node/index.js";
|
||||
import react from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@vitejs/plugin-react/dist/index.mjs";
|
||||
import { crx } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@crxjs/vite-plugin/dist/index.mjs";
|
||||
|
||||
// manifest.json
|
||||
var manifest_default = {
|
||||
manifest_version: 3,
|
||||
name: "Extension",
|
||||
version: "1.0.0",
|
||||
action: {
|
||||
default_popup: "index.html"
|
||||
},
|
||||
content_scripts: [
|
||||
{
|
||||
js: [
|
||||
"src/content.tsx"
|
||||
],
|
||||
matches: [
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
]
|
||||
}
|
||||
],
|
||||
permissions: [
|
||||
"activeTab",
|
||||
"storage",
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
],
|
||||
background: {
|
||||
service_worker: "src/background.ts"
|
||||
}
|
||||
};
|
||||
|
||||
// vite.config.ts
|
||||
var vite_config_default = defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
crx({ manifest: manifest_default })
|
||||
]
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAibWFuaWZlc3QuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9kaHJhdnlhc2hhaC9Eb2N1bWVudHMvY29kZS9hbnljb250ZXh0L2FwcHMvZXh0ZW5zaW9uXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3QnXG5pbXBvcnQgeyBjcnggfSBmcm9tICdAY3J4anMvdml0ZS1wbHVnaW4nXG5pbXBvcnQgbWFuaWZlc3QgZnJvbSAnLi9tYW5pZmVzdC5qc29uJ1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICBjcngoeyBtYW5pZmVzdCB9KSxcbiAgXSxcbn0pIiwgIntcbiAgICBcIm1hbmlmZXN0X3ZlcnNpb25cIjogMyxcbiAgICBcIm5hbWVcIjogXCJFeHRlbnNpb25cIixcbiAgICBcInZlcnNpb25cIjogXCIxLjAuMFwiLFxuICAgIFwiYWN0aW9uXCI6IHtcbiAgICAgICAgXCJkZWZhdWx0X3BvcHVwXCI6IFwiaW5kZXguaHRtbFwiXG4gICAgfSxcbiAgICBcImNvbnRlbnRfc2NyaXB0c1wiICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwianNcIjogW1xuICAgICAgICAgICAgICAgIFwic3JjL2NvbnRlbnQudHN4XCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIm1hdGNoZXNcIjogW1xuICAgICAgICAgICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vYW55Y29udGV4dC5kaHIud3RmLypcIlxuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBcInBlcm1pc3Npb25zXCI6IFtcbiAgICAgICAgXCJhY3RpdmVUYWJcIixcbiAgICAgICAgXCJzdG9yYWdlXCIsXG4gICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgXCJodHRwczovL2FueWNvbnRleHQuZGhyLnd0Zi8qXCJcbiAgICBdLFxuICAgIFwiYmFja2dyb3VuZFwiOiB7XG4gICAgICAgIFwic2VydmljZV93b3JrZXJcIjogXCJzcmMvYmFja2dyb3VuZC50c1wiXG4gICAgICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVyxTQUFTLG9CQUFvQjtBQUNoWSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxXQUFXOzs7QUNGcEI7QUFBQSxFQUNJLGtCQUFvQjtBQUFBLEVBQ3BCLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLFFBQVU7QUFBQSxJQUNOLGVBQWlCO0FBQUEsRUFDckI7QUFBQSxFQUNBLGlCQUFzQjtBQUFBLElBQ2xCO0FBQUEsTUFDSSxJQUFNO0FBQUEsUUFDRjtBQUFBLE1BQ0o7QUFBQSxNQUNBLFNBQVc7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLE1BQ0o7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQUFBLEVBQ0EsYUFBZTtBQUFBLElBQ1g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBQUEsRUFDQSxZQUFjO0FBQUEsSUFDVixnQkFBa0I7QUFBQSxFQUNwQjtBQUNOOzs7QUR0QkEsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sSUFBSSxFQUFFLDJCQUFTLENBQUM7QUFBQSxFQUNsQjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/vite/dist/node/index.js";
|
||||
import react from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@vitejs/plugin-react/dist/index.mjs";
|
||||
import { crx } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@crxjs/vite-plugin/dist/index.mjs";
|
||||
|
||||
// manifest.json
|
||||
var manifest_default = {
|
||||
manifest_version: 3,
|
||||
name: "Extension",
|
||||
version: "1.0.0",
|
||||
action: {
|
||||
default_popup: "index.html"
|
||||
},
|
||||
content_scripts: [
|
||||
{
|
||||
js: [
|
||||
"src/content.tsx"
|
||||
],
|
||||
matches: [
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
]
|
||||
}
|
||||
],
|
||||
permissions: [
|
||||
"activeTab",
|
||||
"storage",
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
],
|
||||
background: {
|
||||
service_worker: "src/background.ts"
|
||||
}
|
||||
};
|
||||
|
||||
// vite.config.ts
|
||||
var vite_config_default = defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
crx({ manifest: manifest_default })
|
||||
]
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAibWFuaWZlc3QuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9kaHJhdnlhc2hhaC9Eb2N1bWVudHMvY29kZS9hbnljb250ZXh0L2FwcHMvZXh0ZW5zaW9uXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3QnXG5pbXBvcnQgeyBjcnggfSBmcm9tICdAY3J4anMvdml0ZS1wbHVnaW4nXG5pbXBvcnQgbWFuaWZlc3QgZnJvbSAnLi9tYW5pZmVzdC5qc29uJ1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICBjcngoeyBtYW5pZmVzdCB9KSxcbiAgXSxcbn0pIiwgIntcbiAgICBcIm1hbmlmZXN0X3ZlcnNpb25cIjogMyxcbiAgICBcIm5hbWVcIjogXCJFeHRlbnNpb25cIixcbiAgICBcInZlcnNpb25cIjogXCIxLjAuMFwiLFxuICAgIFwiYWN0aW9uXCI6IHtcbiAgICAgICAgXCJkZWZhdWx0X3BvcHVwXCI6IFwiaW5kZXguaHRtbFwiXG4gICAgfSxcbiAgICBcImNvbnRlbnRfc2NyaXB0c1wiICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwianNcIjogW1xuICAgICAgICAgICAgICAgIFwic3JjL2NvbnRlbnQudHN4XCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIm1hdGNoZXNcIjogW1xuICAgICAgICAgICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vYW55Y29udGV4dC5kaHIud3RmLypcIlxuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBcInBlcm1pc3Npb25zXCI6IFtcbiAgICAgICAgXCJhY3RpdmVUYWJcIixcbiAgICAgICAgXCJzdG9yYWdlXCIsXG4gICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgXCJodHRwczovL2FueWNvbnRleHQuZGhyLnd0Zi8qXCJcbiAgICBdLFxuICAgIFwiYmFja2dyb3VuZFwiOiB7XG4gICAgICAgIFwic2VydmljZV93b3JrZXJcIjogXCJzcmMvYmFja2dyb3VuZC50c1wiXG4gICAgICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVyxTQUFTLG9CQUFvQjtBQUNoWSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxXQUFXOzs7QUNGcEI7QUFBQSxFQUNJLGtCQUFvQjtBQUFBLEVBQ3BCLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLFFBQVU7QUFBQSxJQUNOLGVBQWlCO0FBQUEsRUFDckI7QUFBQSxFQUNBLGlCQUFzQjtBQUFBLElBQ2xCO0FBQUEsTUFDSSxJQUFNO0FBQUEsUUFDRjtBQUFBLE1BQ0o7QUFBQSxNQUNBLFNBQVc7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLE1BQ0o7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQUFBLEVBQ0EsYUFBZTtBQUFBLElBQ1g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBQUEsRUFDQSxZQUFjO0FBQUEsSUFDVixnQkFBa0I7QUFBQSxFQUNwQjtBQUNOOzs7QUR0QkEsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sSUFBSSxFQUFFLDJCQUFTLENBQUM7QUFBQSxFQUNsQjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
// vite.config.ts
|
||||
import { defineConfig } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/vite/dist/node/index.js";
|
||||
import react from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@vitejs/plugin-react/dist/index.mjs";
|
||||
import { crx } from "file:///Users/dhravyashah/Documents/code/anycontext/node_modules/@crxjs/vite-plugin/dist/index.mjs";
|
||||
|
||||
// manifest.json
|
||||
var manifest_default = {
|
||||
manifest_version: 3,
|
||||
name: "Extension",
|
||||
version: "1.0.0",
|
||||
action: {
|
||||
default_popup: "index.html"
|
||||
},
|
||||
content_scripts: [
|
||||
{
|
||||
js: [
|
||||
"src/content.tsx"
|
||||
],
|
||||
matches: [
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
]
|
||||
}
|
||||
],
|
||||
permissions: [
|
||||
"activeTab",
|
||||
"storage",
|
||||
"http://localhost:3000/*",
|
||||
"https://anycontext.dhr.wtf/*"
|
||||
],
|
||||
background: {
|
||||
service_worker: "src/background.ts"
|
||||
}
|
||||
};
|
||||
|
||||
// vite.config.ts
|
||||
var vite_config_default = defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
crx({ manifest: manifest_default })
|
||||
]
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAibWFuaWZlc3QuanNvbiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9kaHJhdnlhc2hhaC9Eb2N1bWVudHMvY29kZS9hbnljb250ZXh0L2FwcHMvZXh0ZW5zaW9uXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvZGhyYXZ5YXNoYWgvRG9jdW1lbnRzL2NvZGUvYW55Y29udGV4dC9hcHBzL2V4dGVuc2lvbi92aXRlLmNvbmZpZy50c1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgcmVhY3QgZnJvbSAnQHZpdGVqcy9wbHVnaW4tcmVhY3QnXG5pbXBvcnQgeyBjcnggfSBmcm9tICdAY3J4anMvdml0ZS1wbHVnaW4nXG5pbXBvcnQgbWFuaWZlc3QgZnJvbSAnLi9tYW5pZmVzdC5qc29uJ1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbXG4gICAgcmVhY3QoKSxcbiAgICBjcngoeyBtYW5pZmVzdCB9KSxcbiAgXSxcbn0pIiwgIntcbiAgICBcIm1hbmlmZXN0X3ZlcnNpb25cIjogMyxcbiAgICBcIm5hbWVcIjogXCJFeHRlbnNpb25cIixcbiAgICBcInZlcnNpb25cIjogXCIxLjAuMFwiLFxuICAgIFwiYWN0aW9uXCI6IHtcbiAgICAgICAgXCJkZWZhdWx0X3BvcHVwXCI6IFwiaW5kZXguaHRtbFwiXG4gICAgfSxcbiAgICBcImNvbnRlbnRfc2NyaXB0c1wiICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIFwianNcIjogW1xuICAgICAgICAgICAgICAgIFwic3JjL2NvbnRlbnQudHN4XCJcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIm1hdGNoZXNcIjogW1xuICAgICAgICAgICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vYW55Y29udGV4dC5kaHIud3RmLypcIlxuICAgICAgICAgICAgXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBcInBlcm1pc3Npb25zXCI6IFtcbiAgICAgICAgXCJhY3RpdmVUYWJcIixcbiAgICAgICAgXCJzdG9yYWdlXCIsXG4gICAgICAgIFwiaHR0cDovL2xvY2FsaG9zdDozMDAwLypcIixcbiAgICAgICAgXCJodHRwczovL2FueWNvbnRleHQuZGhyLnd0Zi8qXCJcbiAgICBdLFxuICAgIFwiYmFja2dyb3VuZFwiOiB7XG4gICAgICAgIFwic2VydmljZV93b3JrZXJcIjogXCJzcmMvYmFja2dyb3VuZC50c1wiXG4gICAgICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVyxTQUFTLG9CQUFvQjtBQUNoWSxPQUFPLFdBQVc7QUFDbEIsU0FBUyxXQUFXOzs7QUNGcEI7QUFBQSxFQUNJLGtCQUFvQjtBQUFBLEVBQ3BCLE1BQVE7QUFBQSxFQUNSLFNBQVc7QUFBQSxFQUNYLFFBQVU7QUFBQSxJQUNOLGVBQWlCO0FBQUEsRUFDckI7QUFBQSxFQUNBLGlCQUFzQjtBQUFBLElBQ2xCO0FBQUEsTUFDSSxJQUFNO0FBQUEsUUFDRjtBQUFBLE1BQ0o7QUFBQSxNQUNBLFNBQVc7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLE1BQ0o7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQUFBLEVBQ0EsYUFBZTtBQUFBLElBQ1g7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBQUEsRUFDQSxZQUFjO0FBQUEsSUFDVixnQkFBa0I7QUFBQSxFQUNwQjtBQUNOOzs7QUR0QkEsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sSUFBSSxFQUFFLDJCQUFTLENBQUM7QUFBQSxFQUNsQjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
# Since the ".env" file is gitignored, you can use the ".env.example" file to
|
||||
# build a new ".env" file when you clone the repo. Keep this file up-to-date
|
||||
# when you add new variables to `.env`.
|
||||
|
||||
# This file will be committed to version control, so make sure not to have any
|
||||
# secrets in it. If you are cloning this repo, create a copy of this file named
|
||||
# ".env" and populate it with your secrets.
|
||||
|
||||
# When adding additional environment variables, the schema in "/src/env.js"
|
||||
# should be updated accordingly.
|
||||
|
||||
# Drizzle
|
||||
DATABASE_URL="db.sqlite"
|
||||
|
||||
# Next Auth
|
||||
# You can generate a new secret on the command line with:
|
||||
# openssl rand -base64 32
|
||||
# https://next-auth.js.org/configuration/options#secret
|
||||
# NEXTAUTH_SECRET=""
|
||||
NEXTAUTH_URL="http://localhost:3000"
|
||||
|
||||
GOOGLE_CLIENT_ID=""
|
||||
GOOGLE_CLIENT_SECRET=""
|
||||
|
|
@ -1 +1 @@
|
|||
yGeZZitS1W4Rar-yoH8R4
|
||||
Dzt6IsHhCHGe9WiNGLhTL
|
||||
|
|
@ -1,26 +1,27 @@
|
|||
{
|
||||
"pages": {
|
||||
"/_not-found": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/1dd3208c-2005e60b0a14e8cf.js",
|
||||
"static/chunks/592-5c5d911cde380a88.js",
|
||||
"static/chunks/main-app-d5cb99754851a14f.js",
|
||||
"static/chunks/app/_not-found-9e9112d43c609e89.js"
|
||||
"/not-found": [
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/30b509c0-d7721ce4b2012053.js",
|
||||
"static/chunks/25-2f3c60275645c813.js",
|
||||
"static/chunks/main-app-8b951cccf46caf8d.js",
|
||||
"static/chunks/app/not-found-dbc30055295c6650.js"
|
||||
],
|
||||
"/layout": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/1dd3208c-2005e60b0a14e8cf.js",
|
||||
"static/chunks/592-5c5d911cde380a88.js",
|
||||
"static/chunks/main-app-d5cb99754851a14f.js",
|
||||
"static/css/6c15d7e3526590b3.css",
|
||||
"static/chunks/app/layout-dff3f08819de4584.js"
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/30b509c0-d7721ce4b2012053.js",
|
||||
"static/chunks/25-2f3c60275645c813.js",
|
||||
"static/chunks/main-app-8b951cccf46caf8d.js",
|
||||
"static/css/f49cbca4efddb667.css",
|
||||
"static/chunks/app/layout-8724649705a2decf.js"
|
||||
],
|
||||
"/page": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/1dd3208c-2005e60b0a14e8cf.js",
|
||||
"static/chunks/592-5c5d911cde380a88.js",
|
||||
"static/chunks/main-app-d5cb99754851a14f.js",
|
||||
"static/chunks/app/page-eb5778122b1e1134.js"
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/30b509c0-d7721ce4b2012053.js",
|
||||
"static/chunks/25-2f3c60275645c813.js",
|
||||
"static/chunks/main-app-8b951cccf46caf8d.js",
|
||||
"static/chunks/555-34d63392644740e6.js",
|
||||
"static/chunks/app/page-79713ef49f738bb2.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
{"/_not-found":"/_not-found","/api/auth/[...nextauth]/route":"/api/auth/[...nextauth]","/page":"/","/api/store/route":"/api/store"}
|
||||
{"/favicon.ico/route":"/favicon.ico","/api/[...nextauth]/route":"/api/[...nextauth]","/api/hello/route":"/api/hello","/page":"/","/_not-found":"/_not-found","/api/store/route":"/api/store"}
|
||||
|
|
@ -5,27 +5,27 @@
|
|||
"devFiles": [],
|
||||
"ampDevFiles": [],
|
||||
"lowPriorityFiles": [
|
||||
"static/yGeZZitS1W4Rar-yoH8R4/_buildManifest.js",
|
||||
"static/yGeZZitS1W4Rar-yoH8R4/_ssgManifest.js"
|
||||
"static/Dzt6IsHhCHGe9WiNGLhTL/_buildManifest.js",
|
||||
"static/Dzt6IsHhCHGe9WiNGLhTL/_ssgManifest.js"
|
||||
],
|
||||
"rootMainFiles": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/1dd3208c-2005e60b0a14e8cf.js",
|
||||
"static/chunks/592-5c5d911cde380a88.js",
|
||||
"static/chunks/main-app-d5cb99754851a14f.js"
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/30b509c0-d7721ce4b2012053.js",
|
||||
"static/chunks/25-2f3c60275645c813.js",
|
||||
"static/chunks/main-app-8b951cccf46caf8d.js"
|
||||
],
|
||||
"pages": {
|
||||
"/_app": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/framework-9e68550641db712d.js",
|
||||
"static/chunks/main-c034f34a8f0f2967.js",
|
||||
"static/chunks/pages/_app-22ef1381f3010e9c.js"
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/framework-c25027af42eb8c45.js",
|
||||
"static/chunks/main-2d7b2ac4e61285c5.js",
|
||||
"static/chunks/pages/_app-508d387925ef2fa9.js"
|
||||
],
|
||||
"/_error": [
|
||||
"static/chunks/webpack-7c56eb6342069862.js",
|
||||
"static/chunks/framework-9e68550641db712d.js",
|
||||
"static/chunks/main-c034f34a8f0f2967.js",
|
||||
"static/chunks/pages/_error-2312f57de16788ac.js"
|
||||
"static/chunks/webpack-511881c2eef3fe2b.js",
|
||||
"static/chunks/framework-c25027af42eb8c45.js",
|
||||
"static/chunks/main-2d7b2ac4e61285c5.js",
|
||||
"static/chunks/pages/_error-e16765248192e4ee.js"
|
||||
]
|
||||
},
|
||||
"ampFirstPages": []
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
self.__PRERENDER_MANIFEST="{\"version\":4,\"routes\":{},\"dynamicRoutes\":{},\"notFoundRoutes\":[],\"preview\":{\"previewModeId\":\"417742a5ccc596e5e0610b4af55422bc\",\"previewModeSigningKey\":\"e418f6fa63cd3d4396e138fdc0d94b9c40df8ae2a870b0bdd8b31cddbfcdff0f\",\"previewModeEncryptionKey\":\"0aa379bab80d288a5661685816c5bca7f5949e1b3f8f2e2f38b2b05f0a93eca9\"}}"
|
||||
self.__PRERENDER_MANIFEST="{\"version\":4,\"routes\":{\"/favicon.ico\":{\"initialHeaders\":{\"cache-control\":\"public, max-age=0, must-revalidate\",\"content-type\":\"image/x-icon\",\"x-next-cache-tags\":\"_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico\"},\"experimentalBypassFor\":[{\"type\":\"header\",\"key\":\"Next-Action\"},{\"type\":\"header\",\"key\":\"content-type\",\"value\":\"multipart/form-data\"}],\"initialRevalidateSeconds\":false,\"srcRoute\":\"/favicon.ico\",\"dataRoute\":null}},\"dynamicRoutes\":{},\"notFoundRoutes\":[],\"preview\":{\"previewModeId\":\"28df19619c2e1683a407a6323c063b4e\",\"previewModeSigningKey\":\"5ed17b233dddac246ccc5bc2348bbac695490faf8a0d6aeedd74563724bdbcb2\",\"previewModeEncryptionKey\":\"17c5ff193df2829a76126e357e9c8602037791ec19c8cb6f80e61203027eccde\"}}"
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":4,"routes":{},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"417742a5ccc596e5e0610b4af55422bc","previewModeSigningKey":"e418f6fa63cd3d4396e138fdc0d94b9c40df8ae2a870b0bdd8b31cddbfcdff0f","previewModeEncryptionKey":"0aa379bab80d288a5661685816c5bca7f5949e1b3f8f2e2f38b2b05f0a93eca9"}}
|
||||
{"version":4,"routes":{"/favicon.ico":{"initialHeaders":{"cache-control":"public, max-age=0, must-revalidate","content-type":"image/x-icon","x-next-cache-tags":"_N_T_/layout,_N_T_/favicon.ico/layout,_N_T_/favicon.ico/route,_N_T_/favicon.ico"},"experimentalBypassFor":[{"type":"header","key":"Next-Action"},{"type":"header","key":"content-type","value":"multipart/form-data"}],"initialRevalidateSeconds":false,"srcRoute":"/favicon.ico","dataRoute":null}},"dynamicRoutes":{},"notFoundRoutes":[],"preview":{"previewModeId":"28df19619c2e1683a407a6323c063b4e","previewModeSigningKey":"5ed17b233dddac246ccc5bc2348bbac695490faf8a0d6aeedd74563724bdbcb2","previewModeEncryptionKey":"17c5ff193df2829a76126e357e9c8602037791ec19c8cb6f80e61203027eccde"}}
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":1,"config":{"env":{},"webpack":null,"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"distDir":".next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.js","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":false,"analyticsId":"","images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"inline","remotePatterns":[],"unoptimized":false},"devIndicators":{"buildActivity":true,"buildActivityPosition":"bottom-right"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"optimizeFonts":true,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":null,"httpAgentOptions":{"keepAlive":true},"outputFileTracing":true,"staticPageGenerationTimeout":60,"swcMinify":true,"modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"},"next/server":{"transform":"next/dist/server/web/exports/{{ kebabCase member }}"}},"experimental":{"serverMinification":true,"serverSourceMaps":false,"caseSensitiveRoutes":false,"useDeploymentId":false,"useDeploymentIdServerActions":false,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"outputFileTracingRoot":"/Users/dhravyashah/Documents/code/anycontext/apps/web","swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"adjustFontFallbacks":false,"adjustFontFallbacksWithSizeAdjust":false,"typedRoutes":false,"instrumentationHook":false,"bundlePagesExternals":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"missingSuspenseWithCSRBailout":true,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":true,"isExperimentalCompile":false},"configFileName":"next.config.js"},"appDir":"/Users/dhravyashah/Documents/code/anycontext/apps/web","relativeAppDir":"","files":[".next/routes-manifest.json",".next/server/pages-manifest.json",".next/build-manifest.json",".next/prerender-manifest.json",".next/prerender-manifest.js",".next/server/middleware-manifest.json",".next/server/middleware-build-manifest.js",".next/server/middleware-react-loadable-manifest.js",".next/server/app-paths-manifest.json",".next/app-path-routes-manifest.json",".next/app-build-manifest.json",".next/server/server-reference-manifest.js",".next/server/server-reference-manifest.json",".next/react-loadable-manifest.json",".next/server/font-manifest.json",".next/BUILD_ID",".next/server/next-font-manifest.js",".next/server/next-font-manifest.json"],"ignore":["../../node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"]}
|
||||
{"version":1,"config":{"env":{},"webpack":null,"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"distDir":".next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":false,"analyticsId":"","images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"inline","remotePatterns":[],"unoptimized":false},"devIndicators":{"buildActivity":true,"buildActivityPosition":"bottom-right"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"optimizeFonts":true,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":null,"httpAgentOptions":{"keepAlive":true},"outputFileTracing":true,"staticPageGenerationTimeout":60,"swcMinify":true,"modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"},"next/server":{"transform":"next/dist/server/web/exports/{{ kebabCase member }}"}},"experimental":{"serverMinification":true,"serverSourceMaps":false,"caseSensitiveRoutes":false,"useDeploymentId":false,"useDeploymentIdServerActions":false,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"outputFileTracingRoot":"/Users/dhravyashah/Documents/code/anycontext/apps/web","swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"adjustFontFallbacks":false,"adjustFontFallbacksWithSizeAdjust":false,"typedRoutes":false,"instrumentationHook":false,"bundlePagesExternals":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"missingSuspenseWithCSRBailout":true,"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":true,"isExperimentalCompile":false},"configFileName":"next.config.mjs"},"appDir":"/Users/dhravyashah/Documents/code/anycontext/apps/web","relativeAppDir":"","files":[".next/routes-manifest.json",".next/server/pages-manifest.json",".next/build-manifest.json",".next/prerender-manifest.json",".next/prerender-manifest.js",".next/server/middleware-manifest.json",".next/server/middleware-build-manifest.js",".next/server/middleware-react-loadable-manifest.js",".next/server/app-paths-manifest.json",".next/app-path-routes-manifest.json",".next/app-build-manifest.json",".next/server/server-reference-manifest.js",".next/server/server-reference-manifest.json",".next/react-loadable-manifest.json",".next/server/font-manifest.json",".next/BUILD_ID",".next/server/next-font-manifest.js",".next/server/next-font-manifest.json"],"ignore":["node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"]}
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"pages404":true,"caseSensitive":false,"basePath":"","redirects":[{"source":"/:path+/","destination":"/:path+","internal":true,"statusCode":308,"regex":"^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"}],"headers":[],"dynamicRoutes":[{"page":"/api/auth/[...nextauth]","regex":"^/api/auth/(.+?)(?:/)?$","routeKeys":{"nxtPnextauth":"nxtPnextauth"},"namedRegex":"^/api/auth/(?<nxtPnextauth>.+?)(?:/)?$"}],"staticRoutes":[{"page":"/","regex":"^/(?:/)?$","routeKeys":{},"namedRegex":"^/(?:/)?$"},{"page":"/_not-found","regex":"^/_not\\-found(?:/)?$","routeKeys":{},"namedRegex":"^/_not\\-found(?:/)?$"}],"dataRoutes":[],"rsc":{"header":"RSC","varyHeader":"RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Url","prefetchHeader":"Next-Router-Prefetch","didPostponeHeader":"x-nextjs-postponed","contentTypeHeader":"text/x-component","suffix":".rsc","prefetchSuffix":".prefetch.rsc"},"rewrites":[]}
|
||||
{"version":3,"pages404":true,"caseSensitive":false,"basePath":"","redirects":[{"source":"/:path+/","destination":"/:path+","internal":true,"statusCode":308,"regex":"^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"}],"headers":[],"dynamicRoutes":[{"page":"/api/[...nextauth]","regex":"^/api/(.+?)(?:/)?$","routeKeys":{"nxtPnextauth":"nxtPnextauth"},"namedRegex":"^/api/(?<nxtPnextauth>.+?)(?:/)?$"}],"staticRoutes":[{"page":"/","regex":"^/(?:/)?$","routeKeys":{},"namedRegex":"^/(?:/)?$"},{"page":"/_not-found","regex":"^/_not\\-found(?:/)?$","routeKeys":{},"namedRegex":"^/_not\\-found(?:/)?$"},{"page":"/favicon.ico","regex":"^/favicon\\.ico(?:/)?$","routeKeys":{},"namedRegex":"^/favicon\\.ico(?:/)?$"}],"dataRoutes":[],"rsc":{"header":"RSC","varyHeader":"RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Url","prefetchHeader":"Next-Router-Prefetch","didPostponeHeader":"x-nextjs-postponed","contentTypeHeader":"text/x-component","suffix":".rsc","prefetchSuffix":".prefetch.rsc"},"rewrites":[]}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"/_not-found": "app/_not-found.js",
|
||||
"/api/auth/[...nextauth]/route": "app/api/auth/[...nextauth]/route.js",
|
||||
"/favicon.ico/route": "app/favicon.ico/route.js",
|
||||
"/api/[...nextauth]/route": "app/api/[...nextauth]/route.js",
|
||||
"/api/hello/route": "app/api/hello/route.js",
|
||||
"/page": "app/page.js",
|
||||
"/_not-found": "app/_not-found.js",
|
||||
"/api/store/route": "app/api/store/route.js"
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":1,"files":["../../package.json","../webpack-runtime.js","_not-found_client-reference-manifest.js"]}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"headers": {
|
||||
"x-next-cache-tags": "_N_T_/layout,_N_T_/_not-found/layout,_N_T_/_not-found"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
2:I[2172,[],""]
|
||||
3:I[2533,[],""]
|
||||
4:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
|
||||
5:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
|
||||
6:{"display":"inline-block"}
|
||||
7:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
|
||||
0:["yGeZZitS1W4Rar-yoH8R4",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"font-sans __variable_aaf875","children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$4","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$5","children":"404"}],["$","div",null,{"style":"$6","children":["$","h2",null,{"style":"$7","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6c15d7e3526590b3.css","precedence":"next","crossOrigin":""}]],"$L8"]]]]
|
||||
8:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Create T3 App"}],["$","meta","3",{"name":"description","content":"Generated by create-t3-app"}],["$","link","4",{"rel":"icon","href":"/favicon.ico"}],["$","meta","5",{"name":"next-size-adjust"}]]
|
||||
1:null
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":1,"functions":{"/api/auth/[...nextauth]":{},"/api/store":{},"/":{}}}
|
||||
{"version":1,"functions":{"/api/[...nextauth]":{},"/api/hello":{},"/":{},"/_not-found":{},"/api/store":{}}}
|
||||
|
|
@ -1 +1 @@
|
|||
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/yGeZZitS1W4Rar-yoH8R4/_buildManifest.js","static/yGeZZitS1W4Rar-yoH8R4/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-7c56eb6342069862.js","static/chunks/1dd3208c-2005e60b0a14e8cf.js","static/chunks/592-5c5d911cde380a88.js","static/chunks/main-app-d5cb99754851a14f.js"],pages:{"/_app":["static/chunks/webpack-7c56eb6342069862.js","static/chunks/framework-9e68550641db712d.js","static/chunks/main-c034f34a8f0f2967.js","static/chunks/pages/_app-22ef1381f3010e9c.js"],"/_error":["static/chunks/webpack-7c56eb6342069862.js","static/chunks/framework-9e68550641db712d.js","static/chunks/main-c034f34a8f0f2967.js","static/chunks/pages/_error-2312f57de16788ac.js"]},ampFirstPages:[]};
|
||||
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/Dzt6IsHhCHGe9WiNGLhTL/_buildManifest.js","static/Dzt6IsHhCHGe9WiNGLhTL/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-511881c2eef3fe2b.js","static/chunks/30b509c0-d7721ce4b2012053.js","static/chunks/25-2f3c60275645c813.js","static/chunks/main-app-8b951cccf46caf8d.js"],pages:{"/_app":["static/chunks/webpack-511881c2eef3fe2b.js","static/chunks/framework-c25027af42eb8c45.js","static/chunks/main-2d7b2ac4e61285c5.js","static/chunks/pages/_app-508d387925ef2fa9.js"],"/_error":["static/chunks/webpack-511881c2eef3fe2b.js","static/chunks/framework-c25027af42eb8c45.js","static/chunks/main-2d7b2ac4e61285c5.js","static/chunks/pages/_error-e16765248192e4ee.js"]},ampFirstPages:[]};
|
||||
|
|
@ -2,21 +2,41 @@
|
|||
"sortedMiddleware": [],
|
||||
"middleware": {},
|
||||
"functions": {
|
||||
"/api/auth/[...nextauth]/route": {
|
||||
"/api/[...nextauth]/route": {
|
||||
"files": [
|
||||
"server/middleware-build-manifest.js",
|
||||
"server/middleware-react-loadable-manifest.js",
|
||||
"server/next-font-manifest.js",
|
||||
"prerender-manifest.js",
|
||||
"server/edge-runtime-webpack.js",
|
||||
"server/app/api/auth/[...nextauth]/route.js"
|
||||
"server/app/api/[...nextauth]/route.js"
|
||||
],
|
||||
"name": "app/api/auth/[...nextauth]/route",
|
||||
"page": "/api/auth/[...nextauth]/route",
|
||||
"name": "app/api/[...nextauth]/route",
|
||||
"page": "/api/[...nextauth]/route",
|
||||
"matchers": [
|
||||
{
|
||||
"regexp": "^/api/auth/(?<nextauth>.+?)$",
|
||||
"originalSource": "/api/auth/[...nextauth]"
|
||||
"regexp": "^/api/(?<nextauth>.+?)$",
|
||||
"originalSource": "/api/[...nextauth]"
|
||||
}
|
||||
],
|
||||
"wasm": [],
|
||||
"assets": []
|
||||
},
|
||||
"/api/hello/route": {
|
||||
"files": [
|
||||
"server/middleware-build-manifest.js",
|
||||
"server/middleware-react-loadable-manifest.js",
|
||||
"server/next-font-manifest.js",
|
||||
"prerender-manifest.js",
|
||||
"server/edge-runtime-webpack.js",
|
||||
"server/app/api/hello/route.js"
|
||||
],
|
||||
"name": "app/api/hello/route",
|
||||
"page": "/api/hello/route",
|
||||
"matchers": [
|
||||
{
|
||||
"regexp": "^/api/hello$",
|
||||
"originalSource": "/api/hello"
|
||||
}
|
||||
],
|
||||
"wasm": [],
|
||||
|
|
@ -44,6 +64,28 @@
|
|||
"wasm": [],
|
||||
"assets": []
|
||||
},
|
||||
"/_not-found": {
|
||||
"files": [
|
||||
"server/server-reference-manifest.js",
|
||||
"server/app/_not-found_client-reference-manifest.js",
|
||||
"server/middleware-build-manifest.js",
|
||||
"server/middleware-react-loadable-manifest.js",
|
||||
"server/next-font-manifest.js",
|
||||
"prerender-manifest.js",
|
||||
"server/edge-runtime-webpack.js",
|
||||
"server/app/_not-found.js"
|
||||
],
|
||||
"name": "app/_not-found",
|
||||
"page": "/_not-found",
|
||||
"matchers": [
|
||||
{
|
||||
"regexp": "^/_not\\-found$",
|
||||
"originalSource": "/_not-found"
|
||||
}
|
||||
],
|
||||
"wasm": [],
|
||||
"assets": []
|
||||
},
|
||||
"/api/store/route": {
|
||||
"files": [
|
||||
"server/middleware-build-manifest.js",
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"/_app":"pages/_app.js","/_error":"pages/_error.js","/_document":"pages/_document.js","/404":"pages/404.html"}
|
||||
{"/_app":"pages/_app.js","/_error":"pages/_error.js","/_document":"pages/_document.js"}
|
||||
|
|
@ -1 +1 @@
|
|||
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-7c56eb6342069862.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-9e68550641db712d.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-c034f34a8f0f2967.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-22ef1381f3010e9c.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_error-2312f57de16788ac.js" defer="" crossorigin=""></script><script src="/_next/static/yGeZZitS1W4Rar-yoH8R4/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/yGeZZitS1W4Rar-yoH8R4/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"yGeZZitS1W4Rar-yoH8R4","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
||||
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>500: Internal Server Error</title><meta name="next-head-count" content="3"/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-511881c2eef3fe2b.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-c25027af42eb8c45.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-2d7b2ac4e61285c5.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-508d387925ef2fa9.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_error-e16765248192e4ee.js" defer="" crossorigin=""></script><script src="/_next/static/Dzt6IsHhCHGe9WiNGLhTL/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/Dzt6IsHhCHGe9WiNGLhTL/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"Dzt6IsHhCHGe9WiNGLhTL","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
||||
|
|
@ -1 +1 @@
|
|||
"use strict";(()=>{var e={};e.id=888,e.ids=[888],e.modules={2073:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(7083),o=r(997),i=n._(r(6689)),u=r(2404);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,u.loadGetInitialProps)(t,r)}}class a extends i.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}a.origGetInitialProps=s,a.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2404:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{WEB_VITALS:function(){return r},execOnce:function(){return n},isAbsoluteUrl:function(){return i},getLocationOrigin:function(){return u},getURL:function(){return s},getDisplayName:function(){return a},isResSent:function(){return c},normalizeRepeatedSlashes:function(){return l},loadGetInitialProps:function(){return f},SP:function(){return d},ST:function(){return p},DecodeError:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return P},MissingStaticPage:function(){return y},MiddlewareNotFoundError:function(){return E},stringifyError:function(){return x}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=u();return e.substring(t.length)}function a(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Error('"'+a(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class P extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},7083:(e,t)=>{t._=t._interop_require_default=function(e){return e&&e.__esModule?e:{default:e}}}};var t=require("../webpack-runtime.js");t.C(e);var r=t(t.s=2073);module.exports=r})();
|
||||
"use strict";(()=>{var e={};e.id=888,e.ids=[888],e.modules={3234:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(2460),o=r(997),i=n._(r(6689)),u=r(7071);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,u.loadGetInitialProps)(t,r)}}class a extends i.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}a.origGetInitialProps=s,a.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7071:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{WEB_VITALS:function(){return r},execOnce:function(){return n},isAbsoluteUrl:function(){return i},getLocationOrigin:function(){return u},getURL:function(){return s},getDisplayName:function(){return a},isResSent:function(){return c},normalizeRepeatedSlashes:function(){return l},loadGetInitialProps:function(){return f},SP:function(){return d},ST:function(){return p},DecodeError:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return P},MissingStaticPage:function(){return y},MiddlewareNotFoundError:function(){return E},stringifyError:function(){return x}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=u();return e.substring(t.length)}function a(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Error('"'+a(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class P extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},2460:(e,t)=>{t._=t._interop_require_default=function(e){return e&&e.__esModule?e:{default:e}}}};var t=require("../webpack-runtime.js");t.C(e);var r=t(t.s=3234);module.exports=r})();
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":1,"files":["../../../../../node_modules/next/dist/pages/_app.js","../../package.json","../webpack-runtime.js"]}
|
||||
{"version":1,"files":["../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_app.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/package.json","../../../node_modules/react","../../../package.json","../../package.json","../webpack-runtime.js"]}
|
||||
|
|
@ -1 +1 @@
|
|||
"use strict";(()=>{var e={};e.id=660,e.ids=[660],e.modules={2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},1017:e=>{e.exports=require("path")}};var r=require("../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[296],()=>s(5871));module.exports=t})();
|
||||
"use strict";(()=>{var e={};e.id=660,e.ids=[660],e.modules={2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},1017:e=>{e.exports=require("path")}};var r=require("../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[72],()=>s(3072));module.exports=t})();
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":1,"files":["../../../../../node_modules/next/dist/pages/_document.js","../../package.json","../chunks/296.js","../webpack-runtime.js"]}
|
||||
{"version":1,"files":["../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/index.js","../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/lru-cache/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/lru-cache/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/node-html-parser/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/node-html-parser/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/semver-noop.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_document.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/react-dom","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/styled-jsx","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/package.json","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/server.browser.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/package.json","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/client-only","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/dist/index/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/package.json","../../../node_modules/next","../../../node_modules/react","../../../package.json","../../package.json","../chunks/72.js","../webpack-runtime.js"]}
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":1,"files":["../../package.json","../chunks/296.js","../webpack-runtime.js"]}
|
||||
{"version":1,"files":["../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/index.js","../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/lru-cache/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/lru-cache/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/node-html-parser/index.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/node-html-parser/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/semver-noop.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/next/package.json","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/react-dom","../../../node_modules/.pnpm/next@14.1.0_react-dom@18.2.0_react@18.2.0/node_modules/styled-jsx","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/package.json","../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/server.browser.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.2.0/node_modules/react/package.json","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/client-only","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/react","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/dist/index/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.2.0/node_modules/styled-jsx/package.json","../../../node_modules/next","../../../node_modules/react","../../package.json","../chunks/72.js","../webpack-runtime.js"]}
|
||||
|
|
@ -1 +1 @@
|
|||
self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"9l3dddSNaMdB89C5vzRChB3xCSTYQQTAEPr0vr+c6y8=\"}"
|
||||
self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"pDmQ3fjBg/jiSA3hYiyTDteIED53hIUE4PL6HOIWZbk=\"}"
|
||||
|
|
@ -1 +1 @@
|
|||
{"node":{},"edge":{},"encryptionKey":"9l3dddSNaMdB89C5vzRChB3xCSTYQQTAEPr0vr+c6y8="}
|
||||
{"node":{},"edge":{},"encryptionKey":"pDmQ3fjBg/jiSA3hYiyTDteIED53hIUE4PL6HOIWZbk="}
|
||||
|
|
@ -1 +1 @@
|
|||
(()=>{"use strict";var e={},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}},u=!0;try{e[o](a,a.exports,t),u=!1}finally{u&&delete r[o]}return a.exports}t.m=e,t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);t.r(a);var u={};e=e||[null,r({}),r([]),r(r)];for(var f=2&n&&o;"object"==typeof f&&!~e.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(e=>u[e]=()=>o[e]);return u.default=()=>o,t.d(a,u),a}})(),t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,o)=>(t.f[o](e,r),r),[])),t.u=e=>""+e+".js",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.X=(e,r,o)=>{var n=r;o||(r=e,o=()=>t(t.s=n)),r.map(t.e,t);var a=o();return void 0===a?e:a},(()=>{var e={658:1},r=r=>{var o=r.modules,n=r.ids,a=r.runtime;for(var u in o)t.o(o,u)&&(t.m[u]=o[u]);a&&a(t);for(var f=0;f<n.length;f++)e[n[f]]=1};t.f.require=(o,n)=>{e[o]||(658!=o?r(require("./chunks/"+t.u(o))):e[o]=1)},module.exports=t,t.C=r})()})();
|
||||
(()=>{"use strict";var e={},r={};function t(o){var a=r[o];if(void 0!==a)return a.exports;var u=r[o]={exports:{}},n=!0;try{e[o](u,u.exports,t),n=!1}finally{n&&delete r[o]}return u.exports}t.m=e,t.amdO={},t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,o)=>(t.f[o](e,r),r),[])),t.u=e=>""+e+".js",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.X=(e,r,o)=>{var a=r;o||(r=e,o=()=>t(t.s=a)),r.map(t.e,t);var u=o();return void 0===u?e:u},(()=>{var e={658:1},r=r=>{var o=r.modules,a=r.ids,u=r.runtime;for(var n in o)t.o(o,n)&&(t.m[n]=o[n]);u&&u(t);for(var l=0;l<a.length;l++)e[a[l]]=1};t.f.require=(o,a)=>{e[o]||(658!=o?r(require("./chunks/"+t.u(o))):e[o]=1)},module.exports=t,t.C=r})()})();
|
||||
|
|
@ -1 +0,0 @@
|
|||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1588:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return u(7230)}])}},function(n){var _=function(_){return n(n.s=_)};n.O(0,[774,179],function(){return _(1588),_(6182)}),_N_E=n.O()}]);
|
||||
|
|
@ -1 +0,0 @@
|
|||
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{341:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(8859)}])}},function(n){n.O(0,[888,774,179],function(){return n(n.s=341)}),_N_E=n.O()}]);
|
||||
|
|
@ -1 +0,0 @@
|
|||
!function(){"use strict";var e,t,r,n,o,u,i,c,f,a={},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var r=l[e]={exports:{}},n=!0;try{a[e](r,r.exports,s),n=!1}finally{n&&delete l[e]}return r.exports}s.m=a,e=[],s.O=function(t,r,n,o){if(r){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,n,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var r=e[u][0],n=e[u][1],o=e[u][2],c=!0,f=0;f<r.length;f++)i>=o&&Object.keys(s.O).every(function(e){return s.O[e](r[f])})?r.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=n();void 0!==a&&(t=a)}}return t},r=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,n){if(1&n&&(e=this(e)),8&n||"object"==typeof e&&e&&(4&n&&e.__esModule||16&n&&"function"==typeof e.then))return e;var o=Object.create(null);s.r(o);var u={};t=t||[null,r({}),r([]),r(r)];for(var i=2&n&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},s.d(o,u),o},s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,r){return s.f[r](e,t),t},[]))},s.u=function(e){},s.miniCssF=function(e){return"static/css/6c15d7e3526590b3.css"},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n={},o="_N_E:",s.l=function(e,t,r,u){if(n[e]){n[e].push(t);return}if(void 0!==r)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+r){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",o+r),i.src=s.tu(e)),n[e]=[t];var d=function(t,r){i.onerror=i.onload=null,clearTimeout(p);var o=n[e];if(delete n[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(r)}),t)return t(r)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/_next/",i={272:0},s.f.j=function(e,t){var r=s.o(i,e)?i[e]:void 0;if(0!==r){if(r)t.push(r[2]);else if(272!=e){var n=new Promise(function(t,n){r=i[e]=[t,n]});t.push(r[2]=n);var o=s.p+s.u(e),u=Error();s.l(o,function(t){if(s.o(i,e)&&(0!==(r=i[e])&&(i[e]=void 0),r)){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",u.name="ChunkLoadError",u.type=n,u.request=o,r[1](u)}},"chunk-"+e,e)}else i[e]=0}},s.O.j=function(e){return 0===i[e]},c=function(e,t){var r,n,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(r in u)s.o(u,r)&&(s.m[r]=u[r]);if(c)var a=c(s)}for(e&&e(t);f<o.length;f++)n=o[f],s.o(i,n)&&i[n]&&i[n][0](),i[n]=0;return s.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f))}();
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ec159349637c90ad-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/513657b02c5c193f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fd4db3eb5472fc27-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/51ed15f9841b9f9d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/05a31a2ca4975f99-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/d6b16ce4a6175f26-s.woff2) format("woff2");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_aaf875;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_aaf875;src:local("Arial");ascent-override:90.20%;descent-override:22.48%;line-gap-override:0.00%;size-adjust:107.40%}.__className_aaf875{font-family:__Inter_aaf875,__Inter_Fallback_aaf875;font-style:normal}.__variable_aaf875{--font-sans:"__Inter_aaf875","__Inter_Fallback_aaf875"}
|
||||
|
||||
/*
|
||||
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
|
||||
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.font-sans{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
|
||||
|
|
@ -1,343 +0,0 @@
|
|||
// File: /Users/dhravyashah/Documents/code/anycontext/apps/web/src/app/api/auth/[...nextauth]/route.ts
|
||||
import * as entry from '../../../../../../src/app/api/auth/[...nextauth]/route.js'
|
||||
import type { NextRequest } from 'next/server.js'
|
||||
|
||||
type TEntry = typeof import('../../../../../../src/app/api/auth/[...nextauth]/route.js')
|
||||
|
||||
// Check that the entry is a valid entry
|
||||
checkFields<Diff<{
|
||||
GET?: Function
|
||||
HEAD?: Function
|
||||
OPTIONS?: Function
|
||||
POST?: Function
|
||||
PUT?: Function
|
||||
DELETE?: Function
|
||||
PATCH?: Function
|
||||
config?: {}
|
||||
generateStaticParams?: Function
|
||||
revalidate?: RevalidateRange<TEntry> | false
|
||||
dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static'
|
||||
dynamicParams?: boolean
|
||||
fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache'
|
||||
preferredRegion?: 'auto' | 'global' | 'home' | string | string[]
|
||||
runtime?: 'nodejs' | 'experimental-edge' | 'edge'
|
||||
maxDuration?: number
|
||||
|
||||
}, TEntry, ''>>()
|
||||
|
||||
// Check the prop type of the entry function
|
||||
if ('GET' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'GET'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'GET'>>
|
||||
},
|
||||
'GET'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'GET'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'GET'>>
|
||||
},
|
||||
'GET'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'GET',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'GET',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'GET'>>
|
||||
},
|
||||
'GET'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('HEAD' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'HEAD'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'HEAD'>>
|
||||
},
|
||||
'HEAD'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'HEAD'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'HEAD'>>
|
||||
},
|
||||
'HEAD'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'HEAD',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'HEAD',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'HEAD'>>
|
||||
},
|
||||
'HEAD'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('OPTIONS' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'OPTIONS'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'OPTIONS'>>
|
||||
},
|
||||
'OPTIONS'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'OPTIONS'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'OPTIONS'>>
|
||||
},
|
||||
'OPTIONS'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'OPTIONS',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'OPTIONS',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'OPTIONS'>>
|
||||
},
|
||||
'OPTIONS'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('POST' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'POST'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'POST'>>
|
||||
},
|
||||
'POST'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'POST'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'POST'>>
|
||||
},
|
||||
'POST'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'POST',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'POST',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'POST'>>
|
||||
},
|
||||
'POST'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('PUT' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'PUT'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'PUT'>>
|
||||
},
|
||||
'PUT'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'PUT'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'PUT'>>
|
||||
},
|
||||
'PUT'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'PUT',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'PUT',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'PUT'>>
|
||||
},
|
||||
'PUT'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('DELETE' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'DELETE'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'DELETE'>>
|
||||
},
|
||||
'DELETE'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'DELETE'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'DELETE'>>
|
||||
},
|
||||
'DELETE'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'DELETE',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'DELETE',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'DELETE'>>
|
||||
},
|
||||
'DELETE'
|
||||
>
|
||||
>()
|
||||
}
|
||||
// Check the prop type of the entry function
|
||||
if ('PATCH' in entry) {
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<Request | NextRequest>,
|
||||
{
|
||||
__tag__: 'PATCH'
|
||||
__param_position__: 'first'
|
||||
__param_type__: FirstArg<MaybeField<TEntry, 'PATCH'>>
|
||||
},
|
||||
'PATCH'
|
||||
>
|
||||
>()
|
||||
checkFields<
|
||||
Diff<
|
||||
ParamCheck<PageParams>,
|
||||
{
|
||||
__tag__: 'PATCH'
|
||||
__param_position__: 'second'
|
||||
__param_type__: SecondArg<MaybeField<TEntry, 'PATCH'>>
|
||||
},
|
||||
'PATCH'
|
||||
>
|
||||
>()
|
||||
|
||||
checkFields<
|
||||
Diff<
|
||||
{
|
||||
__tag__: 'PATCH',
|
||||
__return_type__: Response | void | never | Promise<Response | void | never>
|
||||
},
|
||||
{
|
||||
__tag__: 'PATCH',
|
||||
__return_type__: ReturnType<MaybeField<TEntry, 'PATCH'>>
|
||||
},
|
||||
'PATCH'
|
||||
>
|
||||
>()
|
||||
}
|
||||
|
||||
// Check the arguments and return type of the generateStaticParams function
|
||||
if ('generateStaticParams' in entry) {
|
||||
checkFields<Diff<{ params: PageParams }, FirstArg<MaybeField<TEntry, 'generateStaticParams'>>, 'generateStaticParams'>>()
|
||||
checkFields<Diff<{ __tag__: 'generateStaticParams', __return_type__: any[] | Promise<any[]> }, { __tag__: 'generateStaticParams', __return_type__: ReturnType<MaybeField<TEntry, 'generateStaticParams'>> }>>()
|
||||
}
|
||||
|
||||
type PageParams = any
|
||||
export interface PageProps {
|
||||
params?: any
|
||||
searchParams?: any
|
||||
}
|
||||
export interface LayoutProps {
|
||||
children?: React.ReactNode
|
||||
|
||||
params?: any
|
||||
}
|
||||
|
||||
// =============
|
||||
// Utility types
|
||||
type RevalidateRange<T> = T extends { revalidate: any } ? NonNegative<T['revalidate']> : never
|
||||
|
||||
// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit<T, keyof Base>.
|
||||
type OmitWithTag<T, K extends keyof any, _M> = Omit<T, K>
|
||||
type Diff<Base, T extends Base, Message extends string = ''> = 0 extends (1 & T) ? {} : OmitWithTag<T, keyof Base, Message>
|
||||
|
||||
type FirstArg<T extends Function> = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never
|
||||
type SecondArg<T extends Function> = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never
|
||||
type MaybeField<T, K extends string> = T extends { [k in K]: infer G } ? G extends Function ? G : never : never
|
||||
|
||||
type ParamCheck<T> = {
|
||||
__tag__: string
|
||||
__param_position__: string
|
||||
__param_type__: T
|
||||
}
|
||||
|
||||
function checkFields<_ extends { [k in keyof any]: never }>() {}
|
||||
|
||||
// https://github.com/sindresorhus/type-fest
|
||||
type Numeric = number | bigint
|
||||
type Zero = 0 | 0n
|
||||
type Negative<T extends Numeric> = T extends Zero ? never : `${T}` extends `-${string}` ? T : never
|
||||
type NonNegative<T extends Numeric> = T extends Zero ? T : Negative<T> extends never ? T : '__invalid_negative_number__'
|
||||
16
apps/web/components.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"$schema": "https://ui.shadcn.com/schema.json",
|
||||
"style": "default",
|
||||
"rsc": true,
|
||||
"tsx": true,
|
||||
"tailwind": {
|
||||
"config": "tailwind.config.ts",
|
||||
"css": "src/app/globals.css",
|
||||
"baseColor": "gray",
|
||||
"cssVariables": false
|
||||
},
|
||||
"aliases": {
|
||||
"utils": "@/lib/utils",
|
||||
"components": "@/components"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
import { type Config } from "drizzle-kit";
|
||||
|
||||
import { env } from "@/env.js";
|
||||
|
||||
export default {
|
||||
schema: "./src/server/db/schema.ts",
|
||||
driver: "better-sqlite",
|
||||
driver: "d1",
|
||||
dbCredentials: {
|
||||
url: env.DATABASE_URL,
|
||||
wranglerConfigPath: "./wrangler.toml",
|
||||
dbName: "dev-d1-anycontext",
|
||||
},
|
||||
tablesFilter: ["anycontext_*"],
|
||||
out: 'drizzle'
|
||||
} satisfies Config;
|
||||
|
|
|
|||
9
apps/web/env.d.ts
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
declare global {
|
||||
namespace NodeJS {
|
||||
interface ProcessEnv {
|
||||
[key: string]: string | undefined;
|
||||
DATABASE: D1Database;
|
||||
}
|
||||
}
|
||||
}
|
||||
export { };
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
/**
|
||||
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful
|
||||
* for Docker builds.
|
||||
*/
|
||||
|
||||
await import("./src/env.js");
|
||||
|
||||
/** @type {import("next").NextConfig} */
|
||||
const config = {};
|
||||
|
||||
export default config;
|
||||
|
|
@ -4,14 +4,7 @@ import { setupDevPlatform } from '@cloudflare/next-on-pages/next-dev';
|
|||
// (when running the application with `next dev`), for more information see:
|
||||
// https://github.com/cloudflare/next-on-pages/blob/5712c57ea7/internal-packages/next-dev/README.md
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
await setupDevPlatform({
|
||||
bindings: {
|
||||
DATABASE: {
|
||||
type: "DB",
|
||||
id: "fc562605-157a-4f60-b439-2a24ffed5b4c"
|
||||
}
|
||||
}
|
||||
});
|
||||
await setupDevPlatform();
|
||||
}
|
||||
|
||||
/** @type {import('next').NextConfig} */
|
||||
|
|
@ -1,51 +1,43 @@
|
|||
{
|
||||
"name": "web",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "next build",
|
||||
"db:push": "drizzle-kit push:sqlite",
|
||||
"db:studio": "drizzle-kit studio",
|
||||
"dev": "next dev",
|
||||
"lint": "next lint",
|
||||
"start": "next start"
|
||||
},
|
||||
"dependencies": {
|
||||
"@auth/drizzle-adapter": "^0.3.6",
|
||||
"@libsql/client": "^0.5.1",
|
||||
"@t3-oss/env-nextjs": "^0.7.1",
|
||||
"better-sqlite3": "^9.0.0",
|
||||
"bun": "^1.0.28",
|
||||
"drizzle-orm": "^0.29.3",
|
||||
"next": "^14.0.4",
|
||||
"next-auth": "beta",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
"zod": "^3.22.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/next-on-pages": "^1.8.6",
|
||||
"@cloudflare/workers-types": "^4.20240208.0",
|
||||
"@types/better-sqlite3": "^7.6.6",
|
||||
"@types/eslint": "^8.44.7",
|
||||
"@types/node": "^18.17.0",
|
||||
"@types/react": "^18.2.37",
|
||||
"@types/react-dom": "^18.2.15",
|
||||
"@typescript-eslint/eslint-plugin": "^6.11.0",
|
||||
"@typescript-eslint/parser": "^6.11.0",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"drizzle-kit": "^0.20.14",
|
||||
"eslint": "^8.54.0",
|
||||
"eslint-config-next": "^14.0.4",
|
||||
"postcss": "^8.4.31",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier-plugin-tailwindcss": "^0.5.7",
|
||||
"tailwindcss": "^3.3.5",
|
||||
"typescript": "^5.1.6",
|
||||
"tsconfig": "workspace:*"
|
||||
},
|
||||
"ct3aMetadata": {
|
||||
"initVersion": "7.26.0"
|
||||
}
|
||||
"name": "web",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"pages:build": "pnpm next-on-pages",
|
||||
"preview": "pnpm pages:build && wrangler pages dev .vercel/output/static --port=3000",
|
||||
"deploy": "pnpm pages:build && wrangler pages deploy .vercel/output/static"
|
||||
},
|
||||
"dependencies": {
|
||||
"@radix-ui/react-avatar": "^1.0.4",
|
||||
"@radix-ui/react-icons": "^1.3.0",
|
||||
"@radix-ui/react-slot": "^1.0.2",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"clsx": "^2.1.0",
|
||||
"lucide-react": "^0.338.0",
|
||||
"next": "14.1.0",
|
||||
"react": "^18",
|
||||
"react-dom": "^18",
|
||||
"tailwind-merge": "^2.2.1",
|
||||
"tailwindcss-animate": "^1.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/next-on-pages": "1",
|
||||
"@cloudflare/workers-types": "^4.20240222.0",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^18",
|
||||
"@types/react-dom": "^18",
|
||||
"autoprefixer": "^10.0.1",
|
||||
"eslint": "^8",
|
||||
"eslint-config-next": "14.1.0",
|
||||
"eslint-plugin-next-on-pages": "^1.9.0",
|
||||
"postcss": "^8",
|
||||
"tailwindcss": "^3.3.0",
|
||||
"typescript": "^5",
|
||||
"vercel": "^33.5.2",
|
||||
"wrangler": "^3.29.0"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
const config = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
1
apps/web/public/placeholder.svg?height=200&width=300
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="299" height="186" fill="none"><g clip-path="url(#a)"><rect width="299" height="186" fill="#EAEAEA" rx="3"/><g stroke="#C9C9C9" opacity=".5"><path d="m71.594 205.646 224-224M95.173 205.646l224-224M118.752 205.646l224-224M142.331 205.646l224-224M165.91 205.646l224-224M189.489 205.646l224-224M213.067 205.646l224-224M236.646 205.646l224-224M260.226 205.646l224-224M283.804 205.646l224-224M-211.354 205.646l224-224M-187.774 205.646l223.999-224M-164.196 205.646l224-224M-140.617 205.646l224-224M-117.038 205.646l224-224M-93.459 205.646l224-224M-69.88 205.646l224-224M-46.301 205.646l224-224M-22.722 205.646l224-224M.857 205.646l224-224M24.436 205.646l224-224M48.015 205.646l224-224M272.723 205.646l-224-224M249.144 205.646l-224-224M225.564 205.646l-224-224M201.985 205.646l-224-224M178.407 205.646l-224-224M154.828 205.646l-224-224M131.249 205.646l-224-224M107.67 205.646l-224-224M84.09 205.646l-224-224M60.511 205.646l-224-224M36.933 205.646l-224-224M13.354 205.646l-224-224M508.512 205.646l-224-224M484.933 205.646l-224-224M461.354 205.646l-224-224M437.775 205.646l-224-224M414.196 205.646l-224-224M390.617 205.646l-224-224M367.038 205.646l-224-224M343.459 205.646l-224-224M319.88 205.646l-224-224M296.3 205.646l-224-224"/></g><g stroke="#C9C9C9" opacity=".5"><path d="m83.594 205.646 224-224M107.173 205.646l224-224M130.752 205.646l224-224M154.331 205.646l224-224M177.91 205.646l224-224M201.489 205.646l224-224M225.067 205.646l224-224M248.646 205.646l224-224M272.226 205.646l224-224M295.804 205.646l224-224M-199.354 205.646l224-224M-175.774 205.646l223.999-224M-152.196 205.646l224-224M-128.617 205.646l224-224M-105.038 205.646l224-224M-81.459 205.646l224-224M-57.88 205.646l224-224M-34.301 205.646l224-224M-10.722 205.646l224-224M12.857 205.646l224-224M36.436 205.646l224-224M60.015 205.646l224-224M284.723 205.646l-224-224M261.144 205.646l-224-224M237.564 205.646l-224-224M213.985 205.646l-224-224M190.407 205.646l-224-224M166.828 205.646l-224-224M143.249 205.646l-224-224M119.67 205.646l-224-224M96.09 205.646l-224-224M72.511 205.646l-224-224M48.933 205.646l-224-224M25.354 205.646l-224-224M520.512 205.646l-224-224M496.933 205.646l-224-224M473.354 205.646l-224-224M449.775 205.646l-224-224M426.196 205.646l-224-224M402.617 205.646l-224-224M379.038 205.646l-224-224M355.459 205.646l-224-224M331.88 205.646l-224-224M308.3 205.646l-224-224"/></g></g><defs><clipPath id="a"><rect width="299" height="186" fill="#fff" rx="3"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
1
apps/web/public/placeholder.svg?height=32&width=32
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="299" height="186" fill="none"><g clip-path="url(#a)"><rect width="299" height="186" fill="#EAEAEA" rx="3"/><g stroke="#C9C9C9" opacity=".5"><path d="m71.594 205.646 224-224M95.173 205.646l224-224M118.752 205.646l224-224M142.331 205.646l224-224M165.91 205.646l224-224M189.489 205.646l224-224M213.067 205.646l224-224M236.646 205.646l224-224M260.226 205.646l224-224M283.804 205.646l224-224M-211.354 205.646l224-224M-187.774 205.646l223.999-224M-164.196 205.646l224-224M-140.617 205.646l224-224M-117.038 205.646l224-224M-93.459 205.646l224-224M-69.88 205.646l224-224M-46.301 205.646l224-224M-22.722 205.646l224-224M.857 205.646l224-224M24.436 205.646l224-224M48.015 205.646l224-224M272.723 205.646l-224-224M249.144 205.646l-224-224M225.564 205.646l-224-224M201.985 205.646l-224-224M178.407 205.646l-224-224M154.828 205.646l-224-224M131.249 205.646l-224-224M107.67 205.646l-224-224M84.09 205.646l-224-224M60.511 205.646l-224-224M36.933 205.646l-224-224M13.354 205.646l-224-224M508.512 205.646l-224-224M484.933 205.646l-224-224M461.354 205.646l-224-224M437.775 205.646l-224-224M414.196 205.646l-224-224M390.617 205.646l-224-224M367.038 205.646l-224-224M343.459 205.646l-224-224M319.88 205.646l-224-224M296.3 205.646l-224-224"/></g><g stroke="#C9C9C9" opacity=".5"><path d="m83.594 205.646 224-224M107.173 205.646l224-224M130.752 205.646l224-224M154.331 205.646l224-224M177.91 205.646l224-224M201.489 205.646l224-224M225.067 205.646l224-224M248.646 205.646l224-224M272.226 205.646l224-224M295.804 205.646l224-224M-199.354 205.646l224-224M-175.774 205.646l223.999-224M-152.196 205.646l224-224M-128.617 205.646l224-224M-105.038 205.646l224-224M-81.459 205.646l224-224M-57.88 205.646l224-224M-34.301 205.646l224-224M-10.722 205.646l224-224M12.857 205.646l224-224M36.436 205.646l224-224M60.015 205.646l224-224M284.723 205.646l-224-224M261.144 205.646l-224-224M237.564 205.646l-224-224M213.985 205.646l-224-224M190.407 205.646l-224-224M166.828 205.646l-224-224M143.249 205.646l-224-224M119.67 205.646l-224-224M96.09 205.646l-224-224M72.511 205.646l-224-224M48.933 205.646l-224-224M25.354 205.646l-224-224M520.512 205.646l-224-224M496.933 205.646l-224-224M473.354 205.646l-224-224M449.775 205.646l-224-224M426.196 205.646l-224-224M402.617 205.646l-224-224M379.038 205.646l-224-224M355.459 205.646l-224-224M331.88 205.646l-224-224M308.3 205.646l-224-224"/></g></g><defs><clipPath id="a"><rect width="299" height="186" fill="#fff" rx="3"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 629 B After Width: | Height: | Size: 629 B |
|
|
@ -1,2 +0,0 @@
|
|||
export { GET, POST } from "@/server/auth";
|
||||
export const runtime = "edge";
|
||||
|
|
@ -7,15 +7,18 @@ export const runtime = "edge";
|
|||
|
||||
export async function GET(req: NextRequest) {
|
||||
try {
|
||||
const token = req.cookies.get("next-auth.session-token")?.value ?? req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
const token = req.cookies.get("next-auth.session-token")?.value ?? req.cookies.get("authjs.session-token")?.value ?? req.headers.get("Authorization")?.replace("Bearer ", "");
|
||||
|
||||
console.log(token ? token : 'token not found lol')
|
||||
console.log(process.env.DATABASE)
|
||||
|
||||
const session = await db.select().from(sessions).where(eq(sessions.sessionToken, token!))
|
||||
.leftJoin(users, eq(sessions.userId, users.id))
|
||||
.leftJoin(users, eq(sessions.userId, users.id)).limit(1)
|
||||
|
||||
if (!session || session.length === 0) {
|
||||
return NextResponse.json({ message: "Invalid Key, session not found." }, { status: 404 });
|
||||
}
|
||||
return NextResponse.json({ message: "OK", data: session[0] }, { status: 200 });
|
||||
return NextResponse.json({ message: "OK", data: session }, { status: 200 });
|
||||
} catch (error) {
|
||||
return NextResponse.json({ message: "Error", error }, { status: 500 });
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
|
@ -1,28 +1,22 @@
|
|||
import '@/styles/globals.css';
|
||||
import type { Metadata } from "next";
|
||||
import { Inter } from "next/font/google";
|
||||
import "./globals.css";
|
||||
|
||||
import { Inter } from 'next/font/google';
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ['latin'],
|
||||
variable: '--font-sans',
|
||||
});
|
||||
|
||||
export const metadata = {
|
||||
title: 'Create T3 App',
|
||||
description: 'Generated by create-t3-app',
|
||||
icons: [{ rel: 'icon', url: '/favicon.ico' }],
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App",
|
||||
description: "Generated by create next app",
|
||||
};
|
||||
|
||||
export const runtime = 'edge';
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={`font-sans ${inter.variable}`}>{children}</body>
|
||||
<body className={inter.className}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
import { cookies } from 'next/headers';
|
||||
import MessagePoster from '../../../anycontext-front/src/app/MessagePoster';
|
||||
import Image from "next/image";
|
||||
import MessagePoster from "./MessagePoster";
|
||||
import { cookies } from "next/headers";
|
||||
import { Component } from "@/components/component";
|
||||
|
||||
export const runtime = 'edge';
|
||||
|
||||
export default function HomePage() {
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<MessagePoster jwt={cookies().get('next-auth.session-token')?.value!} />
|
||||
<Component/>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
192
apps/web/src/components/component.tsx
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
/**
|
||||
* This code was generated by v0 by Vercel.
|
||||
* @see https://v0.dev/t/pva6O4OIeZq
|
||||
*/
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { AvatarImage, AvatarFallback, Avatar } from "@/components/ui/avatar"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Badge } from "@/components/ui/badge"
|
||||
import { CardContent, CardFooter, Card } from "@/components/ui/card"
|
||||
|
||||
export function Component() {
|
||||
return (
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<header className="flex justify-between items-center py-6">
|
||||
<div className="flex items-center space-x-4">
|
||||
<FlagIcon className="h-8 w-8 text-blue-500" />
|
||||
<h1 className="text-3xl font-bold text-gray-900">zenfetch</h1>
|
||||
</div>
|
||||
<div className="flex items-center space-x-4">
|
||||
<Input className="w-72" placeholder="Search..." />
|
||||
<Avatar>
|
||||
<AvatarImage alt="User avatar" src="/placeholder.svg?height=32&width=32" />
|
||||
<AvatarFallback>U</AvatarFallback>
|
||||
</Avatar>
|
||||
<Button className="whitespace-nowrap" variant="outline">
|
||||
Chat with AI
|
||||
</Button>
|
||||
</div>
|
||||
</header>
|
||||
<nav className="flex space-x-2 my-4">
|
||||
<Badge variant="secondary">Technology (2)</Badge>
|
||||
<Badge variant="secondary">Business & Finance (1)</Badge>
|
||||
<Badge variant="secondary">Education & Career (1)</Badge>
|
||||
</nav>
|
||||
<main className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="Hard drive"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">I'd like to sell you a hard drive.</h3>
|
||||
<p className="text-sm text-gray-600">SUBSTACK.COM</p>
|
||||
<p className="text-sm">
|
||||
Zenfetch is a proposed tool aimed to help knowledge workers retain and leverage the knowledge.
|
||||
</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="AI Prompting"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">A guide to prompting AI (for what it is worth)</h3>
|
||||
<p className="text-sm text-gray-600">ONEUSEFULTHING.ORG</p>
|
||||
<p className="text-sm">Summary is still generating. Try refreshing the page in a few seconds.</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="Unlocking Creativity"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">Pixel Perfect: How AI Unlocks Creativity</h3>
|
||||
<p className="text-sm text-gray-600">DIGITALNATIVE.TECH</p>
|
||||
<p className="text-sm">Summary is still generating. Try refreshing the page in a few seconds.</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="Tolerance for Fiction"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">
|
||||
Our Declining Tolerance for Fiction & Wild Concepts Likely To Become
|
||||
</h3>
|
||||
<p className="text-sm text-gray-600">ARXIV.ORG</p>
|
||||
<p className="text-sm">Summary is still generating. Try refreshing the page in a few seconds.</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="Graph of Thoughts"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">
|
||||
Graph of Thoughts: Solving Elaborate Problems with Large Language Models
|
||||
</h3>
|
||||
<p className="text-sm text-gray-600">ARXIV.ORG</p>
|
||||
<p className="text-sm">Summary is still generating. Try refreshing the page in a few seconds.</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="w-full">
|
||||
<img
|
||||
alt="Lacking creativity"
|
||||
className="w-full h-48 object-cover"
|
||||
height="200"
|
||||
src="/placeholder.svg"
|
||||
style={{
|
||||
aspectRatio: "300/200",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
width="300"
|
||||
/>
|
||||
<CardContent>
|
||||
<h3 className="text-lg font-semibold">You're not lacking creativity, you're overwhelmed</h3>
|
||||
<p className="text-sm text-gray-600">ARXIV.ORG</p>
|
||||
<p className="text-sm">Summary is still generating. Try refreshing the page in a few seconds.</p>
|
||||
</CardContent>
|
||||
<CardFooter className="flex justify-between">
|
||||
<Button variant="ghost">Read More</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
function FlagIcon(props: React.SVGProps<SVGSVGElement>) {
|
||||
return (
|
||||
<svg
|
||||
{...props}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeWidth="2"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
>
|
||||
<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z" />
|
||||
<line x1="4" x2="4" y1="22" y2="15" />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
50
apps/web/src/components/ui/avatar.tsx
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import * as AvatarPrimitive from "@radix-ui/react-avatar"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const Avatar = React.forwardRef<
|
||||
React.ElementRef<typeof AvatarPrimitive.Root>,
|
||||
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<AvatarPrimitive.Root
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
Avatar.displayName = AvatarPrimitive.Root.displayName
|
||||
|
||||
const AvatarImage = React.forwardRef<
|
||||
React.ElementRef<typeof AvatarPrimitive.Image>,
|
||||
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<AvatarPrimitive.Image
|
||||
ref={ref}
|
||||
className={cn("aspect-square h-full w-full", className)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
AvatarImage.displayName = AvatarPrimitive.Image.displayName
|
||||
|
||||
const AvatarFallback = React.forwardRef<
|
||||
React.ElementRef<typeof AvatarPrimitive.Fallback>,
|
||||
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<AvatarPrimitive.Fallback
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"flex h-full w-full items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
|
||||
|
||||
export { Avatar, AvatarImage, AvatarFallback }
|
||||
36
apps/web/src/components/ui/badge.tsx
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
import * as React from "react"
|
||||
import { cva, type VariantProps } from "class-variance-authority"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const badgeVariants = cva(
|
||||
"inline-flex items-center rounded-full border border-gray-200 px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 dark:border-gray-800 dark:focus:ring-gray-300",
|
||||
{
|
||||
variants: {
|
||||
variant: {
|
||||
default:
|
||||
"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
||||
secondary:
|
||||
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
||||
destructive:
|
||||
"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
||||
outline: "text-foreground",
|
||||
},
|
||||
},
|
||||
defaultVariants: {
|
||||
variant: "default",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
export interface BadgeProps
|
||||
extends React.HTMLAttributes<HTMLDivElement>,
|
||||
VariantProps<typeof badgeVariants> {}
|
||||
|
||||
function Badge({ className, variant, ...props }: BadgeProps) {
|
||||
return (
|
||||
<div className={cn(badgeVariants({ variant }), className)} {...props} />
|
||||
)
|
||||
}
|
||||
|
||||
export { Badge, badgeVariants }
|
||||
56
apps/web/src/components/ui/button.tsx
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
import * as React from "react"
|
||||
import { Slot } from "@radix-ui/react-slot"
|
||||
import { cva, type VariantProps } from "class-variance-authority"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const buttonVariants = cva(
|
||||
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",
|
||||
{
|
||||
variants: {
|
||||
variant: {
|
||||
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
||||
destructive:
|
||||
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
||||
outline:
|
||||
"border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
||||
secondary:
|
||||
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
||||
ghost: "hover:bg-accent hover:text-accent-foreground",
|
||||
link: "text-primary underline-offset-4 hover:underline",
|
||||
},
|
||||
size: {
|
||||
default: "h-10 px-4 py-2",
|
||||
sm: "h-9 rounded-md px-3",
|
||||
lg: "h-11 rounded-md px-8",
|
||||
icon: "h-10 w-10",
|
||||
},
|
||||
},
|
||||
defaultVariants: {
|
||||
variant: "default",
|
||||
size: "default",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
export interface ButtonProps
|
||||
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
||||
VariantProps<typeof buttonVariants> {
|
||||
asChild?: boolean
|
||||
}
|
||||
|
||||
const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
||||
({ className, variant, size, asChild = false, ...props }, ref) => {
|
||||
const Comp = asChild ? Slot : "button"
|
||||
return (
|
||||
<button
|
||||
className={cn(buttonVariants({ variant, size, className }))}
|
||||
ref={ref}
|
||||
{...props}
|
||||
/>
|
||||
)
|
||||
}
|
||||
)
|
||||
Button.displayName = "Button"
|
||||
|
||||
export { Button, buttonVariants }
|
||||
79
apps/web/src/components/ui/card.tsx
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
import * as React from "react"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const Card = React.forwardRef<
|
||||
HTMLDivElement,
|
||||
React.HTMLAttributes<HTMLDivElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<div
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"rounded-lg border border-gray-200 bg-white text-gray-950 shadow-sm dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
Card.displayName = "Card"
|
||||
|
||||
const CardHeader = React.forwardRef<
|
||||
HTMLDivElement,
|
||||
React.HTMLAttributes<HTMLDivElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<div
|
||||
ref={ref}
|
||||
className={cn("flex flex-col space-y-1.5 p-6", className)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
CardHeader.displayName = "CardHeader"
|
||||
|
||||
const CardTitle = React.forwardRef<
|
||||
HTMLParagraphElement,
|
||||
React.HTMLAttributes<HTMLHeadingElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<h3
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"text-2xl font-semibold leading-none tracking-tight",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
CardTitle.displayName = "CardTitle"
|
||||
|
||||
const CardDescription = React.forwardRef<
|
||||
HTMLParagraphElement,
|
||||
React.HTMLAttributes<HTMLParagraphElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<p
|
||||
ref={ref}
|
||||
className={cn("text-sm text-gray-500 dark:text-gray-400", className)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
CardDescription.displayName = "CardDescription"
|
||||
|
||||
const CardContent = React.forwardRef<
|
||||
HTMLDivElement,
|
||||
React.HTMLAttributes<HTMLDivElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
|
||||
))
|
||||
CardContent.displayName = "CardContent"
|
||||
|
||||
const CardFooter = React.forwardRef<
|
||||
HTMLDivElement,
|
||||
React.HTMLAttributes<HTMLDivElement>
|
||||
>(({ className, ...props }, ref) => (
|
||||
<div
|
||||
ref={ref}
|
||||
className={cn("flex items-center p-6 pt-0", className)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
CardFooter.displayName = "CardFooter"
|
||||
|
||||
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
|
||||
25
apps/web/src/components/ui/input.tsx
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import * as React from "react"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
export interface InputProps
|
||||
extends React.InputHTMLAttributes<HTMLInputElement> {}
|
||||
|
||||
const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
||||
({ className, type, ...props }, ref) => {
|
||||
return (
|
||||
<input
|
||||
type={type}
|
||||
className={cn(
|
||||
"flex h-10 w-full rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus-visible:ring-gray-300",
|
||||
className
|
||||
)}
|
||||
ref={ref}
|
||||
{...props}
|
||||
/>
|
||||
)
|
||||
}
|
||||
)
|
||||
Input.displayName = "Input"
|
||||
|
||||
export { Input }
|
||||