diff --git a/src/lib/components/ExplorerPanel.svelte b/src/lib/components/ExplorerPanel.svelte index 377c5a6..7feb034 100644 --- a/src/lib/components/ExplorerPanel.svelte +++ b/src/lib/components/ExplorerPanel.svelte @@ -11,6 +11,7 @@ FileCog, FileImage, FileJson, + FileSearch, FileSpreadsheet, FileText, FileType, @@ -37,6 +38,7 @@ onCollapseAllFolders: () => void; onSelectNode: (node: ExplorerNode) => void; onOpenFile: (node: ExplorerNode) => void; + onFileHistory: (node: ExplorerNode) => void; onBlame: (node: ExplorerNode) => void; collapsed?: boolean; onToggleCollapsed?: () => void; @@ -54,6 +56,7 @@ onCollapseAllFolders = () => {}, onSelectNode = () => {}, onOpenFile = () => {}, + onFileHistory = () => {}, onBlame = () => {}, collapsed = false, onToggleCollapsed = () => {}, @@ -175,7 +178,7 @@ contextNode = node; contextMenuX = Math.max(8, Math.min(event.clientX + 2, window.innerWidth - 192)); - contextMenuY = Math.max(8, Math.min(event.clientY + 2, window.innerHeight - 56)); + contextMenuY = Math.max(8, Math.min(event.clientY + 2, window.innerHeight - 132)); } function closeFileContextMenu() { @@ -196,6 +199,13 @@ onBlame(node); } + function openContextFileHistory() { + const node = contextNode; + if (!node || node.kind !== "file" || !node.tracked) return; + closeFileContextMenu(); + onFileHistory(node); + } + function handleWindowKeydown(event: KeyboardEvent) { if (event.key === "Escape") closeFileContextMenu(); } @@ -261,12 +271,14 @@ {:else}