From ae1e0ad0c06ab7a5f6d2fe8297319520de74bbeb Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Mon, 12 May 2025 15:39:50 +0300 Subject: [PATCH] feat: priority select in calendar --- index.html | 2 +- src/pages/profile_calendar.tsx | 16 ++++++++++++++++ src/pages/profile_tasks.tsx | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 7b52c72..c413780 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + Антихвост diff --git a/src/pages/profile_calendar.tsx b/src/pages/profile_calendar.tsx index 45a1350..41277e8 100644 --- a/src/pages/profile_calendar.tsx +++ b/src/pages/profile_calendar.tsx @@ -18,8 +18,10 @@ import { import { FunctionComponent } from "preact"; import { useEffect, useMemo, useState } from "preact/hooks"; import { Calendar, CalendarDateTemplateEvent } from "primereact/calendar"; +import { Dropdown } from "primereact/dropdown"; import { Nullable } from "primereact/ts-helpers"; import { SubmitHandler, useForm } from "react-hook-form"; +import { priorities } from "./profile_tasks"; import { IApiResponse, IAPITag, @@ -31,6 +33,7 @@ import { ITaskForm, IViewTagsResponse, } from "./profile_tasks.dto"; +import { DropdownStyles, selectedPriorityTemplate } from "./profile_tasks.prime.styles"; const calendarStyles = { root: "inline-flex w-full relative", @@ -68,6 +71,7 @@ const ProfileCalendar: FunctionComponent = () => { const [subjectChoices, setSubjectChoices] = useState([]); const [taskTypeChoices, setTaskTypeChoices] = useState([]); const [isLoading, setIsLoading] = useState(true); + const [selectedPriority, setSelectedPriority] = useState(4); const { handleSubmit, @@ -171,6 +175,7 @@ const ProfileCalendar: FunctionComponent = () => { taskType: selectedTaskType, dateTime_due: formattedDate, telegram_notifications: false, + priority: selectedPriority, }; if (!editContent) { @@ -254,6 +259,7 @@ const ProfileCalendar: FunctionComponent = () => { setIsEdit(true); setEditContent(task); setCalendarDate(task.date); + setSelectedPriority(task.priority); setIsEditModal(false); } catch (error) { console.error("Failed to fetch task details:", error); @@ -403,6 +409,7 @@ const ProfileCalendar: FunctionComponent = () => { onClose={() => { setIsEdit(false); setEditContent(null); + setSelectedPriority(4); setIsEditModal(false); setTags({ first: 0, second: 0, overdue: false }); setCalendarDate(null); @@ -530,6 +537,15 @@ const ProfileCalendar: FunctionComponent = () => { {editContent.taskType.name}

+ setSelectedPriority(e.value)} + itemTemplate={selectedPriorityTemplate} + valueTemplate={selectedPriorityTemplate} + /> )} diff --git a/src/pages/profile_tasks.tsx b/src/pages/profile_tasks.tsx index 3408d10..7c7ee21 100644 --- a/src/pages/profile_tasks.tsx +++ b/src/pages/profile_tasks.tsx @@ -47,7 +47,7 @@ import { import classes from "./profile_tasks.module.scss"; import { DropdownStyles, selectedPriorityTemplate } from "./profile_tasks.prime.styles"; -const priorities: SelectItem[] = [ +export const priorities: SelectItem[] = [ { label: "Приоритет 1", value: 1 }, { label: "Приоритет 2", value: 2 }, { label: "Приоритет 3", value: 3 },