/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; // plane imports import { START_OF_THE_WEEK_OPTIONS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import type { EStartOfTheWeek } from "@plane/types"; import { CustomSelect } from "@plane/ui"; // components import { SettingsControlItem } from "@/components/settings/control-item"; // hooks import { useUserProfile } from "@/hooks/store/user"; const getStartOfWeekLabel = (startOfWeek: EStartOfTheWeek) => START_OF_THE_WEEK_OPTIONS.find((option) => option.value === startOfWeek)?.label; export const StartOfWeekPreference = observer(function StartOfWeekPreference(props: { option: { title: string; description: string }; }) { // hooks const { data: userProfile, updateUserProfile } = useUserProfile(); const handleStartOfWeekChange = async (val: number) => { try { await updateUserProfile({ start_of_the_week: val }); setToast({ type: TOAST_TYPE.SUCCESS, title: "Success", message: "First day of the week updated successfully" }); } catch (_error) { setToast({ type: TOAST_TYPE.ERROR, title: "Update failed", message: "Please try again later." }); } }; return ( <> {START_OF_THE_WEEK_OPTIONS.map((day) => ( {day.label} ))} } /> ); });