* Icon and IconName * Button and ButtonGroup * UserAvatar * AvatarGroup * Avatar * WizardLayout * Dialogs * EmptyScreen * showToast and TextField * Editor * Skeleton * Skeleton * TopBanner and showToast * Button again * more * perf: Remove app-store reference from @calcom/ui * more * Fixing types * Icon * Fixed casing * dropdown * more * Select * more * Badge * List * more * Divider * more * fix * fix type check * refactor * fix * fix * fix * fix * fix * fix * fix * fix type check * fix * fix * fix * fix * more * more * more * more * add index file to components/command * fix * fix * fix * fix imports * fix * fix * fix * fix * fix * fix * fix * fix build errors * fix build errors * fix --------- Co-authored-by: Keith Williams <keithwillcode@gmail.com>
27 lines
930 B
TypeScript
27 lines
930 B
TypeScript
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { TimeFormat } from "@calcom/lib/timeFormat";
|
|
import { ToggleGroup } from "@calcom/ui/components/form";
|
|
|
|
import { useTimePreferences } from "../lib";
|
|
|
|
export const TimeFormatToggle = ({ customClassName }: { customClassName?: string }) => {
|
|
const timeFormat = useTimePreferences((state) => state.timeFormat);
|
|
const setTimeFormat = useTimePreferences((state) => state.setTimeFormat);
|
|
const { t } = useLocale();
|
|
|
|
return (
|
|
<ToggleGroup
|
|
customClassNames={customClassName}
|
|
onValueChange={(newFormat) => {
|
|
if (newFormat && newFormat !== timeFormat) setTimeFormat(newFormat as TimeFormat);
|
|
}}
|
|
defaultValue={timeFormat}
|
|
value={timeFormat}
|
|
options={[
|
|
{ value: TimeFormat.TWELVE_HOUR, label: t("12_hour_short") },
|
|
{ value: TimeFormat.TWENTY_FOUR_HOUR, label: t("24_hour_short") },
|
|
]}
|
|
/>
|
|
);
|
|
};
|