diff --git a/apps/www/__registry__/default/block/login-01/page.tsx b/apps/www/__registry__/default/block/login-01/page.tsx index b4b8a2f7127..0335b18b465 100644 --- a/apps/www/__registry__/default/block/login-01/page.tsx +++ b/apps/www/__registry__/default/block/login-01/page.tsx @@ -4,12 +4,12 @@ export const description = "A simple login form." export const iframeHeight = "870px" -export const containerClassName = "w-full h-full" - export default function Page() { return ( -
- +
+
+ +
) } diff --git a/apps/www/__registry__/default/block/login-02/page.tsx b/apps/www/__registry__/default/block/login-02/page.tsx new file mode 100644 index 00000000000..8e6c45ad5b8 --- /dev/null +++ b/apps/www/__registry__/default/block/login-02/page.tsx @@ -0,0 +1,36 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/default/block/login-02/components/login-form" + +export const description = "A two column login page with a cover image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+
+ +
+ +
+ Acme Inc. +
+
+
+
+ +
+
+
+
+ Image +
+
+ ) +} diff --git a/apps/www/__registry__/default/block/login-03/page.tsx b/apps/www/__registry__/default/block/login-03/page.tsx new file mode 100644 index 00000000000..3e968e86278 --- /dev/null +++ b/apps/www/__registry__/default/block/login-03/page.tsx @@ -0,0 +1,23 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/default/block/login-03/components/login-form" + +export const description = "A login page with a muted background color." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+ +
+ Acme Inc. +
+ +
+
+ ) +} diff --git a/apps/www/__registry__/default/block/login-04/page.tsx b/apps/www/__registry__/default/block/login-04/page.tsx new file mode 100644 index 00000000000..662cbf657e3 --- /dev/null +++ b/apps/www/__registry__/default/block/login-04/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/default/block/login-04/components/login-form" + +export const description = "A login page with form and image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/__registry__/default/block/login-05/page.tsx b/apps/www/__registry__/default/block/login-05/page.tsx new file mode 100644 index 00000000000..b2aa48f0947 --- /dev/null +++ b/apps/www/__registry__/default/block/login-05/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/default/block/login-05/components/login-form" + +export const description = "A simple email-only login page." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/__registry__/index.tsx b/apps/www/__registry__/index.tsx index d7ed6f1dd59..2ab6370ff0d 100644 --- a/apps/www/__registry__/index.tsx +++ b/apps/www/__registry__/index.tsx @@ -4073,6 +4073,86 @@ export const Index: Record = { subcategory: "Login", chunks: [] }, + "login-02": { + name: "login-02", + description: "A two column login page with a cover image.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/login-02/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/new-york/block/login-02/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/new-york/block/login-02/page.tsx")), + source: "__registry__/new-york/block/login-02/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-03": { + name: "login-03", + description: "A login page with a muted background color.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/login-03/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/new-york/block/login-03/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/new-york/block/login-03/page.tsx")), + source: "__registry__/new-york/block/login-03/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-04": { + name: "login-04", + description: "A login page with form and image.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/login-04/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/new-york/block/login-04/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/new-york/block/login-04/page.tsx")), + source: "__registry__/new-york/block/login-04/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-05": { + name: "login-05", + description: "A simple email-only login page.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/new-york/block/login-05/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/new-york/block/login-05/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/new-york/block/login-05/page.tsx")), + source: "__registry__/new-york/block/login-05/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, "chart-area-axes": { name: "chart-area-axes", description: "An area chart with axes", @@ -9566,6 +9646,86 @@ export const Index: Record = { subcategory: "Login", chunks: [] }, + "login-02": { + name: "login-02", + description: "A two column login page with a cover image.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/login-02/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/default/block/login-02/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/default/block/login-02/page.tsx")), + source: "__registry__/default/block/login-02/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-03": { + name: "login-03", + description: "A login page with a muted background color.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/login-03/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/default/block/login-03/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/default/block/login-03/page.tsx")), + source: "__registry__/default/block/login-03/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-04": { + name: "login-04", + description: "A login page with form and image.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/login-04/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/default/block/login-04/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/default/block/login-04/page.tsx")), + source: "__registry__/default/block/login-04/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, + "login-05": { + name: "login-05", + description: "A simple email-only login page.", + type: "registry:block", + registryDependencies: ["button","card","input","label"], + files: [{ + path: "registry/default/block/login-05/page.tsx", + type: "registry:page", + target: "app/login/page.tsx" + },{ + path: "registry/default/block/login-05/components/login-form.tsx", + type: "registry:component", + target: "" + }], + component: React.lazy(() => import("@/registry/default/block/login-05/page.tsx")), + source: "__registry__/default/block/login-05/page.tsx", + category: "Authentication", + subcategory: "Login", + chunks: [] + }, "chart-area-axes": { name: "chart-area-axes", description: "An area chart with axes", diff --git a/apps/www/__registry__/new-york/block/chart-area-interactive.tsx b/apps/www/__registry__/new-york/block/chart-area-interactive.tsx index 1cd672af11c..cd8e7e6b288 100644 --- a/apps/www/__registry__/new-york/block/chart-area-interactive.tsx +++ b/apps/www/__registry__/new-york/block/chart-area-interactive.tsx @@ -141,15 +141,16 @@ export default function Component() { const filteredData = chartData.filter((item) => { const date = new Date(item.date) - const now = new Date() + const referenceDate = new Date("2024-06-30") let daysToSubtract = 90 if (timeRange === "30d") { daysToSubtract = 30 } else if (timeRange === "7d") { daysToSubtract = 7 } - now.setDate(now.getDate() - daysToSubtract) - return date >= now + const startDate = new Date(referenceDate) + startDate.setDate(startDate.getDate() - daysToSubtract) + return date >= startDate }) return ( diff --git a/apps/www/__registry__/new-york/block/login-01/page.tsx b/apps/www/__registry__/new-york/block/login-01/page.tsx index 0d346a56358..e565c183946 100644 --- a/apps/www/__registry__/new-york/block/login-01/page.tsx +++ b/apps/www/__registry__/new-york/block/login-01/page.tsx @@ -4,12 +4,12 @@ export const description = "A simple login form." export const iframeHeight = "870px" -export const containerClassName = "w-full h-full" - export default function Page() { return ( -
- +
+
+ +
) } diff --git a/apps/www/__registry__/new-york/block/login-02/page.tsx b/apps/www/__registry__/new-york/block/login-02/page.tsx new file mode 100644 index 00000000000..e9ff91aee73 --- /dev/null +++ b/apps/www/__registry__/new-york/block/login-02/page.tsx @@ -0,0 +1,36 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/new-york/block/login-02/components/login-form" + +export const description = "A two column login page with a cover image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ +
+
+
+
+ Image +
+
+ ) +} diff --git a/apps/www/__registry__/new-york/block/login-03/page.tsx b/apps/www/__registry__/new-york/block/login-03/page.tsx new file mode 100644 index 00000000000..9990ae593ba --- /dev/null +++ b/apps/www/__registry__/new-york/block/login-03/page.tsx @@ -0,0 +1,23 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/new-york/block/login-03/components/login-form" + +export const description = "A login page with a muted background color." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( + + ) +} diff --git a/apps/www/__registry__/new-york/block/login-04/page.tsx b/apps/www/__registry__/new-york/block/login-04/page.tsx new file mode 100644 index 00000000000..4e6654e8c4b --- /dev/null +++ b/apps/www/__registry__/new-york/block/login-04/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/new-york/block/login-04/components/login-form" + +export const description = "A login page with form and image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/__registry__/new-york/block/login-05/page.tsx b/apps/www/__registry__/new-york/block/login-05/page.tsx new file mode 100644 index 00000000000..b277fe60c69 --- /dev/null +++ b/apps/www/__registry__/new-york/block/login-05/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/new-york/block/login-05/components/login-form" + +export const description = "A simple email-only login page." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/app/layout.tsx b/apps/www/app/layout.tsx index 411b1bedf70..c3e043f4530 100644 --- a/apps/www/app/layout.tsx +++ b/apps/www/app/layout.tsx @@ -91,7 +91,7 @@ export default function RootLayout({ children }: RootLayoutProps) {
-
+
{children}
diff --git a/apps/www/public/r/styles/default/authentication-01.json b/apps/www/public/r/styles/default/authentication-01.json deleted file mode 100644 index b31b3f1312a..00000000000 --- a/apps/www/public/r/styles/default/authentication-01.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-01", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-01.tsx", - "content": "import { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account.\n \n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n \n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/authentication-02.json b/apps/www/public/r/styles/default/authentication-02.json deleted file mode 100644 index 3c0222bfed4..00000000000 --- a/apps/www/public/r/styles/default/authentication-02.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-02", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-02.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/authentication-03.json b/apps/www/public/r/styles/default/authentication-03.json deleted file mode 100644 index 5fb2e981f86..00000000000 --- a/apps/www/public/r/styles/default/authentication-03.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-03", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-03.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Sign Up\n \n Enter your information to create an account\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n Already have an account?{\" \"}\n \n Sign in\n \n
\n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/authentication-04.json b/apps/www/public/r/styles/default/authentication-04.json deleted file mode 100644 index a77344d1581..00000000000 --- a/apps/www/public/r/styles/default/authentication-04.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-04", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-04.tsx", - "content": "import Image from \"next/image\"\nimport Link from \"next/link\"\n\nimport { Button } from \"@/registry/default/ui/button\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport default function Dashboard() {\n return (\n
\n
\n
\n
\n

Login

\n

\n Enter your email below to login to your account\n

\n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n \n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/login-01.json b/apps/www/public/r/styles/default/login-01.json index fc3bf5b981a..9116cf4109d 100644 --- a/apps/www/public/r/styles/default/login-01.json +++ b/apps/www/public/r/styles/default/login-01.json @@ -11,13 +11,13 @@ "files": [ { "path": "block/login-01/page.tsx", - "content": "import { LoginForm } from \"@/registry/default/block/login-01/components/login-form\"\n\nexport default function Page() {\n return (\n
\n \n
\n )\n}\n", + "content": "import { LoginForm } from \"@/registry/default/block/login-01/components/login-form\"\n\nexport default function Page() {\n return (\n
\n
\n \n
\n
\n )\n}\n", "type": "registry:page", "target": "app/login/page.tsx" }, { "path": "block/login-01/components/login-form.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n )\n}\n", + "content": "import { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n
\n )\n}\n", "type": "registry:component", "target": "" } diff --git a/apps/www/public/r/styles/default/login-02.json b/apps/www/public/r/styles/default/login-02.json new file mode 100644 index 00000000000..844aa4c9e5f --- /dev/null +++ b/apps/www/public/r/styles/default/login-02.json @@ -0,0 +1,25 @@ +{ + "name": "login-02", + "type": "registry:block", + "description": "A two column login page with a cover image.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-02/page.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { LoginForm } from \"@/registry/default/block/login-02/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-02/components/login-form.tsx", + "content": "import { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"form\">) {\n return (\n
\n
\n

