2025-06-19 20:17:15 +03:30
|
|
|
import { projects } from '../data';
|
2026-07-19 07:59:16 +03:30
|
|
|
import { getLocaleFromCookies } from '@/lib/locale';
|
|
|
|
|
import { localizeContent, localizeText } from '@/lib/domain';
|
|
|
|
|
import { notFound, ok } from '@/lib/api-response';
|
2025-06-19 20:17:15 +03:30
|
|
|
|
2026-07-19 07:59:16 +03:30
|
|
|
type RouteContext = {
|
|
|
|
|
params: {
|
|
|
|
|
id: string;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-06-19 20:17:15 +03:30
|
|
|
|
2026-07-19 07:59:16 +03:30
|
|
|
export async function GET(request: Request, context: RouteContext) {
|
|
|
|
|
const projectId = context.params.id;
|
|
|
|
|
|
|
|
|
|
const locale = await getLocaleFromCookies();
|
2025-06-19 20:17:15 +03:30
|
|
|
|
|
|
|
|
let project = projects.find((project) => project.id === projectId);
|
|
|
|
|
if (!project) {
|
2026-07-19 07:59:16 +03:30
|
|
|
return notFound();
|
2025-06-19 20:17:15 +03:30
|
|
|
}
|
|
|
|
|
|
2026-07-19 07:59:16 +03:30
|
|
|
project = {
|
|
|
|
|
...project,
|
|
|
|
|
title: localizeText(locale, project.title, project.fa_title),
|
|
|
|
|
content: localizeContent(locale, project.content, project.fa_content),
|
|
|
|
|
};
|
2025-06-19 20:17:15 +03:30
|
|
|
|
2026-07-19 07:59:16 +03:30
|
|
|
return ok(project);
|
2025-06-19 20:17:15 +03:30
|
|
|
}
|