mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 10:40:07 +08:00
refactor(preferences): replace empty action items with default values and remove unused hook
- Updated the preferences configuration to use `defaultActionItems` instead of an empty array for `feature.selection.action_items`, enhancing default behavior. - Removed the `useSelectionAssistant` hook as it was no longer needed, streamlining the codebase.
This commit is contained in:
parent
65c24a2f4b
commit
40fe381aa5
22
packages/shared/data/pending_default_values.ts
Normal file
22
packages/shared/data/pending_default_values.ts
Normal file
@ -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' }
|
||||
]
|
||||
@ -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,
|
||||
|
||||
@ -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))
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user