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 },