From bdfa0d3bb7b1b4b9e93cb2d2edb82a43f020d8d3 Mon Sep 17 00:00:00 2001 From: Oliver Bryan <04oliverbryan@gmail.com> Date: Sun, 14 Dec 2025 19:53:47 +0000 Subject: [PATCH] select issue --- packages/frontend/src/Index.tsx | 32 +++++++++++++++---- .../src/components/issue-detail-pane.tsx | 2 +- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/packages/frontend/src/Index.tsx b/packages/frontend/src/Index.tsx index 4ade5cd..3c56420 100644 --- a/packages/frontend/src/Index.tsx +++ b/packages/frontend/src/Index.tsx @@ -1,7 +1,7 @@ -import { useEffect, useRef, useState } from "react"; -import { Button } from "@/components/ui/button"; -import { IssuesTable } from "@/components/issues-table"; import type { IssueRecord, ProjectRecord } from "@issue/shared"; +import { useEffect, useRef, useState } from "react"; +import { IssuesTable } from "@/components/issues-table"; +import { IssueDetailPane } from "./components/issue-detail-pane"; function Index() { const [projects, setProjects] = useState([]); @@ -22,6 +22,7 @@ function Index() { }); }, []); + const [selectedIssue, setSelectedIssue] = useState(null); const [issues, setIssues] = useState([]); const issuesRef = useRef(false); @@ -43,9 +44,28 @@ function Index() { }, []); return ( -
-
- +
+ {/* header area */} +
+ project selection + filters +
+ {/* main body */} +
+ {/* issues list (table) */} +
+ +
+ {/* issue detail pane */} + {selectedIssue && ( +
+ setSelectedIssue(null)} /> +
+ )}
); diff --git a/packages/frontend/src/components/issue-detail-pane.tsx b/packages/frontend/src/components/issue-detail-pane.tsx index 8833dd1..363d505 100644 --- a/packages/frontend/src/components/issue-detail-pane.tsx +++ b/packages/frontend/src/components/issue-detail-pane.tsx @@ -1,6 +1,6 @@ import type { IssueRecord } from "@issue/shared"; -import { Button } from "@/components/ui/button"; import { X } from "lucide-react"; +import { Button } from "@/components/ui/button"; export function IssueDetailPane({ issue, close }: { issue: IssueRecord; close: () => void }) { return (