16 changed files with 3749 additions and 2440 deletions
-
9web/app/(todo-migrate-pages-to-app-router)/v2/page.tsx
-
25web/app/customer-support/page.tsx
-
12web/app/layout.tsx
-
20web/components.json
-
10web/components/dashboard/APIKeyAndDevices.tsx
-
6web/components/dashboard/GenerateApiKey.tsx
-
2web/components/dashboard/UserStatsCard.tsx
-
6web/lib/utils.ts
-
1web/next-env.d.ts
-
11web/package.json
-
21web/pages/_app.tsx
-
5910web/pnpm-lock.yaml
-
6web/postcss.config.js
-
66web/styles/main.css
-
64web/tailwind.config.js
-
14web/tsconfig.json
@ -0,0 +1,9 @@ |
|||||
|
import React from 'react' |
||||
|
|
||||
|
export default function page() { |
||||
|
return ( |
||||
|
<div> |
||||
|
v2 |
||||
|
</div> |
||||
|
) |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
import Link from 'next/link' |
||||
|
import React from 'react' |
||||
|
|
||||
|
export default function CustomerSupportPage() { |
||||
|
return ( |
||||
|
<div> |
||||
|
<div> |
||||
|
<Link |
||||
|
href='/' |
||||
|
style={{ |
||||
|
margin: '5px', |
||||
|
padding: '5px', |
||||
|
}} |
||||
|
>{`<-- Go Back Home`}</Link> |
||||
|
</div> |
||||
|
<iframe |
||||
|
src='https://docs.google.com/forms/d/e/1FAIpQLScdlaaW28BdL-J0DrfKbz5TY5JvaGbbc6IVp95cptOQlq4ElQ/viewform?embedded=true' |
||||
|
width='100%' |
||||
|
height='1015' |
||||
|
> |
||||
|
Loading… |
||||
|
</iframe> |
||||
|
</div> |
||||
|
) |
||||
|
} |
||||
@ -0,0 +1,12 @@ |
|||||
|
import { PropsWithChildren } from 'react' |
||||
|
import '@/styles/main.css' |
||||
|
|
||||
|
export default async function RootLayout({ children }: PropsWithChildren) { |
||||
|
return ( |
||||
|
<html lang='en'> |
||||
|
<body> |
||||
|
<main>{children}</main> |
||||
|
</body> |
||||
|
</html> |
||||
|
) |
||||
|
} |
||||
@ -0,0 +1,20 @@ |
|||||
|
{ |
||||
|
"$schema": "https://ui.shadcn.com/schema.json", |
||||
|
"style": "new-york", |
||||
|
"rsc": true, |
||||
|
"tsx": true, |
||||
|
"tailwind": { |
||||
|
"config": "tailwind.config.js", |
||||
|
"css": "styles/main.css", |
||||
|
"baseColor": "gray", |
||||
|
"cssVariables": true, |
||||
|
"prefix": "" |
||||
|
}, |
||||
|
"aliases": { |
||||
|
"components": "@/components", |
||||
|
"utils": "@/lib/utils", |
||||
|
"ui": "@/components/ui", |
||||
|
"lib": "@/lib", |
||||
|
"hooks": "@/hooks" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
import { clsx, type ClassValue } from "clsx" |
||||
|
import { twMerge } from "tailwind-merge" |
||||
|
|
||||
|
export function cn(...inputs: ClassValue[]) { |
||||
|
return twMerge(clsx(inputs)) |
||||
|
} |
||||
@ -1,5 +1,6 @@ |
|||||
/// <reference types="next" />
|
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
/// <reference types="next/image-types/global" />
|
||||
|
/// <reference types="next/navigation-types/compat/navigation" />
|
||||
|
|
||||
// NOTE: This file should not be edited
|
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
||||
5910
web/pnpm-lock.yaml
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,6 @@ |
|||||
|
module.exports = { |
||||
|
plugins: { |
||||
|
tailwindcss: {}, |
||||
|
autoprefixer: {}, |
||||
|
}, |
||||
|
} |
||||
@ -0,0 +1,66 @@ |
|||||
|
@tailwind base; |
||||
|
@tailwind components; |
||||
|
@tailwind utilities; |
||||
|
@layer base { |
||||
|
:root { |
||||
|
--background: 0 0% 100%; |
||||
|
--foreground: 224 71.4% 4.1%; |
||||
|
--card: 0 0% 100%; |
||||
|
--card-foreground: 224 71.4% 4.1%; |
||||
|
--popover: 0 0% 100%; |
||||
|
--popover-foreground: 224 71.4% 4.1%; |
||||
|
--primary: 220.9 39.3% 11%; |
||||
|
--primary-foreground: 210 20% 98%; |
||||
|
--secondary: 220 14.3% 95.9%; |
||||
|
--secondary-foreground: 220.9 39.3% 11%; |
||||
|
--muted: 220 14.3% 95.9%; |
||||
|
--muted-foreground: 220 8.9% 46.1%; |
||||
|
--accent: 220 14.3% 95.9%; |
||||
|
--accent-foreground: 220.9 39.3% 11%; |
||||
|
--destructive: 0 84.2% 60.2%; |
||||
|
--destructive-foreground: 210 20% 98%; |
||||
|
--border: 220 13% 91%; |
||||
|
--input: 220 13% 91%; |
||||
|
--ring: 224 71.4% 4.1%; |
||||
|
--chart-1: 12 76% 61%; |
||||
|
--chart-2: 173 58% 39%; |
||||
|
--chart-3: 197 37% 24%; |
||||
|
--chart-4: 43 74% 66%; |
||||
|
--chart-5: 27 87% 67%; |
||||
|
--radius: 0.5rem |
||||
|
} |
||||
|
.dark { |
||||
|
--background: 224 71.4% 4.1%; |
||||
|
--foreground: 210 20% 98%; |
||||
|
--card: 224 71.4% 4.1%; |
||||
|
--card-foreground: 210 20% 98%; |
||||
|
--popover: 224 71.4% 4.1%; |
||||
|
--popover-foreground: 210 20% 98%; |
||||
|
--primary: 210 20% 98%; |
||||
|
--primary-foreground: 220.9 39.3% 11%; |
||||
|
--secondary: 215 27.9% 16.9%; |
||||
|
--secondary-foreground: 210 20% 98%; |
||||
|
--muted: 215 27.9% 16.9%; |
||||
|
--muted-foreground: 217.9 10.6% 64.9%; |
||||
|
--accent: 215 27.9% 16.9%; |
||||
|
--accent-foreground: 210 20% 98%; |
||||
|
--destructive: 0 62.8% 30.6%; |
||||
|
--destructive-foreground: 210 20% 98%; |
||||
|
--border: 215 27.9% 16.9%; |
||||
|
--input: 215 27.9% 16.9%; |
||||
|
--ring: 216 12.2% 83.9%; |
||||
|
--chart-1: 220 70% 50%; |
||||
|
--chart-2: 160 60% 45%; |
||||
|
--chart-3: 30 80% 55%; |
||||
|
--chart-4: 280 65% 60%; |
||||
|
--chart-5: 340 75% 55% |
||||
|
} |
||||
|
} |
||||
|
@layer base { |
||||
|
* { |
||||
|
@apply border-border; |
||||
|
} |
||||
|
body { |
||||
|
@apply bg-background text-foreground; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,64 @@ |
|||||
|
/** @type {import('tailwindcss').Config} */ |
||||
|
module.exports = { |
||||
|
darkMode: ["class"], |
||||
|
content: [ |
||||
|
"./app/**/*.{js,ts,jsx,tsx,mdx}", |
||||
|
"./pages/**/*.{js,ts,jsx,tsx,mdx}", |
||||
|
"./components/**/*.{js,ts,jsx,tsx,mdx}", |
||||
|
|
||||
|
// Or if using `src` directory:
|
||||
|
"./src/**/*.{js,ts,jsx,tsx,mdx}", |
||||
|
], |
||||
|
theme: { |
||||
|
extend: { |
||||
|
borderRadius: { |
||||
|
lg: 'var(--radius)', |
||||
|
md: 'calc(var(--radius) - 2px)', |
||||
|
sm: 'calc(var(--radius) - 4px)' |
||||
|
}, |
||||
|
colors: { |
||||
|
background: 'hsl(var(--background))', |
||||
|
foreground: 'hsl(var(--foreground))', |
||||
|
card: { |
||||
|
DEFAULT: 'hsl(var(--card))', |
||||
|
foreground: 'hsl(var(--card-foreground))' |
||||
|
}, |
||||
|
popover: { |
||||
|
DEFAULT: 'hsl(var(--popover))', |
||||
|
foreground: 'hsl(var(--popover-foreground))' |
||||
|
}, |
||||
|
primary: { |
||||
|
DEFAULT: 'hsl(var(--primary))', |
||||
|
foreground: 'hsl(var(--primary-foreground))' |
||||
|
}, |
||||
|
secondary: { |
||||
|
DEFAULT: 'hsl(var(--secondary))', |
||||
|
foreground: 'hsl(var(--secondary-foreground))' |
||||
|
}, |
||||
|
muted: { |
||||
|
DEFAULT: 'hsl(var(--muted))', |
||||
|
foreground: 'hsl(var(--muted-foreground))' |
||||
|
}, |
||||
|
accent: { |
||||
|
DEFAULT: 'hsl(var(--accent))', |
||||
|
foreground: 'hsl(var(--accent-foreground))' |
||||
|
}, |
||||
|
destructive: { |
||||
|
DEFAULT: 'hsl(var(--destructive))', |
||||
|
foreground: 'hsl(var(--destructive-foreground))' |
||||
|
}, |
||||
|
border: 'hsl(var(--border))', |
||||
|
input: 'hsl(var(--input))', |
||||
|
ring: 'hsl(var(--ring))', |
||||
|
chart: { |
||||
|
'1': 'hsl(var(--chart-1))', |
||||
|
'2': 'hsl(var(--chart-2))', |
||||
|
'3': 'hsl(var(--chart-3))', |
||||
|
'4': 'hsl(var(--chart-4))', |
||||
|
'5': 'hsl(var(--chart-5))' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
plugins: [require("tailwindcss-animate")], |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue