// react import React from "react"; // next import type { NextPage } from "next"; // swr import useSWR from "swr"; // layouts import AdminLayout from "layouts/AdminLayout"; // hooks import useUser from "lib/hooks/useUser"; // ui import { Spinner } from "ui"; import { BreadcrumbItem, Breadcrumbs } from "ui/Breadcrumbs"; import { EmptySpace, EmptySpaceItem } from "ui/EmptySpace"; import HeaderButton from "ui/HeaderButton"; // constants import { USER_ISSUE } from "constants/fetch-keys"; import { classNames } from "constants/common"; // services import userService from "lib/services/user.service"; import issuesServices from "lib/services/issues.services"; // components import ChangeStateDropdown from "components/project/issues/my-issues/ChangeStateDropdown"; // icons import { PlusIcon, RectangleStackIcon } from "@heroicons/react/24/outline"; // types import { IIssue } from "types"; const MyIssues: NextPage = () => { const { user } = useUser(); const { data: myIssues, mutate: mutateMyIssue } = useSWR( user ? USER_ISSUE : null, user ? () => userService.userIssues() : null ); const updateMyIssues = ( workspaceSlug: string, projectId: string, issueId: string, issue: Partial ) => { mutateMyIssue((prevData) => { return prevData?.map((prevIssue) => { if (prevIssue.id === issueId) { return { ...prevIssue, ...issue, state_detail: { ...prevIssue.state_detail, ...issue.state_detail, }, }; } return prevIssue; }); }, false); issuesServices .patchIssue(workspaceSlug, projectId, issueId, issue) .then((response) => { console.log(response); }) .catch((error) => { console.log(error); }); }; return (
{myIssues ? ( <> {myIssues.length > 0 ? ( <>

My Issues

{ const e = new KeyboardEvent("keydown", { key: "i", ctrlKey: true, }); document.dispatchEvent(e); }} />
{myIssues.map((myIssue, index) => ( ))}
NAME DESCRIPTION PROJECT PRIORITY STATUS
{myIssue.name} {myIssue.description} {myIssue.project_detail?.name}
{`(${myIssue.project_detail?.identifier}-${myIssue.sequence_id})`}
{myIssue.priority}
) : (
Use{" "}
Ctrl/Command + I
{" "} shortcut to create a new issue } Icon={PlusIcon} action={() => { const e = new KeyboardEvent("keydown", { key: "i", ctrlKey: true, }); document.dispatchEvent(e); }} />
)} ) : (
)}
); }; export default MyIssues;