From 0568f003d92a1878d81f6c5a6fee82fcfed8c740 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Mon, 10 Aug 2026 10:45:51 +0200 Subject: [PATCH] feat(ui): open a list's findings folder --- src/ClaudeDo.Localization/locales/de.json | 1 + src/ClaudeDo.Localization/locales/en.json | 1 + .../ViewModels/Islands/ListsIslandViewModel.cs | 18 ++++++++++++++++++ .../Views/Islands/ListsIslandView.axaml | 4 ++++ 4 files changed, 24 insertions(+) diff --git a/src/ClaudeDo.Localization/locales/de.json b/src/ClaudeDo.Localization/locales/de.json index f047fe27..dfdd95ae 100644 --- a/src/ClaudeDo.Localization/locales/de.json +++ b/src/ClaudeDo.Localization/locales/de.json @@ -197,6 +197,7 @@ "contextWorktrees": "Worktrees…", "contextOpenExplorer": "Im Explorer öffnen", "contextOpenTerminal": "Im Terminal öffnen", + "contextOpenFindings": "Findings-Ordner öffnen", "newList": "Neue Liste", "addReposTip": "Repos als Listen hinzufügen" }, diff --git a/src/ClaudeDo.Localization/locales/en.json b/src/ClaudeDo.Localization/locales/en.json index 84fc46b2..a4220211 100644 --- a/src/ClaudeDo.Localization/locales/en.json +++ b/src/ClaudeDo.Localization/locales/en.json @@ -197,6 +197,7 @@ "contextWorktrees": "Worktrees…", "contextOpenExplorer": "Open in Explorer", "contextOpenTerminal": "Open in Terminal", + "contextOpenFindings": "Open findings folder", "newList": "New list", "addReposTip": "Add repos as lists" }, diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs index aa06d64d..c04a3f5d 100644 --- a/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/Islands/ListsIslandViewModel.cs @@ -120,6 +120,24 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable catch { /* best-effort */ } } + [RelayCommand] + private void OpenFindings(ListNavItemViewModel? row) + { + var dir = row?.WorkingDir; + if (string.IsNullOrWhiteSpace(dir)) return; + var findings = System.IO.Path.Combine(dir, ".claudedo"); + if (!System.IO.Directory.Exists(findings)) return; + try + { + System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo + { + FileName = findings, + UseShellExecute = true, + }); + } + catch { /* best-effort */ } + } + [RelayCommand] private void OpenInTerminal(ListNavItemViewModel? row) { diff --git a/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml b/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml index 4afc591d..35381c2e 100644 --- a/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml +++ b/src/ClaudeDo.Ui/Views/Islands/ListsIslandView.axaml @@ -131,6 +131,10 @@ IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenInExplorerCommand}" CommandParameter="{Binding}"/> +