* fix: findLang only returns acceptable languages * fix: fallback to use header x-lang if we haven't setLang yet * fix: languageSchema, allow uppercase Approved-by: Linus Flood
19 lines
451 B
TypeScript
19 lines
451 B
TypeScript
"use client"
|
|
import { useParams } from "next/navigation"
|
|
|
|
import { Lang } from "@/constants/languages"
|
|
|
|
import { languageSchema } from "@/utils/languages"
|
|
|
|
import type { LangParams } from "@/types/params"
|
|
|
|
/**
|
|
* A hook to get the current lang from the URL
|
|
*/
|
|
export default function useLang() {
|
|
const { lang } = useParams<LangParams>()
|
|
|
|
const parsedLang = languageSchema.safeParse(lang)
|
|
return parsedLang.success ? parsedLang.data : Lang.en
|
|
}
|