website refactor
This commit is contained in:
@@ -1,15 +1,27 @@
|
||||
import { PageWrapper } from '@/components/shared/state/PageWrapper';
|
||||
import HomeTemplate from '@/templates/HomeTemplate';
|
||||
import { HomeTemplate, type HomeViewData } from '@/templates/HomeTemplate';
|
||||
import { PageDataFetcher } from '@/lib/page/PageDataFetcher';
|
||||
import { getHomeData } from '@/lib/services/home/getHomeData';
|
||||
import { notFound } from 'next/navigation';
|
||||
import { HomeService } from '@/lib/services/home/HomeService'; // @server-safe
|
||||
import { notFound, redirect } from 'next/navigation';
|
||||
import { routes } from '@/lib/routing/RouteConfig';
|
||||
|
||||
export default async function Page() {
|
||||
const data = await PageDataFetcher.fetchManual(async () => getHomeData());
|
||||
const homeService = new HomeService();
|
||||
|
||||
if (await homeService.shouldRedirectToDashboard()) {
|
||||
redirect(routes.protected.dashboard);
|
||||
}
|
||||
|
||||
const data = await PageDataFetcher.fetchManual(async () => {
|
||||
const result = await homeService.getHomeData();
|
||||
return result.isOk() ? result.unwrap() : null;
|
||||
});
|
||||
|
||||
if (!data) {
|
||||
notFound();
|
||||
}
|
||||
|
||||
return <PageWrapper data={data} Template={HomeTemplate} />;
|
||||
}
|
||||
const Template = ({ data }: { data: HomeViewData }) => <HomeTemplate viewData={data} />;
|
||||
|
||||
return <PageWrapper data={data} Template={Template} />;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user