Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .jules/palette.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

## 2024-05-24 - Empty States Should Be Actionable
**Learning:** Users often get stuck in empty search states because the path to recovery (clearing text or changing tabs) requires moving focus away from the empty state area.
**Action:** Always provide an actionable recovery path (like a "Clear Search" button) directly within the empty state container to reduce interaction friction.
Original file line number Diff line number Diff line change
Expand Up @@ -149,31 +149,37 @@
Content="All"
GroupName="SearchTabs"
IsChecked="{Binding FilterAll, Mode=TwoWay}"
ToolTip="Search everywhere (/all)"
Style="{StaticResource TabButtonStyle}" />
<RadioButton
Content="Classes"
GroupName="SearchTabs"
IsChecked="{Binding FilterClasses, Mode=TwoWay}"
ToolTip="Search classes and types (/t)"
Style="{StaticResource TabButtonStyle}" />
<RadioButton
Content="Symbols"
GroupName="SearchTabs"
IsChecked="{Binding FilterSymbols, Mode=TwoWay}"
ToolTip="Search methods and variables (/s)"
Style="{StaticResource TabButtonStyle}" />
<RadioButton
Content="Files"
GroupName="SearchTabs"
IsChecked="{Binding FilterFiles, Mode=TwoWay}"
ToolTip="Search files by name (/f)"
Style="{StaticResource TabButtonStyle}" />
<RadioButton
Content="Text"
GroupName="SearchTabs"
IsChecked="{Binding FilterText, Mode=TwoWay}"
ToolTip="Search file content (/txt)"
Style="{StaticResource TabButtonStyle}" />
<RadioButton
Content="Endpoints"
GroupName="SearchTabs"
IsChecked="{Binding FilterEndpoints, Mode=TwoWay}"
ToolTip="Search API routes (/e)"
Style="{StaticResource TabButtonStyle}" />
</StackPanel>
</Border>
Expand Down Expand Up @@ -455,6 +461,18 @@
Foreground="{DynamicResource {x:Static vsshell:VsBrushes.GrayTextKey}}"
HorizontalAlignment="Center"
Margin="0,4,0,0" />
<Button
Content="Clear Search"
Margin="0,16,0,0"
Padding="16,6"
HorizontalAlignment="Center"
Background="Transparent"
BorderBrush="{DynamicResource {x:Static vsshell:VsBrushes.ToolWindowBorderKey}}"
BorderThickness="1"
Foreground="{DynamicResource {x:Static vsshell:VsBrushes.ToolWindowTextKey}}"
Cursor="Hand"
Click="ClearSearchButton_Click"
AutomationProperties.Name="Clear search to try again" />
</StackPanel>

<!-- Status Bar (Sticky at Bottom) -->
Expand Down
Loading