highlighting implementation

This commit is contained in:
2026-01-31 14:17:01 +00:00
parent 71a4e68520
commit ab98e0ed80
2 changed files with 15 additions and 6 deletions

View File

@@ -29,10 +29,12 @@ export function IssuesTable({
columns = {},
className,
filters,
highlighted,
}: {
columns?: { id?: boolean; title?: boolean; description?: boolean; status?: boolean; assignee?: boolean };
className: string;
filters?: IssuesTableFilters;
highlighted?: number[];
}) {
const { selectedProjectId, selectedIssueId, selectIssue } = useSelection();
const { data: issuesData = [] } = useIssues(selectedProjectId);
@@ -188,7 +190,7 @@ export function IssuesTable({
<TableCell
className={cn(
"font-medium border-r text-right p-0",
isSelected &&
(isSelected || highlighted?.includes(issueData.Issue.id)) &&
"shadow-[inset_1px_1px_0_0_var(--personality),inset_0_-1px_0_0_var(--personality)]",
)}
>
@@ -205,7 +207,7 @@ export function IssuesTable({
<TableCell
className={cn(
"min-w-0 p-0",
isSelected &&
(isSelected || highlighted?.includes(issueData.Issue.id)) &&
"shadow-[inset_0_1px_0_0_var(--personality),inset_0_-1px_0_0_var(--personality)]",
)}
>
@@ -237,7 +239,7 @@ export function IssuesTable({
<TableCell
className={cn(
"overflow-hidden p-0",
isSelected &&
(isSelected || highlighted?.includes(issueData.Issue.id)) &&
"shadow-[inset_0_1px_0_0_var(--personality),inset_0_-1px_0_0_var(--personality)]",
)}
>
@@ -254,7 +256,7 @@ export function IssuesTable({
<TableCell
className={cn(
"h-[32px] p-0",
isSelected &&
(isSelected || highlighted?.includes(issueData.Issue.id)) &&
"shadow-[inset_0_1px_0_0_var(--personality),inset_-1px_0_0_0_var(--personality),inset_0_-1px_0_0_var(--personality)]",
)}
>

View File

@@ -167,6 +167,8 @@ export default function Issues() {
} = useSelection();
const location = useLocation();
const [highlighted, setHighlighted] = useState<number[]>([]);
const deepLinkParams = useMemo(() => {
const params = new URLSearchParams(location.search);
const orgSlug = params.get("o")?.trim().toLowerCase() ?? "";
@@ -667,7 +669,12 @@ export default function Issues() {
<ResizablePanelGroup className={`flex-1`}>
<ResizablePanel id={"left"} minSize={400}>
<div className="border w-full flex-shrink">
<IssuesTable columns={{ description: false }} className="w-full" filters={issueFilters} />
<IssuesTable
columns={{ description: false }}
className="w-full"
filters={issueFilters}
highlighted={highlighted}
/>
</div>
</ResizablePanel>
@@ -696,7 +703,7 @@ export default function Issues() {
/>
)}
<Chat />
<Chat setHighlighted={setHighlighted} />
</main>
);
}