diff --git a/frontend/src/components/library/TreeGridView.tsx b/frontend/src/components/library/TreeGridView.tsx index 9ad45398..f867c249 100644 --- a/frontend/src/components/library/TreeGridView.tsx +++ b/frontend/src/components/library/TreeGridView.tsx @@ -1,5 +1,5 @@ import { Link } from 'react-router-dom' -import { Pencil, Globe, Lock, Trash2, GitBranch, FileText, Wrench } from 'lucide-react' +import { Pencil, Globe, Lock, Trash2, GitBranch, FileText, Wrench, Star } from 'lucide-react' import type { TreeListItem } from '@/types' import { TagBadges } from '@/components/common/TagBadges' import { cn } from '@/lib/utils' @@ -13,6 +13,9 @@ interface TreeGridViewProps { onFolderCreated: (parentId?: string | null) => void onDeleteTree: (tree: TreeListItem) => void onForkTree?: (treeId: string) => void + pinnedTreeIds?: Set + onTogglePin?: (treeId: string) => void + pinLoadingTreeIds?: Set } export function TreeGridView({ @@ -21,6 +24,9 @@ export function TreeGridView({ onTagClick, onDeleteTree, onForkTree, + pinnedTreeIds, + onTogglePin, + pinLoadingTreeIds, }: TreeGridViewProps) { const { canEditTree, canDeleteTree } = usePermissions() @@ -29,8 +35,28 @@ export function TreeGridView({ {trees.map((tree) => (
+ {onTogglePin && ( + + )}

{tree.name}

diff --git a/frontend/src/components/library/TreeListView.tsx b/frontend/src/components/library/TreeListView.tsx index ff2bd94a..6f94eb7f 100644 --- a/frontend/src/components/library/TreeListView.tsx +++ b/frontend/src/components/library/TreeListView.tsx @@ -1,5 +1,5 @@ import { Link } from 'react-router-dom' -import { Pencil, Globe, Lock, GitBranch, FileText, Trash2, Wrench } from 'lucide-react' +import { Pencil, Globe, Lock, GitBranch, FileText, Trash2, Wrench, Star } from 'lucide-react' import type { TreeListItem } from '@/types' import { TagBadges } from '@/components/common/TagBadges' import { cn } from '@/lib/utils' @@ -13,6 +13,9 @@ interface TreeListViewProps { onFolderCreated: (parentId?: string | null) => void onDeleteTree: (tree: TreeListItem) => void onForkTree?: (treeId: string) => void + pinnedTreeIds?: Set + onTogglePin?: (treeId: string) => void + pinLoadingTreeIds?: Set } export function TreeListView({ @@ -21,6 +24,9 @@ export function TreeListView({ onTagClick, onDeleteTree, onForkTree, + pinnedTreeIds, + onTogglePin, + pinLoadingTreeIds, }: TreeListViewProps) { const { canEditTree } = usePermissions() @@ -84,6 +90,26 @@ export function TreeListView({
+ {onTogglePin && ( + + )} {onForkTree && (