mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 18:50:56 +08:00
feat(selection): add builtin action item type and update default items
Add new SelectionBuiltinActionItem type to better type builtin actions Update defaultActionItems to use new type with const assertion
This commit is contained in:
parent
0045bf6c9c
commit
913238c991
@ -38,6 +38,14 @@ export type SelectionActionItem = {
|
||||
searchEngine?: string
|
||||
}
|
||||
|
||||
export type BuiltinActionItemId = 'translate' | 'explain' | 'summary' | 'search' | 'copy' | 'refine' | 'quote'
|
||||
|
||||
export interface SelectionBuiltinActionItem extends SelectionActionItem {
|
||||
id: BuiltinActionItemId
|
||||
isBuiltIn: true
|
||||
assistantId?: never
|
||||
}
|
||||
|
||||
export enum ThemeMode {
|
||||
light = 'light',
|
||||
dark = 'dark',
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
*/
|
||||
import type { PayloadAction } from '@reduxjs/toolkit'
|
||||
import { createSlice } from '@reduxjs/toolkit'
|
||||
import type { SelectionActionItem } from '@shared/data/preference/preferenceTypes'
|
||||
import type { SelectionActionItem, SelectionBuiltinActionItem } from '@shared/data/preference/preferenceTypes'
|
||||
import { SelectionFilterMode, SelectionTriggerMode } from '@shared/data/preference/preferenceTypes'
|
||||
|
||||
export interface SelectionState {
|
||||
@ -20,7 +20,7 @@ export interface SelectionState {
|
||||
actionItems: SelectionActionItem[]
|
||||
}
|
||||
|
||||
export const defaultActionItems: SelectionActionItem[] = [
|
||||
export const defaultActionItems = [
|
||||
{ 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' },
|
||||
@ -35,7 +35,7 @@ export const defaultActionItems: SelectionActionItem[] = [
|
||||
{ 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' }
|
||||
]
|
||||
] as const satisfies SelectionBuiltinActionItem[]
|
||||
|
||||
export const initialState: SelectionState = {
|
||||
selectionEnabled: false,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user