import { useContext, useState } from "react"; import { Checkbox, Input, TextArea, Row, Col, Dropdown, Button, Popover, Tag, List, RadioGroup, Radio, } from "@douyinfe/semi-ui"; import { IconPlus, IconMore, IconDeleteStroked, IconCaretdown, } from "@douyinfe/semi-icons"; import { StateContext, TaskContext } from "../pages/Editor"; import { State } from "../data/data"; export default function Todo() { const Priority = { NONE: 0, LOW: 1, MEDIUM: 2, HIGH: 3, }; const SortOrder = { ORIGINAL: "My order", PRIORITY: "Priority", COMPLETED: "Completed", ALPHABETICALLY: "Alphabetically", }; const [activeTask, setActiveTask] = useState(-1); const [, setSortOrder] = useState(SortOrder.ORIGINAL); const { tasks, setTasks, updateTask } = useContext(TaskContext); const { setState } = useContext(StateContext); const priorityLabel = (p) => { switch (p) { case Priority.NONE: return "None"; case Priority.LOW: return "Low"; case Priority.MEDIUM: return "Medium"; case Priority.HIGH: return "High"; default: return ""; } }; const priorityColor = (p) => { switch (p) { case Priority.NONE: return "blue"; case Priority.LOW: return "green"; case Priority.MEDIUM: return "yellow"; case Priority.HIGH: return "red"; default: return ""; } }; const sort = (s) => { setActiveTask(-1); switch (s) { case SortOrder.ORIGINAL: setTasks((prev) => prev.sort((a, b) => a.order - b.order)); return; case SortOrder.PRIORITY: setTasks((prev) => prev.sort((a, b) => b.priority - a.priority)); return; case SortOrder.COMPLETED: setTasks((prev) => prev.sort((a, b) => { if (a.complete && !b.complete) { return 1; } else if (!a.complete && b.complete) { return -1; } else { return 0; } }) ); break; case SortOrder.ALPHABETICALLY: setTasks((prev) => prev.sort((a, b) => a.title.localeCompare(b.title))); break; default: break; } }; return ( <>