Build New Optic website
This commit is contained in:
21
lib/i18n.ts
Normal file
21
lib/i18n.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { business, languages, type Locale } from "@/config/business";
|
||||
import { messages } from "@/messages";
|
||||
|
||||
export const defaultLocale: Locale = "fr";
|
||||
|
||||
export function isLocale(value: string): value is Locale {
|
||||
return languages.some((language) => language.code === value);
|
||||
}
|
||||
|
||||
export function getDirection(locale: Locale) {
|
||||
return languages.find((language) => language.code === locale)?.dir ?? "ltr";
|
||||
}
|
||||
|
||||
export function getDictionary(locale: Locale) {
|
||||
return messages[locale] ?? messages[defaultLocale];
|
||||
}
|
||||
|
||||
export function createWhatsAppMessage(locale: Locale) {
|
||||
const copy = getDictionary(locale).contact.whatsappMessage;
|
||||
return `${business.whatsappHref}?text=${encodeURIComponent(copy)}`;
|
||||
}
|
||||
3
lib/utils.ts
Normal file
3
lib/utils.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export function cn(...classes: Array<string | false | null | undefined>) {
|
||||
return classes.filter(Boolean).join(" ");
|
||||
}
|
||||
Reference in New Issue
Block a user