+
{result}
-
+
{outputUnit || 'Result'}
diff --git a/src/plugins/built-in/globalSearch/SearchBar.svelte b/src/plugins/built-in/globalSearch/SearchBar.svelte
index e0932f2e..951cd679 100644
--- a/src/plugins/built-in/globalSearch/SearchBar.svelte
+++ b/src/plugins/built-in/globalSearch/SearchBar.svelte
@@ -113,10 +113,15 @@
}
});
+ $effect(() => {
+ if (combinedResults.length === 0 && calculatorResult && commandPalleteOpen) {
+ selectedIndex = 0;
+ }
+ });
+
const selectNext = () => {
- if (calculatorResult && selectedIndex === -1) {
- selectedIndex = 0; // Move from calculator to first search result
- } else if (selectedIndex < combinedResults.length - 1) {
+ const maxIndex = (calculatorResult ? 1 : 0) + combinedResults.length - 1;
+ if (selectedIndex < maxIndex) {
selectedIndex++;
}
};
@@ -124,18 +129,15 @@
const selectPrev = () => {
if (selectedIndex > 0) {
selectedIndex--;
- } else if (selectedIndex === 0 && calculatorResult) {
- selectedIndex = -1; // Move from first search result to calculator
}
};
const executeSelected = () => {
- if (selectedIndex === -1 && calculatorResult) {
- if (calculatorResult) {
- navigator.clipboard.writeText(calculatorResult);
- }
+ if (calculatorResult && selectedIndex === 0) {
+ navigator.clipboard.writeText(calculatorResult);
} else {
- combinedResults[selectedIndex]?.item.action();
+ const resultIndex = calculatorResult ? selectedIndex - 1 : selectedIndex;
+ combinedResults[resultIndex]?.item.action();
}
commandPalleteOpen = false;
};
@@ -196,21 +198,21 @@
updateCalculatorState(e.detail)}
/>
{#if combinedResults.length > 0}
{#each combinedResults as result, i (result.id)}
- {@const isSelected = selectedIndex === i}
+ {@const isSelected = selectedIndex === (calculatorResult ? i + 1 : i)}
{@const item = result.item}
-
{#if result.type === 'command'}
{@const staticItem = item as StaticCommandItem}