website refactor
This commit is contained in:
@@ -4,43 +4,25 @@ import { DriverProfilePageQuery } from '@/lib/page-queries/page-queries/DriverPr
|
||||
import { DriverProfilePageClient } from '@/components/drivers/DriverProfilePageClient';
|
||||
|
||||
export default async function DriverProfilePage({ params }: { params: { id: string } }) {
|
||||
// Execute the page query
|
||||
const result = await DriverProfilePageQuery.execute(params.id);
|
||||
|
||||
// Handle different result statuses
|
||||
switch (result.status) {
|
||||
case 'notFound':
|
||||
if (result.isErr()) {
|
||||
const error = result.getError();
|
||||
if (error === 'NotFound') {
|
||||
redirect(routes.error.notFound);
|
||||
case 'redirect':
|
||||
redirect(result.to);
|
||||
case 'error':
|
||||
// Pass error to client component
|
||||
return (
|
||||
<DriverProfilePageClient
|
||||
pageDto={null}
|
||||
error={result.errorId}
|
||||
/>
|
||||
);
|
||||
case 'ok':
|
||||
const viewModel = result.dto;
|
||||
const hasData = !!viewModel.currentDriver;
|
||||
|
||||
if (!hasData) {
|
||||
return (
|
||||
<DriverProfilePageClient
|
||||
pageDto={null}
|
||||
empty={{
|
||||
title: 'Driver not found',
|
||||
description: 'The driver profile may not exist or you may not have access',
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<DriverProfilePageClient
|
||||
pageDto={viewModel}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<DriverProfilePageClient
|
||||
pageDto={null}
|
||||
error={error}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
const viewData = result.unwrap();
|
||||
return (
|
||||
<DriverProfilePageClient
|
||||
pageDto={viewData}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -4,43 +4,25 @@ import { DriversPageQuery } from '@/lib/page-queries/page-queries/DriversPageQue
|
||||
import { DriversPageClient } from '@/components/drivers/DriversPageClient';
|
||||
|
||||
export default async function Page() {
|
||||
// Execute the page query
|
||||
const result = await DriversPageQuery.execute();
|
||||
|
||||
// Handle different result statuses
|
||||
switch (result.status) {
|
||||
case 'notFound':
|
||||
if (result.isErr()) {
|
||||
const error = result.getError();
|
||||
if (error === 'NotFound') {
|
||||
redirect(routes.error.notFound);
|
||||
case 'redirect':
|
||||
redirect(result.to);
|
||||
case 'error':
|
||||
// Pass error to client component
|
||||
return (
|
||||
<DriversPageClient
|
||||
pageDto={null}
|
||||
error={result.errorId}
|
||||
/>
|
||||
);
|
||||
case 'ok':
|
||||
const viewModel = result.dto;
|
||||
const hasData = (viewModel.drivers?.length ?? 0) > 0;
|
||||
|
||||
if (!hasData) {
|
||||
return (
|
||||
<DriversPageClient
|
||||
pageDto={null}
|
||||
empty={{
|
||||
title: 'No drivers found',
|
||||
description: 'There are no drivers in the system yet.',
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<DriversPageClient
|
||||
pageDto={viewModel}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<DriversPageClient
|
||||
pageDto={null}
|
||||
error={error}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
const viewData = result.unwrap();
|
||||
return (
|
||||
<DriversPageClient
|
||||
pageDto={viewData}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user