feat(i18n): integrate multilingual support into clients views and forms
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
import { revalidatePath } from "next/cache";
|
||||
import { cleanText, optionalDate, requiredText } from "@/server/web/form-data";
|
||||
import { requireFreelancerBackend } from "@/server/web/freelancer";
|
||||
import { parseContentTranslationsFromFormData } from "@/server/i18n/content";
|
||||
|
||||
const ACTIVITY_TYPES = ["note", "call", "meeting", "email"] as const;
|
||||
|
||||
@@ -13,12 +14,18 @@ export async function addClientActivity(clientId: string, formData: FormData) {
|
||||
? rawType as (typeof ACTIVITY_TYPES)[number]
|
||||
: "note";
|
||||
|
||||
const context = service.contentTranslations.getLocalizationContext(actor);
|
||||
const translations = parseContentTranslationsFromFormData(formData, "client_activity", context);
|
||||
const defaultTitle = translations?.[context.defaultLocale]?.title ?? "";
|
||||
const defaultContent = translations?.[context.defaultLocale]?.content ?? "";
|
||||
|
||||
service.addClientActivity(actor, {
|
||||
clientId,
|
||||
type,
|
||||
title: requiredText(formData.get("title"), "Aktivite başlığı zorunludur."),
|
||||
content: cleanText(formData.get("content")),
|
||||
title: defaultTitle || requiredText(formData.get("title"), "Aktivite başlığı zorunludur."),
|
||||
content: defaultContent || cleanText(formData.get("content")),
|
||||
activityDate: optionalDate(formData.get("activity_date")) ?? new Date(),
|
||||
translations,
|
||||
});
|
||||
|
||||
revalidatePath(`/clients/${clientId}`);
|
||||
|
||||
Reference in New Issue
Block a user