diff --git a/ui/src/pages/IssueDetail.tsx b/ui/src/pages/IssueDetail.tsx index 043909b8..8f10468d 100644 --- a/ui/src/pages/IssueDetail.tsx +++ b/ui/src/pages/IssueDetail.tsx @@ -22,7 +22,9 @@ import { Identity } from "../components/Identity"; import { Separator } from "@/components/ui/separator"; import { Popover, PopoverTrigger, PopoverContent } from "@/components/ui/popover"; import { Button } from "@/components/ui/button"; -import { ChevronRight, MoreHorizontal, EyeOff, Hexagon, Paperclip, Trash2 } from "lucide-react"; +import { Sheet, SheetContent, SheetHeader, SheetTitle } from "@/components/ui/sheet"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { ChevronRight, MoreHorizontal, EyeOff, Hexagon, Paperclip, Trash2, SlidersHorizontal } from "lucide-react"; import type { ActivityEvent } from "@paperclip/shared"; import type { Agent, IssueAttachment } from "@paperclip/shared"; @@ -123,6 +125,7 @@ export function IssueDetail() { const queryClient = useQueryClient(); const navigate = useNavigate(); const [moreOpen, setMoreOpen] = useState(false); + const [mobilePropsOpen, setMobilePropsOpen] = useState(false); const [attachmentError, setAttachmentError] = useState(null); const fileInputRef = useRef(null); @@ -426,9 +429,40 @@ export function IssueDetail() { )} + {(issue.labels ?? []).length > 0 && ( +
+ {(issue.labels ?? []).slice(0, 4).map((label) => ( + + {label.name} + + ))} + {(issue.labels ?? []).length > 4 && ( + +{(issue.labels ?? []).length - 4} + )} +
+ )} + + + - @@ -694,6 +728,20 @@ export function IssueDetail() { )} + + {/* Mobile properties drawer */} + + + + Properties + + +
+ updateIssue.mutate(data)} /> +
+
+
+
); }