diff --git a/apps/spotter/src/components/queryPanel/options.queryPanel.tsx b/apps/spotter/src/components/queryPanel/options.queryPanel.tsx
index 63b453b2..9487e3b3 100644
--- a/apps/spotter/src/components/queryPanel/options.queryPanel.tsx
+++ b/apps/spotter/src/components/queryPanel/options.queryPanel.tsx
@@ -90,6 +90,10 @@ export const Option = ({
return () => subscriptions.forEach(s => s.unsubscribe());
}, []);
+ const subtitle = option.subtitle
+ ? `${option.subtitle.slice(0, 45)} ${option.subtitle.length > 44 ? '...' : ''}`
+ : null;
+
return {option.title}
- {option.subtitle &&
+ {subtitle &&
― {option.subtitle.slice(0, 45)}{option.subtitle.length > 44 ? '...' : ''}
+ }}> ― {subtitle}
}
{active &&
@@ -146,7 +150,7 @@ export const OptionIcon = ({ style, icon }: { style: ViewStyle & ImageStyle, ico
}}>
{icon.endsWith('.app') || icon.endsWith('.prefPane')
?
- : uriRegExp.test(icon)
+ : uriRegExp.test(icon) || icon.startsWith('https://') || icon.startsWith('http://')
?
: {icon}
}
diff --git a/apps/spotter/src/helpers.ts b/apps/spotter/src/helpers.ts
index 24ba6267..54c8dec2 100644
--- a/apps/spotter/src/helpers.ts
+++ b/apps/spotter/src/helpers.ts
@@ -31,11 +31,11 @@ export const sortOptions = (
});
};
-export const hideOptions = (
+export const replaceOptions = (
options: Array
): Array => {
const optionsToHide: string[] = options.reduce((acc, curr) => {
- return [...acc, ...(curr?.hideOptions ? curr.hideOptions : [])];
+ return [...acc, ...(curr?.replaceOptions ? curr.replaceOptions : [])];
}, []);
if (!optionsToHide.length) {
@@ -44,7 +44,7 @@ export const hideOptions = (
return options.filter(o => {
const optionToHide = optionsToHide.find(opt => opt === o.title);
- const shouldHide = optionToHide && !o.hideOptions?.find(opt => opt === optionToHide);
+ const shouldHide = optionToHide && !o.replaceOptions?.find(opt => opt === optionToHide);
return !shouldHide;
});
};
diff --git a/apps/spotter/src/providers/events.provider.tsx b/apps/spotter/src/providers/events.provider.tsx
index 3180bc4f..60f116a1 100644
--- a/apps/spotter/src/providers/events.provider.tsx
+++ b/apps/spotter/src/providers/events.provider.tsx
@@ -4,7 +4,7 @@ import { ALT_QUERY_KEY_MAP, SPOTTER_HOTKEY_IDENTIFIER } from '../constants';
import { isPluginOnQueryOption, PluginRegistryOption, SpotterHotkeyEvent } from '../interfaces';
import { useApi } from './api.provider';
import { useSettings } from './settings.provider';
-import { hideOptions, getHistoryPath, sortOptions } from '../helpers';
+import { replaceOptions, getHistoryPath, sortOptions } from '../helpers';
import { useHistory } from './history.provider';
import { useSpotterState } from './state.provider';
import { usePlugins } from './plugins.provider';
@@ -268,7 +268,7 @@ export const EventsProvider: FC<{}> = (props) => {
);
const history = await getHistory();
- const prioritizedOptions = hideOptions(filteredRegisteredOptions);
+ const prioritizedOptions = replaceOptions(filteredRegisteredOptions);
const sortedOptions = sortOptions(
prioritizedOptions ,
selectedOption$.value,
diff --git a/apps/spotter/src/providers/plugins.provider.tsx b/apps/spotter/src/providers/plugins.provider.tsx
index 1541e3fc..79548510 100644
--- a/apps/spotter/src/providers/plugins.provider.tsx
+++ b/apps/spotter/src/providers/plugins.provider.tsx
@@ -14,7 +14,7 @@ import React, { FC, useEffect } from 'react';
import { Alert } from 'react-native';
import { Subject, Subscription, BehaviorSubject } from 'rxjs';
import {
- hideOptions,
+ replaceOptions,
InternalPluginChannel,
sortOptions,
ExternalPluginChannel,
@@ -203,7 +203,7 @@ export const PluginsProvider: FC<{}> = (props) => {
command: (PluginCommand & {type: CommandType.setOnQueryOptions})
) => {
const history = await getHistory();
- const options = hideOptions(
+ const options = replaceOptions(
command.value.map(o => ({...o, pluginName: command.pluginName}))
);
const sortedOptions = sortOptions(
diff --git a/package.json b/package.json
index 7956b1a5..aae91058 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"@react-native-community/cli-platform-android": "6.1.0",
"@react-native-community/cli-platform-ios": "6.1.0",
"@react-native-community/eslint-config": "^3.0.1",
- "@spotter-app/core": "2.0.0-beta.12",
+ "@spotter-app/core": "2.0.0-beta.15",
"@testing-library/jest-dom": "5.15.0",
"@testing-library/jest-native": "4.0.4",
"@testing-library/react-native": "8.0.0",
diff --git a/yarn.lock b/yarn.lock
index 3c91b0e6..01bea3b9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2231,10 +2231,10 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
-"@spotter-app/core@2.0.0-beta.12":
- version "2.0.0-beta.12"
- resolved "https://registry.yarnpkg.com/@spotter-app/core/-/core-2.0.0-beta.12.tgz#01fdc434c1978cf4e4d9c965db7f3e9b0c9d7847"
- integrity sha512-nPvYoL9fxS+yHTrtdDb4yh1MsiK5S7nwdcqcQF0r6AiNj456rRGhSix8H0m5mV0mhcOomwmC+xGd77/XHmj+6g==
+"@spotter-app/core@2.0.0-beta.15":
+ version "2.0.0-beta.15"
+ resolved "https://registry.yarnpkg.com/@spotter-app/core/-/core-2.0.0-beta.15.tgz#2b127dc1f08c981f0e8f49637b7e5e9c5effe576"
+ integrity sha512-SwURGGEwlHgWA+k3B3sbkYcT6GRZ3d/GzGKgkeu0RhTlOkQFzDi8M1Kl1Z6NLns7veEbeneqaKxAnfz7pXieOw==
"@storybook/node-logger@6.1.20":
version "6.1.20"