Login to your account

\n

\n Enter your email below to login to your account\n

\n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n \n Or continue with\n \n
\n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/login-03.json b/apps/www/public/r/styles/default/login-03.json new file mode 100644 index 00000000000..116ed2eb078 --- /dev/null +++ b/apps/www/public/r/styles/default/login-03.json @@ -0,0 +1,25 @@ +{ + "name": "login-03", + "type": "registry:block", + "description": "A login page with a muted background color.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-03/page.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { LoginForm } from \"@/registry/default/block/login-03/components/login-form\"\n\nexport default function LoginPage() {\n return (\n \n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-03/components/login-form.tsx", + "content": "import { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n \n \n Welcome back\n \n Login with your Apple or Google account\n \n \n \n
\n
\n
\n \n \n
\n
\n \n Or continue with\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/login-04.json b/apps/www/public/r/styles/default/login-04.json new file mode 100644 index 00000000000..20040c5ba7f --- /dev/null +++ b/apps/www/public/r/styles/default/login-04.json @@ -0,0 +1,25 @@ +{ + "name": "login-04", + "type": "registry:block", + "description": "A login page with form and image.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-04/page.tsx", + "content": "import { LoginForm } from \"@/registry/default/block/login-04/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-04/components/login-form.tsx", + "content": "import { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport { Card, CardContent } from \"@/registry/default/ui/card\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n
\n \n \n
\n
\n
\n

Welcome back

\n

\n Login to your Acme Inc account\n

\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n \n Or continue with\n \n
\n
\n \n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n \n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/default/login-05.json b/apps/www/public/r/styles/default/login-05.json new file mode 100644 index 00000000000..919f8b93ed2 --- /dev/null +++ b/apps/www/public/r/styles/default/login-05.json @@ -0,0 +1,25 @@ +{ + "name": "login-05", + "type": "registry:block", + "description": "A simple email-only login page.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-05/page.tsx", + "content": "import { LoginForm } from \"@/registry/default/block/login-05/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-05/components/login-form.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/default/ui/button\"\nimport { Input } from \"@/registry/default/ui/input\"\nimport { Label } from \"@/registry/default/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n
\n
\n
\n \n
\n \n
\n Acme Inc.\n \n

Welcome to Acme Inc.

\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n \n Or\n \n
\n
\n \n \n
\n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/authentication-01.json b/apps/www/public/r/styles/new-york/authentication-01.json deleted file mode 100644 index b7ebfa2259e..00000000000 --- a/apps/www/public/r/styles/new-york/authentication-01.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-01", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-01.tsx", - "content": "import { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account.\n \n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n \n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/authentication-02.json b/apps/www/public/r/styles/new-york/authentication-02.json deleted file mode 100644 index e3ffcfe4f78..00000000000 --- a/apps/www/public/r/styles/new-york/authentication-02.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-02", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-02.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/authentication-03.json b/apps/www/public/r/styles/new-york/authentication-03.json deleted file mode 100644 index 1e3fe071a0b..00000000000 --- a/apps/www/public/r/styles/new-york/authentication-03.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-03", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-03.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport default function LoginForm() {\n return (\n \n \n Sign Up\n \n Enter your information to create an account\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n Already have an account?{\" \"}\n \n Sign in\n \n
\n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/authentication-04.json b/apps/www/public/r/styles/new-york/authentication-04.json deleted file mode 100644 index 4ff69fe72c5..00000000000 --- a/apps/www/public/r/styles/new-york/authentication-04.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "authentication-04", - "type": "registry:block", - "registryDependencies": [ - "button", - "card", - "input", - "label" - ], - "files": [ - { - "path": "block/authentication-04.tsx", - "content": "import Image from \"next/image\"\nimport Link from \"next/link\"\n\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport default function Dashboard() {\n return (\n
\n
\n
\n
\n

Login

\n

\n Enter your email below to login to your account\n

\n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n \n
\n
\n )\n}\n", - "type": "registry:block", - "target": "" - } - ] -} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/chart-area-interactive.json b/apps/www/public/r/styles/new-york/chart-area-interactive.json index eae1d903051..1b8f590eda0 100644 --- a/apps/www/public/r/styles/new-york/chart-area-interactive.json +++ b/apps/www/public/r/styles/new-york/chart-area-interactive.json @@ -10,7 +10,7 @@ "files": [ { "path": "block/chart-area-interactive.tsx", - "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport {\n ChartConfig,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"@/registry/new-york/ui/chart\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/registry/new-york/ui/select\"\nconst chartData = [\n { date: \"2024-04-01\", desktop: 222, mobile: 150 },\n { date: \"2024-04-02\", desktop: 97, mobile: 180 },\n { date: \"2024-04-03\", desktop: 167, mobile: 120 },\n { date: \"2024-04-04\", desktop: 242, mobile: 260 },\n { date: \"2024-04-05\", desktop: 373, mobile: 290 },\n { date: \"2024-04-06\", desktop: 301, mobile: 340 },\n { date: \"2024-04-07\", desktop: 245, mobile: 180 },\n { date: \"2024-04-08\", desktop: 409, mobile: 320 },\n { date: \"2024-04-09\", desktop: 59, mobile: 110 },\n { date: \"2024-04-10\", desktop: 261, mobile: 190 },\n { date: \"2024-04-11\", desktop: 327, mobile: 350 },\n { date: \"2024-04-12\", desktop: 292, mobile: 210 },\n { date: \"2024-04-13\", desktop: 342, mobile: 380 },\n { date: \"2024-04-14\", desktop: 137, mobile: 220 },\n { date: \"2024-04-15\", desktop: 120, mobile: 170 },\n { date: \"2024-04-16\", desktop: 138, mobile: 190 },\n { date: \"2024-04-17\", desktop: 446, mobile: 360 },\n { date: \"2024-04-18\", desktop: 364, mobile: 410 },\n { date: \"2024-04-19\", desktop: 243, mobile: 180 },\n { date: \"2024-04-20\", desktop: 89, mobile: 150 },\n { date: \"2024-04-21\", desktop: 137, mobile: 200 },\n { date: \"2024-04-22\", desktop: 224, mobile: 170 },\n { date: \"2024-04-23\", desktop: 138, mobile: 230 },\n { date: \"2024-04-24\", desktop: 387, mobile: 290 },\n { date: \"2024-04-25\", desktop: 215, mobile: 250 },\n { date: \"2024-04-26\", desktop: 75, mobile: 130 },\n { date: \"2024-04-27\", desktop: 383, mobile: 420 },\n { date: \"2024-04-28\", desktop: 122, mobile: 180 },\n { date: \"2024-04-29\", desktop: 315, mobile: 240 },\n { date: \"2024-04-30\", desktop: 454, mobile: 380 },\n { date: \"2024-05-01\", desktop: 165, mobile: 220 },\n { date: \"2024-05-02\", desktop: 293, mobile: 310 },\n { date: \"2024-05-03\", desktop: 247, mobile: 190 },\n { date: \"2024-05-04\", desktop: 385, mobile: 420 },\n { date: \"2024-05-05\", desktop: 481, mobile: 390 },\n { date: \"2024-05-06\", desktop: 498, mobile: 520 },\n { date: \"2024-05-07\", desktop: 388, mobile: 300 },\n { date: \"2024-05-08\", desktop: 149, mobile: 210 },\n { date: \"2024-05-09\", desktop: 227, mobile: 180 },\n { date: \"2024-05-10\", desktop: 293, mobile: 330 },\n { date: \"2024-05-11\", desktop: 335, mobile: 270 },\n { date: \"2024-05-12\", desktop: 197, mobile: 240 },\n { date: \"2024-05-13\", desktop: 197, mobile: 160 },\n { date: \"2024-05-14\", desktop: 448, mobile: 490 },\n { date: \"2024-05-15\", desktop: 473, mobile: 380 },\n { date: \"2024-05-16\", desktop: 338, mobile: 400 },\n { date: \"2024-05-17\", desktop: 499, mobile: 420 },\n { date: \"2024-05-18\", desktop: 315, mobile: 350 },\n { date: \"2024-05-19\", desktop: 235, mobile: 180 },\n { date: \"2024-05-20\", desktop: 177, mobile: 230 },\n { date: \"2024-05-21\", desktop: 82, mobile: 140 },\n { date: \"2024-05-22\", desktop: 81, mobile: 120 },\n { date: \"2024-05-23\", desktop: 252, mobile: 290 },\n { date: \"2024-05-24\", desktop: 294, mobile: 220 },\n { date: \"2024-05-25\", desktop: 201, mobile: 250 },\n { date: \"2024-05-26\", desktop: 213, mobile: 170 },\n { date: \"2024-05-27\", desktop: 420, mobile: 460 },\n { date: \"2024-05-28\", desktop: 233, mobile: 190 },\n { date: \"2024-05-29\", desktop: 78, mobile: 130 },\n { date: \"2024-05-30\", desktop: 340, mobile: 280 },\n { date: \"2024-05-31\", desktop: 178, mobile: 230 },\n { date: \"2024-06-01\", desktop: 178, mobile: 200 },\n { date: \"2024-06-02\", desktop: 470, mobile: 410 },\n { date: \"2024-06-03\", desktop: 103, mobile: 160 },\n { date: \"2024-06-04\", desktop: 439, mobile: 380 },\n { date: \"2024-06-05\", desktop: 88, mobile: 140 },\n { date: \"2024-06-06\", desktop: 294, mobile: 250 },\n { date: \"2024-06-07\", desktop: 323, mobile: 370 },\n { date: \"2024-06-08\", desktop: 385, mobile: 320 },\n { date: \"2024-06-09\", desktop: 438, mobile: 480 },\n { date: \"2024-06-10\", desktop: 155, mobile: 200 },\n { date: \"2024-06-11\", desktop: 92, mobile: 150 },\n { date: \"2024-06-12\", desktop: 492, mobile: 420 },\n { date: \"2024-06-13\", desktop: 81, mobile: 130 },\n { date: \"2024-06-14\", desktop: 426, mobile: 380 },\n { date: \"2024-06-15\", desktop: 307, mobile: 350 },\n { date: \"2024-06-16\", desktop: 371, mobile: 310 },\n { date: \"2024-06-17\", desktop: 475, mobile: 520 },\n { date: \"2024-06-18\", desktop: 107, mobile: 170 },\n { date: \"2024-06-19\", desktop: 341, mobile: 290 },\n { date: \"2024-06-20\", desktop: 408, mobile: 450 },\n { date: \"2024-06-21\", desktop: 169, mobile: 210 },\n { date: \"2024-06-22\", desktop: 317, mobile: 270 },\n { date: \"2024-06-23\", desktop: 480, mobile: 530 },\n { date: \"2024-06-24\", desktop: 132, mobile: 180 },\n { date: \"2024-06-25\", desktop: 141, mobile: 190 },\n { date: \"2024-06-26\", desktop: 434, mobile: 380 },\n { date: \"2024-06-27\", desktop: 448, mobile: 490 },\n { date: \"2024-06-28\", desktop: 149, mobile: 200 },\n { date: \"2024-06-29\", desktop: 103, mobile: 160 },\n { date: \"2024-06-30\", desktop: 446, mobile: 400 },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n desktop: {\n label: \"Desktop\",\n color: \"hsl(var(--chart-1))\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"hsl(var(--chart-2))\",\n },\n} satisfies ChartConfig\n\nexport default function Component() {\n const [timeRange, setTimeRange] = React.useState(\"90d\")\n\n const filteredData = chartData.filter((item) => {\n const date = new Date(item.date)\n const now = new Date()\n let daysToSubtract = 90\n if (timeRange === \"30d\") {\n daysToSubtract = 30\n } else if (timeRange === \"7d\") {\n daysToSubtract = 7\n }\n now.setDate(now.getDate() - daysToSubtract)\n return date >= now\n })\n\n return (\n \n \n
\n Area Chart - Interactive\n \n Showing total visitors for the last 3 months\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n const date = new Date(value)\n return date.toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n />\n {\n return new Date(value).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n indicator=\"dot\"\n />\n }\n />\n \n \n } />\n \n \n \n
\n )\n}\n", + "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport {\n ChartConfig,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from \"@/registry/new-york/ui/chart\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/registry/new-york/ui/select\"\nconst chartData = [\n { date: \"2024-04-01\", desktop: 222, mobile: 150 },\n { date: \"2024-04-02\", desktop: 97, mobile: 180 },\n { date: \"2024-04-03\", desktop: 167, mobile: 120 },\n { date: \"2024-04-04\", desktop: 242, mobile: 260 },\n { date: \"2024-04-05\", desktop: 373, mobile: 290 },\n { date: \"2024-04-06\", desktop: 301, mobile: 340 },\n { date: \"2024-04-07\", desktop: 245, mobile: 180 },\n { date: \"2024-04-08\", desktop: 409, mobile: 320 },\n { date: \"2024-04-09\", desktop: 59, mobile: 110 },\n { date: \"2024-04-10\", desktop: 261, mobile: 190 },\n { date: \"2024-04-11\", desktop: 327, mobile: 350 },\n { date: \"2024-04-12\", desktop: 292, mobile: 210 },\n { date: \"2024-04-13\", desktop: 342, mobile: 380 },\n { date: \"2024-04-14\", desktop: 137, mobile: 220 },\n { date: \"2024-04-15\", desktop: 120, mobile: 170 },\n { date: \"2024-04-16\", desktop: 138, mobile: 190 },\n { date: \"2024-04-17\", desktop: 446, mobile: 360 },\n { date: \"2024-04-18\", desktop: 364, mobile: 410 },\n { date: \"2024-04-19\", desktop: 243, mobile: 180 },\n { date: \"2024-04-20\", desktop: 89, mobile: 150 },\n { date: \"2024-04-21\", desktop: 137, mobile: 200 },\n { date: \"2024-04-22\", desktop: 224, mobile: 170 },\n { date: \"2024-04-23\", desktop: 138, mobile: 230 },\n { date: \"2024-04-24\", desktop: 387, mobile: 290 },\n { date: \"2024-04-25\", desktop: 215, mobile: 250 },\n { date: \"2024-04-26\", desktop: 75, mobile: 130 },\n { date: \"2024-04-27\", desktop: 383, mobile: 420 },\n { date: \"2024-04-28\", desktop: 122, mobile: 180 },\n { date: \"2024-04-29\", desktop: 315, mobile: 240 },\n { date: \"2024-04-30\", desktop: 454, mobile: 380 },\n { date: \"2024-05-01\", desktop: 165, mobile: 220 },\n { date: \"2024-05-02\", desktop: 293, mobile: 310 },\n { date: \"2024-05-03\", desktop: 247, mobile: 190 },\n { date: \"2024-05-04\", desktop: 385, mobile: 420 },\n { date: \"2024-05-05\", desktop: 481, mobile: 390 },\n { date: \"2024-05-06\", desktop: 498, mobile: 520 },\n { date: \"2024-05-07\", desktop: 388, mobile: 300 },\n { date: \"2024-05-08\", desktop: 149, mobile: 210 },\n { date: \"2024-05-09\", desktop: 227, mobile: 180 },\n { date: \"2024-05-10\", desktop: 293, mobile: 330 },\n { date: \"2024-05-11\", desktop: 335, mobile: 270 },\n { date: \"2024-05-12\", desktop: 197, mobile: 240 },\n { date: \"2024-05-13\", desktop: 197, mobile: 160 },\n { date: \"2024-05-14\", desktop: 448, mobile: 490 },\n { date: \"2024-05-15\", desktop: 473, mobile: 380 },\n { date: \"2024-05-16\", desktop: 338, mobile: 400 },\n { date: \"2024-05-17\", desktop: 499, mobile: 420 },\n { date: \"2024-05-18\", desktop: 315, mobile: 350 },\n { date: \"2024-05-19\", desktop: 235, mobile: 180 },\n { date: \"2024-05-20\", desktop: 177, mobile: 230 },\n { date: \"2024-05-21\", desktop: 82, mobile: 140 },\n { date: \"2024-05-22\", desktop: 81, mobile: 120 },\n { date: \"2024-05-23\", desktop: 252, mobile: 290 },\n { date: \"2024-05-24\", desktop: 294, mobile: 220 },\n { date: \"2024-05-25\", desktop: 201, mobile: 250 },\n { date: \"2024-05-26\", desktop: 213, mobile: 170 },\n { date: \"2024-05-27\", desktop: 420, mobile: 460 },\n { date: \"2024-05-28\", desktop: 233, mobile: 190 },\n { date: \"2024-05-29\", desktop: 78, mobile: 130 },\n { date: \"2024-05-30\", desktop: 340, mobile: 280 },\n { date: \"2024-05-31\", desktop: 178, mobile: 230 },\n { date: \"2024-06-01\", desktop: 178, mobile: 200 },\n { date: \"2024-06-02\", desktop: 470, mobile: 410 },\n { date: \"2024-06-03\", desktop: 103, mobile: 160 },\n { date: \"2024-06-04\", desktop: 439, mobile: 380 },\n { date: \"2024-06-05\", desktop: 88, mobile: 140 },\n { date: \"2024-06-06\", desktop: 294, mobile: 250 },\n { date: \"2024-06-07\", desktop: 323, mobile: 370 },\n { date: \"2024-06-08\", desktop: 385, mobile: 320 },\n { date: \"2024-06-09\", desktop: 438, mobile: 480 },\n { date: \"2024-06-10\", desktop: 155, mobile: 200 },\n { date: \"2024-06-11\", desktop: 92, mobile: 150 },\n { date: \"2024-06-12\", desktop: 492, mobile: 420 },\n { date: \"2024-06-13\", desktop: 81, mobile: 130 },\n { date: \"2024-06-14\", desktop: 426, mobile: 380 },\n { date: \"2024-06-15\", desktop: 307, mobile: 350 },\n { date: \"2024-06-16\", desktop: 371, mobile: 310 },\n { date: \"2024-06-17\", desktop: 475, mobile: 520 },\n { date: \"2024-06-18\", desktop: 107, mobile: 170 },\n { date: \"2024-06-19\", desktop: 341, mobile: 290 },\n { date: \"2024-06-20\", desktop: 408, mobile: 450 },\n { date: \"2024-06-21\", desktop: 169, mobile: 210 },\n { date: \"2024-06-22\", desktop: 317, mobile: 270 },\n { date: \"2024-06-23\", desktop: 480, mobile: 530 },\n { date: \"2024-06-24\", desktop: 132, mobile: 180 },\n { date: \"2024-06-25\", desktop: 141, mobile: 190 },\n { date: \"2024-06-26\", desktop: 434, mobile: 380 },\n { date: \"2024-06-27\", desktop: 448, mobile: 490 },\n { date: \"2024-06-28\", desktop: 149, mobile: 200 },\n { date: \"2024-06-29\", desktop: 103, mobile: 160 },\n { date: \"2024-06-30\", desktop: 446, mobile: 400 },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n desktop: {\n label: \"Desktop\",\n color: \"hsl(var(--chart-1))\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"hsl(var(--chart-2))\",\n },\n} satisfies ChartConfig\n\nexport default function Component() {\n const [timeRange, setTimeRange] = React.useState(\"90d\")\n\n const filteredData = chartData.filter((item) => {\n const date = new Date(item.date)\n const referenceDate = new Date(\"2024-06-30\")\n let daysToSubtract = 90\n if (timeRange === \"30d\") {\n daysToSubtract = 30\n } else if (timeRange === \"7d\") {\n daysToSubtract = 7\n }\n const startDate = new Date(referenceDate)\n startDate.setDate(startDate.getDate() - daysToSubtract)\n return date >= startDate\n })\n\n return (\n \n \n
\n Area Chart - Interactive\n \n Showing total visitors for the last 3 months\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n const date = new Date(value)\n return date.toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n />\n {\n return new Date(value).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n indicator=\"dot\"\n />\n }\n />\n \n \n } />\n \n \n \n
\n )\n}\n", "type": "registry:component", "target": "" } diff --git a/apps/www/public/r/styles/new-york/login-01.json b/apps/www/public/r/styles/new-york/login-01.json index d2039760577..b257718bbd4 100644 --- a/apps/www/public/r/styles/new-york/login-01.json +++ b/apps/www/public/r/styles/new-york/login-01.json @@ -11,13 +11,13 @@ "files": [ { "path": "block/login-01/page.tsx", - "content": "import { LoginForm } from \"@/registry/new-york/block/login-01/components/login-form\"\n\nexport default function Page() {\n return (\n
\n \n
\n )\n}\n", + "content": "import { LoginForm } from \"@/registry/new-york/block/login-01/components/login-form\"\n\nexport default function Page() {\n return (\n
\n
\n \n
\n
\n )\n}\n", "type": "registry:page", "target": "app/login/page.tsx" }, { "path": "block/login-01/components/login-form.tsx", - "content": "import Link from \"next/link\"\n\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm() {\n return (\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n )\n}\n", + "content": "import { cn } from \"@/registry/new-york/lib/utils\"\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n \n \n Login\n \n Enter your email below to login to your account\n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n
\n )\n}\n", "type": "registry:component", "target": "" } diff --git a/apps/www/public/r/styles/new-york/login-02.json b/apps/www/public/r/styles/new-york/login-02.json new file mode 100644 index 00000000000..840b8a6e3ac --- /dev/null +++ b/apps/www/public/r/styles/new-york/login-02.json @@ -0,0 +1,25 @@ +{ + "name": "login-02", + "type": "registry:block", + "description": "A two column login page with a cover image.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-02/page.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { LoginForm } from \"@/registry/new-york/block/login-02/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-02/components/login-form.tsx", + "content": "import { cn } from \"@/registry/default/lib/utils\"\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"form\">) {\n return (\n
\n
\n

