diff --git a/packages/shared/data/pending_default_values.ts b/packages/shared/data/pending_default_values.ts new file mode 100644 index 0000000000..5a8a18dfd0 --- /dev/null +++ b/packages/shared/data/pending_default_values.ts @@ -0,0 +1,22 @@ +/** + * 数据重构,临时存放的默认值,需在全部完成后重新整理 + */ + +import type { SelectionActionItem } from './types' + +export const defaultActionItems: SelectionActionItem[] = [ + { id: 'translate', name: 'selection.action.builtin.translate', enabled: true, isBuiltIn: true, icon: 'languages' }, + { id: 'explain', name: 'selection.action.builtin.explain', enabled: true, isBuiltIn: true, icon: 'file-question' }, + { id: 'summary', name: 'selection.action.builtin.summary', enabled: true, isBuiltIn: true, icon: 'scan-text' }, + { + id: 'search', + name: 'selection.action.builtin.search', + enabled: true, + isBuiltIn: true, + icon: 'search', + searchEngine: 'Google|https://www.google.com/search?q={{queryString}}' + }, + { id: 'copy', name: 'selection.action.builtin.copy', enabled: true, isBuiltIn: true, icon: 'clipboard-copy' }, + { id: 'refine', name: 'selection.action.builtin.refine', enabled: false, isBuiltIn: true, icon: 'wand-sparkles' }, + { id: 'quote', name: 'selection.action.builtin.quote', enabled: false, isBuiltIn: true, icon: 'quote' } +] diff --git a/packages/shared/data/preferences.ts b/packages/shared/data/preferences.ts index 99e5ecbbed..06bc24c08a 100644 --- a/packages/shared/data/preferences.ts +++ b/packages/shared/data/preferences.ts @@ -1,3 +1,4 @@ +import { defaultActionItems } from './pending_default_values' import type { SelectionActionItem, SelectionFilterMode, SelectionTriggerMode } from './types' /** @@ -499,7 +500,7 @@ export const DefaultPreferences: PreferencesType = { 'feature.quick_assistant.click_tray_to_show': false, 'feature.quick_assistant.enabled': false, 'feature.quick_assistant.read_clipboard_at_startup': true, - 'feature.selection.action_items': [], + 'feature.selection.action_items': defaultActionItems, 'feature.selection.action_window_opacity': 100, 'feature.selection.auto_close': false, 'feature.selection.auto_pin': false, diff --git a/src/renderer/src/hooks/useSelectionAssistant.ts b/src/renderer/src/hooks/useSelectionAssistant.ts deleted file mode 100644 index 93a51b2c70..0000000000 --- a/src/renderer/src/hooks/useSelectionAssistant.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { useAppDispatch, useAppSelector } from '@renderer/store' -import { - setActionItems, - setActionWindowOpacity, - setFilterList, - setFilterMode, - setIsAutoClose, - setIsAutoPin, - setIsCompact, - setIsFollowToolbar, - setIsRemeberWinSize, - setSelectionEnabled, - setTriggerMode -} from '@renderer/store/selectionStore' -import { ActionItem, FilterMode, TriggerMode } from '@renderer/types/selectionTypes' - -export function useSelectionAssistant() { - const dispatch = useAppDispatch() - const selectionStore = useAppSelector((state) => state.selectionStore) - - return { - ...selectionStore, - setSelectionEnabled: (enabled: boolean) => { - dispatch(setSelectionEnabled(enabled)) - window.api.selection.setEnabled(enabled) - }, - setTriggerMode: (mode: TriggerMode) => { - dispatch(setTriggerMode(mode)) - window.api.selection.setTriggerMode(mode) - }, - setIsCompact: (isCompact: boolean) => { - dispatch(setIsCompact(isCompact)) - }, - setIsAutoClose: (isAutoClose: boolean) => { - dispatch(setIsAutoClose(isAutoClose)) - }, - setIsAutoPin: (isAutoPin: boolean) => { - dispatch(setIsAutoPin(isAutoPin)) - }, - setIsFollowToolbar: (isFollowToolbar: boolean) => { - dispatch(setIsFollowToolbar(isFollowToolbar)) - window.api.selection.setFollowToolbar(isFollowToolbar) - }, - setIsRemeberWinSize: (isRemeberWinSize: boolean) => { - dispatch(setIsRemeberWinSize(isRemeberWinSize)) - window.api.selection.setRemeberWinSize(isRemeberWinSize) - }, - setFilterMode: (mode: FilterMode) => { - dispatch(setFilterMode(mode)) - window.api.selection.setFilterMode(mode) - }, - setFilterList: (list: string[]) => { - dispatch(setFilterList(list)) - window.api.selection.setFilterList(list) - }, - setActionWindowOpacity: (opacity: number) => { - dispatch(setActionWindowOpacity(opacity)) - }, - setActionItems: (items: ActionItem[]) => { - dispatch(setActionItems(items)) - } - } -}