From 58ab461962a22bb11c3707d4d1f19a462c97d175 Mon Sep 17 00:00:00 2001 From: Arjun Komath <arjun@hey.com> Date: Tue, 21 Jan 2025 23:24:52 +1100 Subject: [PATCH] Disable profile changes for demo user --- app/(dashboard)/[tenant]/settings/page.tsx | 34 +++++++++------- app/page.tsx | 4 +- components/landing-page/call-to-action.tsx | 46 ++++++++++++++-------- data/marketing.ts | 4 +- 4 files changed, 53 insertions(+), 35 deletions(-) diff --git a/app/(dashboard)/[tenant]/settings/page.tsx b/app/(dashboard)/[tenant]/settings/page.tsx index d9cb5ab..4e6f60d 100644 --- a/app/(dashboard)/[tenant]/settings/page.tsx +++ b/app/(dashboard)/[tenant]/settings/page.tsx @@ -35,6 +35,8 @@ export default async function Settings() { getTimezone(), ]); + const isDemoUser = claims.username === "demo"; + return ( <> <PageTitle title="Settings" /> @@ -70,26 +72,30 @@ export default async function Settings() { <p className="font-semibold text-gray-900 dark:text-gray-200 sm:w-64 sm:flex-none sm:pr-6"> Name </p> - <EditableValue - id={claims.sub} - name="name" - type="text" - value={userInfo.name ?? "-"} - action={updateUserData} - /> + {!isDemoUser ? ( + <EditableValue + id={claims.sub} + name="name" + type="text" + value={userInfo.name ?? "-"} + action={updateUserData} + /> + ) : null} </div> <div className="p-4 sm:flex items-center"> <p className="font-semibold text-gray-900 dark:text-gray-200 sm:w-64 sm:flex-none sm:pr-6"> Email address </p> - <EditableValue - id={claims.sub} - name="primaryEmail" - type="text" - value={userInfo.email ?? "-"} - action={updateUserData} - /> + {!isDemoUser ? ( + <EditableValue + id={claims.sub} + name="primaryEmail" + type="text" + value={userInfo.email ?? "-"} + action={updateUserData} + /> + ) : null} </div> {timezone ? ( diff --git a/app/page.tsx b/app/page.tsx index 6764aa0..9bebc20 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -26,10 +26,10 @@ export default async function Home() { </div> <div className="mx-auto max-w-7xl py-32 sm:py-48 lg:py-56"> <div> - <h1 className="text-hero bg-gradient-to-r from-green-500 to-yellow-700 bg-clip-text text-4xl tracking-tighter text-gray-900 text-transparent sm:text-6xl"> + <h1 className="text-hero bg-gradient-to-r from-green-500 to-yellow-700 bg-clip-text text-4xl tracking-tighter text-gray-900 text-transparent sm:text-6xl whitespace-pre-line"> {SITE_METADATA.TAGLINE} </h1> - <p className="mt-6 text-lg leading-8 text-gray-600 dark:text-gray-400"> + <p className="mt-6 text-lg leading-8 text-gray-600 dark:text-gray-400 whitespace-pre-line"> {SITE_METADATA.DESCRIPTION} </p> <div className="mt-10 flex flex-col items-center justify-center gap-y-6 md:flex-row md:gap-x-6 md:gap-y-0"> diff --git a/components/landing-page/call-to-action.tsx b/components/landing-page/call-to-action.tsx index 2ef8423..fc15032 100644 --- a/components/landing-page/call-to-action.tsx +++ b/components/landing-page/call-to-action.tsx @@ -2,23 +2,35 @@ import { buttonVariants } from "@/components/ui/button"; import Link from "next/link"; function CTA() { - return ( - <div className="w-full py-20 lg:py-40"> - <div className="mx-auto max-w-7xl px-6 py-24 sm:py-32 lg:px-8"> - <h2 className="max-w-2xl text-balance text-4xl font-semibold tracking-tight text-gray-900 sm:text-5xl"> - Boost your productivity. Start using 'Manage' today. - </h2> - <div className="mt-10 flex items-center gap-x-6"> - <Link href="http://github.com/techulus/manage" className={buttonVariants({variant: "default", className: "flex items-center gap-2 p-8"})}> - Get Started - </Link> - <Link href="mailto:arjun@techulus.com" className={buttonVariants({variant: "ghost", className: "flex items-center gap-2 p-8"})}> - Request Access - </Link> - </div> - </div> - </div> - ); + return ( + <div className="w-full py-20 lg:py-40"> + <div className="mx-auto max-w-7xl px-6 sm:py-24 lg:px-8"> + <h2 className="max-w-2xl text-balance text-4xl font-semibold tracking-tight sm:text-5xl"> + Boost your productivity. Start using 'Manage' today. + </h2> + <div className="mt-10 flex items-center gap-x-6"> + <Link + href="http://github.com/techulus/manage" + className={buttonVariants({ + variant: "default", + className: "flex items-center gap-2 p-8", + })} + > + Get Started + </Link> + <Link + href="mailto:arjun@techulus.com" + className={buttonVariants({ + variant: "ghost", + className: "flex items-center gap-2 p-8", + })} + > + Request Access + </Link> + </div> + </div> + </div> + ); } export { CTA }; diff --git a/data/marketing.ts b/data/marketing.ts index 2816714..6748064 100644 --- a/data/marketing.ts +++ b/data/marketing.ts @@ -1,6 +1,6 @@ export const SITE_METADATA = { TITLE: "Manage [beta]", - TAGLINE: "Manage Tasks, Documents, Files, and Events with Ease", + TAGLINE: "Manage Tasks, Documents,\nFiles, and Events with Ease", DESCRIPTION: - "Manage is an open-source project management app inspired by Basecamp. With its intuitive interface, customizable features, and emphasis on collaboration, Manage empowers teams to enhance productivity and achieve project success. Enjoy the benefits of open-source flexibility, data security, and a thriving community while managing your projects efficiently with Manage.", + "Manage is an open-source project management app inspired by Basecamp.\nWith its intuitive interface, customizable features, and emphasis on collaboration, Manage empowers teams to enhance productivity and achieve project success.\nEnjoy the benefits of open-source flexibility, data security, and a thriving community while managing your projects efficiently with Manage.", };