Login to your account

\n

\n Enter your email below to login to your account\n

\n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n \n Or continue with\n \n
\n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/login-03.json b/apps/www/public/r/styles/new-york/login-03.json new file mode 100644 index 00000000000..88734d74c9e --- /dev/null +++ b/apps/www/public/r/styles/new-york/login-03.json @@ -0,0 +1,25 @@ +{ + "name": "login-03", + "type": "registry:block", + "description": "A login page with a muted background color.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-03/page.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { LoginForm } from \"@/registry/new-york/block/login-03/components/login-form\"\n\nexport default function LoginPage() {\n return (\n \n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-03/components/login-form.tsx", + "content": "import { cn } from \"@/registry/new-york/lib/utils\"\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n \n \n Welcome back\n \n Login with your Apple or Google account\n \n \n \n
\n
\n
\n \n \n
\n
\n \n Or continue with\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/login-04.json b/apps/www/public/r/styles/new-york/login-04.json new file mode 100644 index 00000000000..8dbbb091a32 --- /dev/null +++ b/apps/www/public/r/styles/new-york/login-04.json @@ -0,0 +1,25 @@ +{ + "name": "login-04", + "type": "registry:block", + "description": "A login page with form and image.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-04/page.tsx", + "content": "import { LoginForm } from \"@/registry/new-york/block/login-04/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-04/components/login-form.tsx", + "content": "import { cn } from \"@/registry/new-york/lib/utils\"\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport { Card, CardContent } from \"@/registry/new-york/ui/card\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n
\n \n \n
\n
\n
\n

Welcome back

\n

\n Login to your Acme Inc account\n

\n
\n
\n \n \n
\n
\n
\n \n \n Forgot your password?\n \n
\n \n
\n \n
\n \n Or continue with\n \n
\n
\n \n \n \n
\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n \n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/public/r/styles/new-york/login-05.json b/apps/www/public/r/styles/new-york/login-05.json new file mode 100644 index 00000000000..1262fcae209 --- /dev/null +++ b/apps/www/public/r/styles/new-york/login-05.json @@ -0,0 +1,25 @@ +{ + "name": "login-05", + "type": "registry:block", + "description": "A simple email-only login page.", + "registryDependencies": [ + "button", + "card", + "input", + "label" + ], + "files": [ + { + "path": "block/login-05/page.tsx", + "content": "import { LoginForm } from \"@/registry/new-york/block/login-05/components/login-form\"\n\nexport default function LoginPage() {\n return (\n
\n
\n \n
\n
\n )\n}\n", + "type": "registry:page", + "target": "app/login/page.tsx" + }, + { + "path": "block/login-05/components/login-form.tsx", + "content": "import { GalleryVerticalEnd } from \"lucide-react\"\n\nimport { cn } from \"@/registry/new-york/lib/utils\"\nimport { Button } from \"@/registry/new-york/ui/button\"\nimport { Input } from \"@/registry/new-york/ui/input\"\nimport { Label } from \"@/registry/new-york/ui/label\"\n\nexport function LoginForm({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<\"div\">) {\n return (\n
\n
\n
\n
\n \n
\n \n
\n Acme Inc.\n \n

Welcome to Acme Inc.

\n
\n Don't have an account?{\" \"}\n \n Sign up\n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n \n Or\n \n
\n
\n \n \n
\n
\n
\n
\n By clicking continue, you agree to our Terms of Service{\" \"}\n and Privacy Policy.\n
\n
\n )\n}\n", + "type": "registry:component", + "target": "" + } + ] +} \ No newline at end of file diff --git a/apps/www/registry/default/block/authentication-01.tsx b/apps/www/registry/default/block/authentication-01.tsx deleted file mode 100644 index ad62585fa44..00000000000 --- a/apps/www/registry/default/block/authentication-01.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A simple login form with email and password. The submit button says 'Sign in'." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account. - - - -
- - -
-
- - -
-
- - - -
- ) -} diff --git a/apps/www/registry/default/block/authentication-02.tsx b/apps/www/registry/default/block/authentication-02.tsx deleted file mode 100644 index b4ccaddd92b..00000000000 --- a/apps/www/registry/default/block/authentication-02.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A login form with email and password. There's an option to login with Google and a link to sign up if you don't have an account." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account - - - -
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
- ) -} diff --git a/apps/www/registry/default/block/authentication-03.tsx b/apps/www/registry/default/block/authentication-03.tsx deleted file mode 100644 index 65e7c939a7a..00000000000 --- a/apps/www/registry/default/block/authentication-03.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/default/ui/card" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A sign up form with first name, last name, email and password inside a card. There's an option to sign up with GitHub and a link to login if you already have an account" - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Sign Up - - Enter your information to create an account - - - -
-
-
- - -
-
- - -
-
-
- - -
-
- - -
- - -
-
- Already have an account?{" "} - - Sign in - -
-
-
- ) -} diff --git a/apps/www/registry/default/block/authentication-04.tsx b/apps/www/registry/default/block/authentication-04.tsx deleted file mode 100644 index 1ccce939230..00000000000 --- a/apps/www/registry/default/block/authentication-04.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import Image from "next/image" -import Link from "next/link" - -import { Button } from "@/registry/default/ui/button" -import { Input } from "@/registry/default/ui/input" -import { Label } from "@/registry/default/ui/label" - -export const description = - "A login page with two columns. The first column has the login form with email and password. There's a Forgot your passwork link and a link to sign up if you do not have an account. The second column has a cover image." - -export const iframeHeight = "800px" - -export const containerClassName = "w-full h-full p-4 lg:p-0" - -export default function Dashboard() { - return ( -
-
-
-
-

Login

-

- Enter your email below to login to your account -

-
-
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
-
- Image -
-
- ) -} diff --git a/apps/www/registry/default/block/login-01/components/login-form.tsx b/apps/www/registry/default/block/login-01/components/login-form.tsx index e5504442469..d5a73214d54 100644 --- a/apps/www/registry/default/block/login-01/components/login-form.tsx +++ b/apps/www/registry/default/block/login-01/components/login-form.tsx @@ -1,5 +1,4 @@ -import Link from "next/link" - +import { cn } from "@/registry/default/lib/utils" import { Button } from "@/registry/default/ui/button" import { Card, @@ -11,49 +10,59 @@ import { import { Input } from "@/registry/default/ui/input" import { Label } from "@/registry/default/ui/label" -export function LoginForm() { +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { return ( - - - Login - - Enter your email below to login to your account - - - -
-
- - -
-
-
- - - Forgot your password? - +
+ + + Login + + Enter your email below to login to your account + + + +
+
+
+ + +
+
+ + +
+ + +
+
+ Don't have an account?{" "} + + Sign up +
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
- - + + + +
) } diff --git a/apps/www/registry/default/block/login-01/page.tsx b/apps/www/registry/default/block/login-01/page.tsx index b4b8a2f7127..0335b18b465 100644 --- a/apps/www/registry/default/block/login-01/page.tsx +++ b/apps/www/registry/default/block/login-01/page.tsx @@ -4,12 +4,12 @@ export const description = "A simple login form." export const iframeHeight = "870px" -export const containerClassName = "w-full h-full" - export default function Page() { return ( -
- +
+
+ +
) } diff --git a/apps/www/registry/default/block/login-02/components/login-form.tsx b/apps/www/registry/default/block/login-02/components/login-form.tsx new file mode 100644 index 00000000000..d0c7f1923af --- /dev/null +++ b/apps/www/registry/default/block/login-02/components/login-form.tsx @@ -0,0 +1,61 @@ +import { cn } from "@/registry/default/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { Input } from "@/registry/default/ui/input" +import { Label } from "@/registry/default/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"form">) { + return ( +
+
+

Login to your account

+

+ Enter your email below to login to your account +

+
+
+
+ + +
+
+ + +
+ +
+ + Or continue with + +
+ +
+
+ Don't have an account?{" "} + + Sign up + +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-02/page.tsx b/apps/www/registry/default/block/login-02/page.tsx new file mode 100644 index 00000000000..8e6c45ad5b8 --- /dev/null +++ b/apps/www/registry/default/block/login-02/page.tsx @@ -0,0 +1,36 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/default/block/login-02/components/login-form" + +export const description = "A two column login page with a cover image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ +
+
+
+
+ Image +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-03/components/login-form.tsx b/apps/www/registry/default/block/login-03/components/login-form.tsx new file mode 100644 index 00000000000..5198cf63782 --- /dev/null +++ b/apps/www/registry/default/block/login-03/components/login-form.tsx @@ -0,0 +1,96 @@ +import { cn } from "@/registry/default/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/registry/default/ui/card" +import { Input } from "@/registry/default/ui/input" +import { Label } from "@/registry/default/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { + return ( +
+ + + Welcome back + + Login with your Apple or Google account + + + +
+
+
+ + +
+
+ + Or continue with + +
+
+
+ + +
+
+ + +
+ +
+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-03/page.tsx b/apps/www/registry/default/block/login-03/page.tsx new file mode 100644 index 00000000000..3e968e86278 --- /dev/null +++ b/apps/www/registry/default/block/login-03/page.tsx @@ -0,0 +1,23 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/default/block/login-03/components/login-form" + +export const description = "A login page with a muted background color." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( + + ) +} diff --git a/apps/www/registry/default/block/login-04/components/login-form.tsx b/apps/www/registry/default/block/login-04/components/login-form.tsx new file mode 100644 index 00000000000..fa72a5d4b74 --- /dev/null +++ b/apps/www/registry/default/block/login-04/components/login-form.tsx @@ -0,0 +1,104 @@ +import { cn } from "@/registry/default/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { Card, CardContent } from "@/registry/default/ui/card" +import { Input } from "@/registry/default/ui/input" +import { Label } from "@/registry/default/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ + +
+
+
+

Welcome back

+

+ Login to your Acme Inc account +

+
+
+ + +
+
+ + +
+ +
+ + Or continue with + +
+
+ + + +
+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+ Image +
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-04/page.tsx b/apps/www/registry/default/block/login-04/page.tsx new file mode 100644 index 00000000000..662cbf657e3 --- /dev/null +++ b/apps/www/registry/default/block/login-04/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/default/block/login-04/components/login-form" + +export const description = "A login page with form and image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-05/components/login-form.tsx b/apps/www/registry/default/block/login-05/components/login-form.tsx new file mode 100644 index 00000000000..43a11bd495e --- /dev/null +++ b/apps/www/registry/default/block/login-05/components/login-form.tsx @@ -0,0 +1,81 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { cn } from "@/registry/default/lib/utils" +import { Button } from "@/registry/default/ui/button" +import { Input } from "@/registry/default/ui/input" +import { Label } from "@/registry/default/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { + return ( +
+
+
+
+ +
+ +
+ Acme Inc. +
+

Welcome to Acme Inc.

+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+ + +
+ +
+
+ + Or + +
+
+ + +
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/default/block/login-05/page.tsx b/apps/www/registry/default/block/login-05/page.tsx new file mode 100644 index 00000000000..b2aa48f0947 --- /dev/null +++ b/apps/www/registry/default/block/login-05/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/default/block/login-05/components/login-form" + +export const description = "A simple email-only login page." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/authentication-01.tsx b/apps/www/registry/new-york/block/authentication-01.tsx deleted file mode 100644 index 84e1e4575bf..00000000000 --- a/apps/www/registry/new-york/block/authentication-01.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Button } from "@/registry/new-york/ui/button" -import { - Card, - CardContent, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "@/registry/new-york/ui/card" -import { Input } from "@/registry/new-york/ui/input" -import { Label } from "@/registry/new-york/ui/label" - -export const description = - "A simple login form with email and password. The submit button says 'Sign in'." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account. - - - -
- - -
-
- - -
-
- - - -
- ) -} diff --git a/apps/www/registry/new-york/block/authentication-02.tsx b/apps/www/registry/new-york/block/authentication-02.tsx deleted file mode 100644 index bb1517bee41..00000000000 --- a/apps/www/registry/new-york/block/authentication-02.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/new-york/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/new-york/ui/card" -import { Input } from "@/registry/new-york/ui/input" -import { Label } from "@/registry/new-york/ui/label" - -export const description = - "A login form with email and password. There's an option to login with Google and a link to sign up if you don't have an account." - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Login - - Enter your email below to login to your account - - - -
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
- ) -} diff --git a/apps/www/registry/new-york/block/authentication-03.tsx b/apps/www/registry/new-york/block/authentication-03.tsx deleted file mode 100644 index 727f9ed3c87..00000000000 --- a/apps/www/registry/new-york/block/authentication-03.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import Link from "next/link" - -import { Button } from "@/registry/new-york/ui/button" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/registry/new-york/ui/card" -import { Input } from "@/registry/new-york/ui/input" -import { Label } from "@/registry/new-york/ui/label" - -export const description = - "A sign up form with first name, last name, email and password inside a card. There's an option to sign up with GitHub and a link to login if you already have an account" - -export const iframeHeight = "600px" - -export const containerClassName = - "w-full h-screen flex items-center justify-center px-4" - -export default function LoginForm() { - return ( - - - Sign Up - - Enter your information to create an account - - - -
-
-
- - -
-
- - -
-
-
- - -
-
- - -
- - -
-
- Already have an account?{" "} - - Sign in - -
-
-
- ) -} diff --git a/apps/www/registry/new-york/block/authentication-04.tsx b/apps/www/registry/new-york/block/authentication-04.tsx deleted file mode 100644 index cee34f6c650..00000000000 --- a/apps/www/registry/new-york/block/authentication-04.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import Image from "next/image" -import Link from "next/link" - -import { Button } from "@/registry/new-york/ui/button" -import { Input } from "@/registry/new-york/ui/input" -import { Label } from "@/registry/new-york/ui/label" - -export const description = - "A login page with two columns. The first column has the login form with email and password. There's a Forgot your passwork link and a link to sign up if you do not have an account. The second column has a cover image." - -export const iframeHeight = "800px" - -export const containerClassName = "w-full h-full p-4 lg:p-0" - -export default function Dashboard() { - return ( -
-
-
-
-

Login

-

- Enter your email below to login to your account -

-
-
-
- - -
-
-
- - - Forgot your password? - -
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
-
-
-
- Image -
-
- ) -} diff --git a/apps/www/registry/new-york/block/login-01/components/login-form.tsx b/apps/www/registry/new-york/block/login-01/components/login-form.tsx index 4820320f865..31049d8e312 100644 --- a/apps/www/registry/new-york/block/login-01/components/login-form.tsx +++ b/apps/www/registry/new-york/block/login-01/components/login-form.tsx @@ -1,5 +1,4 @@ -import Link from "next/link" - +import { cn } from "@/registry/new-york/lib/utils" import { Button } from "@/registry/new-york/ui/button" import { Card, @@ -11,49 +10,59 @@ import { import { Input } from "@/registry/new-york/ui/input" import { Label } from "@/registry/new-york/ui/label" -export function LoginForm() { +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { return ( - - - Login - - Enter your email below to login to your account - - - -
-
- - -
-
-
- - - Forgot your password? - +
+ + + Login + + Enter your email below to login to your account + + + +
+
+
+ + +
+
+ + +
+ + +
+
+ Don't have an account?{" "} + + Sign up +
- -
- - -
-
- Don't have an account?{" "} - - Sign up - -
- - + + + +
) } diff --git a/apps/www/registry/new-york/block/login-01/page.tsx b/apps/www/registry/new-york/block/login-01/page.tsx index 0d346a56358..e565c183946 100644 --- a/apps/www/registry/new-york/block/login-01/page.tsx +++ b/apps/www/registry/new-york/block/login-01/page.tsx @@ -4,12 +4,12 @@ export const description = "A simple login form." export const iframeHeight = "870px" -export const containerClassName = "w-full h-full" - export default function Page() { return ( -
- +
+
+ +
) } diff --git a/apps/www/registry/new-york/block/login-02/components/login-form.tsx b/apps/www/registry/new-york/block/login-02/components/login-form.tsx new file mode 100644 index 00000000000..c59053c6bc5 --- /dev/null +++ b/apps/www/registry/new-york/block/login-02/components/login-form.tsx @@ -0,0 +1,61 @@ +import { cn } from "@/registry/default/lib/utils" +import { Button } from "@/registry/new-york/ui/button" +import { Input } from "@/registry/new-york/ui/input" +import { Label } from "@/registry/new-york/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"form">) { + return ( +
+
+

Login to your account

+

+ Enter your email below to login to your account +

+
+
+
+ + +
+
+ + +
+ +
+ + Or continue with + +
+ +
+
+ Don't have an account?{" "} + + Sign up + +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-02/page.tsx b/apps/www/registry/new-york/block/login-02/page.tsx new file mode 100644 index 00000000000..e9ff91aee73 --- /dev/null +++ b/apps/www/registry/new-york/block/login-02/page.tsx @@ -0,0 +1,36 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/new-york/block/login-02/components/login-form" + +export const description = "A two column login page with a cover image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ +
+
+
+
+ Image +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-03/components/login-form.tsx b/apps/www/registry/new-york/block/login-03/components/login-form.tsx new file mode 100644 index 00000000000..7e455256676 --- /dev/null +++ b/apps/www/registry/new-york/block/login-03/components/login-form.tsx @@ -0,0 +1,96 @@ +import { cn } from "@/registry/new-york/lib/utils" +import { Button } from "@/registry/new-york/ui/button" +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/registry/new-york/ui/card" +import { Input } from "@/registry/new-york/ui/input" +import { Label } from "@/registry/new-york/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { + return ( +
+ + + Welcome back + + Login with your Apple or Google account + + + +
+
+
+ + +
+
+ + Or continue with + +
+
+
+ + +
+
+ + +
+ +
+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-03/page.tsx b/apps/www/registry/new-york/block/login-03/page.tsx new file mode 100644 index 00000000000..9990ae593ba --- /dev/null +++ b/apps/www/registry/new-york/block/login-03/page.tsx @@ -0,0 +1,23 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { LoginForm } from "@/registry/new-york/block/login-03/components/login-form" + +export const description = "A login page with a muted background color." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( + + ) +} diff --git a/apps/www/registry/new-york/block/login-04/components/login-form.tsx b/apps/www/registry/new-york/block/login-04/components/login-form.tsx new file mode 100644 index 00000000000..b8dc648b4a3 --- /dev/null +++ b/apps/www/registry/new-york/block/login-04/components/login-form.tsx @@ -0,0 +1,104 @@ +import { cn } from "@/registry/new-york/lib/utils" +import { Button } from "@/registry/new-york/ui/button" +import { Card, CardContent } from "@/registry/new-york/ui/card" +import { Input } from "@/registry/new-york/ui/input" +import { Label } from "@/registry/new-york/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ + +
+
+
+

Welcome back

+

+ Login to your Acme Inc account +

+
+
+ + +
+
+ + +
+ +
+ + Or continue with + +
+
+ + + +
+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+ Image +
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-04/page.tsx b/apps/www/registry/new-york/block/login-04/page.tsx new file mode 100644 index 00000000000..4e6654e8c4b --- /dev/null +++ b/apps/www/registry/new-york/block/login-04/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/new-york/block/login-04/components/login-form" + +export const description = "A login page with form and image." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-05/components/login-form.tsx b/apps/www/registry/new-york/block/login-05/components/login-form.tsx new file mode 100644 index 00000000000..6abebecb060 --- /dev/null +++ b/apps/www/registry/new-york/block/login-05/components/login-form.tsx @@ -0,0 +1,81 @@ +import { GalleryVerticalEnd } from "lucide-react" + +import { cn } from "@/registry/new-york/lib/utils" +import { Button } from "@/registry/new-york/ui/button" +import { Input } from "@/registry/new-york/ui/input" +import { Label } from "@/registry/new-york/ui/label" + +export function LoginForm({ + className, + ...props +}: React.ComponentPropsWithoutRef<"div">) { + return ( +
+
+
+
+ +
+ +
+ Acme Inc. +
+

Welcome to Acme Inc.

+
+ Don't have an account?{" "} + + Sign up + +
+
+
+
+ + +
+ +
+
+ + Or + +
+
+ + +
+
+
+
+ By clicking continue, you agree to our Terms of Service{" "} + and Privacy Policy. +
+
+ ) +} diff --git a/apps/www/registry/new-york/block/login-05/page.tsx b/apps/www/registry/new-york/block/login-05/page.tsx new file mode 100644 index 00000000000..b277fe60c69 --- /dev/null +++ b/apps/www/registry/new-york/block/login-05/page.tsx @@ -0,0 +1,15 @@ +import { LoginForm } from "@/registry/new-york/block/login-05/components/login-form" + +export const description = "A simple email-only login page." + +export const iframeHeight = "870px" + +export default function LoginPage() { + return ( +
+
+ +
+
+ ) +} diff --git a/apps/www/registry/registry-blocks.ts b/apps/www/registry/registry-blocks.ts index 8f5102662ca..b1633fc470f 100644 --- a/apps/www/registry/registry-blocks.ts +++ b/apps/www/registry/registry-blocks.ts @@ -816,4 +816,76 @@ export const blocks: Registry = [ category: "Authentication", subcategory: "Login", }, + { + name: "login-02", + type: "registry:block", + registryDependencies: ["button", "card", "input", "label"], + files: [ + { + path: "block/login-02/page.tsx", + target: "app/login/page.tsx", + type: "registry:page", + }, + { + path: "block/login-02/components/login-form.tsx", + type: "registry:component", + }, + ], + category: "Authentication", + subcategory: "Login", + }, + { + name: "login-03", + type: "registry:block", + registryDependencies: ["button", "card", "input", "label"], + files: [ + { + path: "block/login-03/page.tsx", + target: "app/login/page.tsx", + type: "registry:page", + }, + { + path: "block/login-03/components/login-form.tsx", + type: "registry:component", + }, + ], + category: "Authentication", + subcategory: "Login", + }, + { + name: "login-04", + type: "registry:block", + registryDependencies: ["button", "card", "input", "label"], + files: [ + { + path: "block/login-04/page.tsx", + target: "app/login/page.tsx", + type: "registry:page", + }, + { + path: "block/login-04/components/login-form.tsx", + type: "registry:component", + }, + ], + category: "Authentication", + subcategory: "Login", + }, + { + name: "login-05", + type: "registry:block", + registryDependencies: ["button", "card", "input", "label"], + files: [ + { + path: "block/login-05/page.tsx", + target: "app/login/page.tsx", + type: "registry:page", + }, + { + path: "block/login-05/components/login-form.tsx", + type: "registry:component", + }, + ], + category: "Authentication", + subcategory: "Login", + }, ]