Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions apps/mail/app/home/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import HomeContent from '@/components/home/HomeContent';

export default function HomeRoute() {
return <HomeContent />;
}
47 changes: 8 additions & 39 deletions apps/mail/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,44 +1,13 @@
import HomeContent from '@/components/home/HomeContent';
import { DemoMailLayout } from '@/components/mail/mail';
import HeroImage from '@/components/home/hero-image';
import { Skeleton } from '@/components/ui/skeleton';
import Navbar from '@/components/home/navbar';
import Footer from '@/components/home/footer';
import Hero from '@/components/home/hero';
import { Suspense } from 'react';
import { createFeatureGate } from '@/lib/flags';
import { getSession } from '@/lib/auth-client';
import { redirect } from 'next/navigation';

export default async function Home() {
const isPrimaryLanding = await createFeatureGate("landing_title")();
const title = isPrimaryLanding ? <p className="text-center text-4xl font-semibold leading-tight tracking-[-0.03em] text-gray-900 sm:text-6xl md:px-0 dark:text-white">
open source <span className='font-normal italic'>Gmail</span> alternative
</p> : <p className="text-center text-4xl font-semibold leading-tight tracking-[-0.03em] text-gray-900 sm:text-6xl md:px-0 dark:text-white">
<span className='font-normal italic'>Gmail</span>, but better.
</p>;
const session = await getSession();
if (session) {
redirect('/mail/inbox');
}

return (
<div className="relative h-screen min-h-screen w-full overflow-auto bg-white dark:bg-black">
<div className="pointer-events-none absolute inset-0 flex items-center justify-center">
<div className="h-[500px] w-[500px] rounded-lg bg-[linear-gradient(90deg,#ffd5d0_0%,#ffafcc_30%,#dbffe4_70%,#e2d6ff_100%)] opacity-5 blur-[120px] dark:opacity-10" />
</div>
<div className="relative mx-auto mb-4 flex flex-col">
<Suspense fallback={<Skeleton />}>
<Navbar />
</Suspense>
<Hero title={title} />
<div className="container mx-auto mt-3 hidden md:block">
<Suspense fallback={<Skeleton />}>
<DemoMailLayout />
</Suspense>
</div>
<div className="container mx-auto block md:hidden">
<HeroImage />
</div>
{/*<Link href={'https://appdefensealliance.dev/casa'} target={'_blank'} className={'container mx-auto mt-2 md:mt-6 flex gap-2 items-center justify-center'}>*/}
{/* <ShieldCheckIcon />*/}
{/* <h2 className={'text-xl font-bold'}>CASA Certified</h2>*/}
{/*</Link>*/}
<Footer />
</div>
</div>
);
return <HomeContent />;
}
48 changes: 48 additions & 0 deletions apps/mail/components/home/HomeContent.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import HeroImage from '@/components/home/hero-image';
import { Skeleton } from '@/components/ui/skeleton';
import { createFeatureGate } from '@/lib/flags';
import Navbar from '@/components/home/navbar';
import Footer from '@/components/home/footer';
import { DemoMailLayout } from '../mail/mail';
import Hero from '@/components/home/hero';
import { Suspense } from 'react';

export default async function HomeContent() {
const isPrimaryLanding = await createFeatureGate('landing_title')();
const title = isPrimaryLanding ? (
<p className="text-center text-4xl font-semibold leading-tight tracking-[-0.03em] text-gray-900 sm:text-6xl md:px-0 dark:text-white">
open source <span className="font-normal italic">Gmail</span> alternative
</p>
) : (
<p className="text-center text-4xl font-semibold leading-tight tracking-[-0.03em] text-gray-900 sm:text-6xl md:px-0 dark:text-white">
<span className="font-normal italic">Gmail</span>, but better.
</p>
);

return (
<div className="relative h-screen min-h-screen w-full overflow-auto bg-white dark:bg-black">
<div className="pointer-events-none absolute inset-0 flex items-center justify-center">
<div className="h-[500px] w-[500px] rounded-lg bg-[linear-gradient(90deg,#ffd5d0_0%,#ffafcc_30%,#dbffe4_70%,#e2d6ff_100%)] opacity-5 blur-[120px] dark:opacity-10" />
</div>
<div className="relative mx-auto mb-4 flex flex-col">
<Suspense fallback={<Skeleton />}>
<Navbar />
</Suspense>
<Hero title={title} />
<div className="container mx-auto mt-3 hidden md:block">
<Suspense fallback={<Skeleton />}>
<DemoMailLayout />
</Suspense>
</div>
<div className="container mx-auto block md:hidden">
<HeroImage />
</div>
{/*<Link href={'https://appdefensealliance.dev/casa'} target={'_blank'} className={'container mx-auto mt-2 md:mt-6 flex gap-2 items-center justify-center'}>*/}
{/* <ShieldCheckIcon />*/}
{/* <h2 className={'text-xl font-bold'}>CASA Certified</h2>*/}
{/*</Link>*/}
<Footer />
</div>
</div>
);
}