UNPKG

react-intlayer

Version:

Easily internationalize i18n your React applications with type-safe multilingual content management.

36 lines (33 loc) 1.14 kB
'use client'; import { IntlayerClientContext } from "../IntlayerProvider.mjs"; import { useCallback, useContext } from "react"; import { relativeTime } from "@intlayer/core"; //#region src/client/format/useRelativeTime.ts /** * Client-side React hook for accessing a localized relative time formatter. * * This hook: * - Reads the current locale from {@link useLocaleBase}. * - Creates a new relative time formatter with {@link createRelativeTime}. * - Returns a function that can format time differences into localized strings. * * Example: * ```tsx * const relativeTime = useRelativeTime(); * const formatted = relativeTime(new Date("2024-08-01"), new Date()); * // e.g., "2 weeks ago" * ``` * * @returns {ReturnType<typeof createRelativeTime>} A relative time formatting function * bound to the current client locale. */ const useRelativeTime = () => { const { locale } = useContext(IntlayerClientContext); return useCallback((...args) => relativeTime(args[0], args[1], { ...args[2], locale: args[2]?.locale ?? locale }), [locale]); }; //#endregion export { useRelativeTime }; //# sourceMappingURL=useRelativeTime.mjs.map