diff --git a/apps/blogai/app/[locale]/auth/layout.tsx b/apps/blogai/app/[locale]/auth/layout.tsx index 2aa8dd7..c5aaed3 100644 --- a/apps/blogai/app/[locale]/auth/layout.tsx +++ b/apps/blogai/app/[locale]/auth/layout.tsx @@ -1,74 +1,94 @@ -// import { FadeIn } from "@/components/landing/fade-in"; -// import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; -// import { Separator } from "@/components/ui/separator"; -// import { Toaster } from "@/components/ui/toaster"; -// import Link from "next/link"; -// import { redirect } from "next/navigation"; -// import React from "react"; +import { FadeIn } from "@/components/landing/fade-in"; +import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; +import { Separator } from "@/components/ui/separator"; +import { Toaster } from "@/components/ui/toaster"; +import Link from "next/link"; +import { redirect } from "next/navigation"; +import React from "react"; -// export const dynamic = "force-dynamic"; +export const dynamic = "force-dynamic"; -// const quotes: { -// text: React.ReactNode; -// source: string; -// author: { -// name: string; -// title?: string; -// image: string; -// href: string; -// }; -// }[] = [ -// { -// text: "Unkey's product helped launch our public API features in a matter of hours. Easy setup, exactly the features we needed, great DX ergonomics, and low latency - fantastic experience.", -// source: "slack dm", -// author: { -// name: "Rick Blalock", -// title: "Cofounder/CTO onestudy.ai", -// image: "https://pbs.twimg.com/profile_images/1520195134507425794/JOGd7q2__400x400.jpg", -// href: "https://x.com/rblalock", -// }, -// }, -// { -// text: "The product is super well built, intuitive and powerful.", -// source: "slack", -// author: { -// name: "Dexter Storey", -// title: "Cofounder Rubric Labs", -// image: -// "https://media.licdn.com/dms/image/D4E03AQE3_DloJSEeBw/profile-displayphoto-shrink_800_800/0/1706486799593?e=1715212800&v=beta&t=TOBQZjsyk3fVZLfuYtdZSKQoM22Gaf9ggMgsGzsNq-4", -// href: "https://www.linkedin.com/in/dexterstorey/", -// }, -// }, -// { -// text: "Just used Unkey, by far the easiest and cheapest ( its free ) solution I have used so far for saas to manage their api keys. Its amazing how easy it is use.", -// source: "https://twitter.com/tkejr_/status/1731613302378164440", -// author: { -// name: "Tanmay", -// image: "https://pbs.twimg.com/profile_images/1699993730655059969/q7Poeqtc_400x400.jpg", -// href: "https://x.com/tkejr_", -// }, -// }, -// { -// text: "Diving into Unkey for a project, and I'm impressed! Love the straightforward setup for managing API keys.", -// source: "https://twitter.com/ojabowalola/status/1724134790670999919", -// author: { -// name: "Lola", -// image: "https://pbs.twimg.com/profile_images/1705845087350009856/UZaJhcLB_400x400.jpg", -// href: "https://x.com/ojabowalola", -// title: "Founder of lunchpaillabs.com", -// }, -// }, -// { -// text: "Unkey increases our velocity and helps us focus on what's relevant to the user, not the infrastructure behind it.", -// source: "https://www.openstatus.dev/blog/secure-api-with-unkey", -// author: { -// name: "Maximilian Kaske", -// image: "https://pbs.twimg.com/profile_images/1559935773151051778/0O_Bf4LY_400x400.jpg", -// href: "https://x.com/mxkaske", -// title: "Founder of openstatus.dev", -// }, -// }, -// ]; +const quotes: { + text: React.ReactNode; + source: string; + author: { + name: string; + title?: string; + image: string; + href: string; + }; +}[] = [ + { + text: "Unkey's product helped launch our public API features in a matter of hours. Easy setup, exactly the features we needed, great DX ergonomics, and low latency - fantastic experience.", + source: "slack dm", + author: { + name: "Rick Blalock", + title: "Cofounder/CTO onestudy.ai", + image: "https://pbs.twimg.com/profile_images/1520195134507425794/JOGd7q2__400x400.jpg", + href: "https://x.com/rblalock", + }, + }, + { + text: "The product is super well built, intuitive and powerful.", + source: "slack", + author: { + name: "Dexter Storey", + title: "Cofounder Rubric Labs", + image: + "https://media.licdn.com/dms/image/D4E03AQE3_DloJSEeBw/profile-displayphoto-shrink_800_800/0/1706486799593?e=1715212800&v=beta&t=TOBQZjsyk3fVZLfuYtdZSKQoM22Gaf9ggMgsGzsNq-4", + href: "https://www.linkedin.com/in/dexterstorey/", + }, + }, + { + text: "Just used Unkey, by far the easiest and cheapest ( its free ) solution I have used so far for saas to manage their api keys. Its amazing how easy it is use.", + source: "https://twitter.com/tkejr_/status/1731613302378164440", + author: { + name: "Tanmay", + image: "https://pbs.twimg.com/profile_images/1699993730655059969/q7Poeqtc_400x400.jpg", + href: "https://x.com/tkejr_", + }, + }, + { + text: "Diving into Unkey for a project, and I'm impressed! Love the straightforward setup for managing API keys.", + source: "https://twitter.com/ojabowalola/status/1724134790670999919", + author: { + name: "Lola", + image: "https://pbs.twimg.com/profile_images/1705845087350009856/UZaJhcLB_400x400.jpg", + href: "https://x.com/ojabowalola", + title: "Founder of lunchpaillabs.com", + }, + }, + { + text: "Unkey increases our velocity and helps us focus on what's relevant to the user, not the infrastructure behind it.", + source: "https://www.openstatus.dev/blog/secure-api-with-unkey", + author: { + name: "Maximilian Kaske", + image: "https://pbs.twimg.com/profile_images/1559935773151051778/0O_Bf4LY_400x400.jpg", + href: "https://x.com/mxkaske", + title: "Founder of openstatus.dev", + }, + }, + ]; + +export default async function AuthenticatedLayout({ + children, +}: { + children: React.ReactNode; +}) { + + // const quote = quotes[Math.floor(Math.random() * quotes.length)]; + + return ( +
+ +
+
+
{children}
+
+
+
+ ); +} // export default async function AuthenticatedLayout({ // children, @@ -79,7 +99,6 @@ // const quote = quotes[Math.floor(Math.random() * quotes.length)]; // return ( -// //
//
// {/* // */} @@ -147,531 +166,532 @@ // ); // } -// const TopRightShine: React.FC<{ className?: string }> = ({ className }) => ( -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// ); -// const TopLeftShine: React.FC<{ className?: string }> = ({ className }) => ( -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// ); +const TopRightShine: React.FC<{ className?: string }> = ({ className }) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); -// const Logo: React.FC<{ className?: string }> = ({ className }) => ( -// -// -// -// -// -// -// -// -// -// ); +const TopLeftShine: React.FC<{ className?: string }> = ({ className }) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); + +const Logo: React.FC<{ className?: string }> = ({ className }) => ( + + + + + + + + + +);