refactor(settings): remove showTokens setting and related logic

- Eliminated the showTokens state and its associated actions from the settings management.
- Updated MessageTokens component to directly display token usage without relying on showTokens.
- Adjusted migration logic to remove default showTokens setting during state initialization.
This commit is contained in:
kangfenmao 2025-09-02 03:53:28 +08:00
parent 06b17128fd
commit 1f9a8276b1
4 changed files with 10 additions and 25 deletions

View File

@ -11,7 +11,6 @@ import {
setNavbarPosition, setNavbarPosition,
setPinTopicsToTop, setPinTopicsToTop,
setSendMessageShortcut as _setSendMessageShortcut, setSendMessageShortcut as _setSendMessageShortcut,
setShowTokens,
setSidebarIcons, setSidebarIcons,
setTargetLanguage, setTargetLanguage,
setTestChannel as _setTestChannel, setTestChannel as _setTestChannel,
@ -101,9 +100,6 @@ export function useSettings() {
setAssistantIconType(assistantIconType: AssistantIconType) { setAssistantIconType(assistantIconType: AssistantIconType) {
dispatch(setAssistantIconType(assistantIconType)) dispatch(setAssistantIconType(assistantIconType))
}, },
setShowTokens(showTokens: boolean) {
dispatch(setShowTokens(showTokens))
},
setDisableHardwareAcceleration(disableHardwareAcceleration: boolean) { setDisableHardwareAcceleration(disableHardwareAcceleration: boolean) {
dispatch(setDisableHardwareAcceleration(disableHardwareAcceleration)) dispatch(setDisableHardwareAcceleration(disableHardwareAcceleration))
window.api.setDisableHardwareAcceleration(disableHardwareAcceleration) window.api.setDisableHardwareAcceleration(disableHardwareAcceleration)

View File

@ -1,5 +1,4 @@
// import { useRuntime } from '@renderer/hooks/useRuntime' // import { useRuntime } from '@renderer/hooks/useRuntime'
import { useSettings } from '@renderer/hooks/useSettings'
import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService'
import type { Message } from '@renderer/types/newMessage' import type { Message } from '@renderer/types/newMessage'
import { Popover } from 'antd' import { Popover } from 'antd'
@ -12,7 +11,6 @@ interface MessageTokensProps {
} }
const MessageTokens: React.FC<MessageTokensProps> = ({ message }) => { const MessageTokens: React.FC<MessageTokensProps> = ({ message }) => {
const { showTokens } = useSettings()
// const { generating } = useRuntime() // const { generating } = useRuntime()
const locateMessage = () => { const locateMessage = () => {
EventEmitter.emit(EVENT_NAMES.LOCATE_MESSAGE + ':' + message.id, false) EventEmitter.emit(EVENT_NAMES.LOCATE_MESSAGE + ':' + message.id, false)
@ -59,7 +57,7 @@ const MessageTokens: React.FC<MessageTokensProps> = ({ message }) => {
if (message.role === 'user') { if (message.role === 'user') {
return ( return (
<MessageMetadata className="message-tokens" onClick={locateMessage}> <MessageMetadata className="message-tokens" onClick={locateMessage}>
{showTokens && `Tokens: ${message?.usage?.total_tokens}`} {`Tokens: ${message?.usage?.total_tokens}`}
</MessageMetadata> </MessageMetadata>
) )
} }
@ -88,17 +86,15 @@ const MessageTokens: React.FC<MessageTokensProps> = ({ message }) => {
) )
return ( return (
showTokens && ( <MessageMetadata className="message-tokens" onClick={locateMessage}>
<MessageMetadata className="message-tokens" onClick={locateMessage}> {hasMetrics ? (
{hasMetrics ? ( <Popover content={metrixs} placement="top" trigger="hover" styles={{ root: { fontSize: 11 } }}>
<Popover content={metrixs} placement="top" trigger="hover" styles={{ root: { fontSize: 11 } }}> {tokensInfo}
{tokensInfo} </Popover>
</Popover> ) : (
) : ( tokensInfo
tokensInfo )}
)} </MessageMetadata>
</MessageMetadata>
)
) )
} }

View File

@ -1604,7 +1604,6 @@ const migrateConfig = {
if (state.paintings && !state.paintings.tokenflux_paintings) { if (state.paintings && !state.paintings.tokenflux_paintings) {
state.paintings.tokenflux_paintings = [] state.paintings.tokenflux_paintings = []
} }
state.settings.showTokens = true
state.settings.testPlan = false state.settings.testPlan = false
return state return state
} catch (error) { } catch (error) {

View File

@ -48,7 +48,6 @@ export interface SettingsState {
userName: string userName: string
userId: string userId: string
showPrompt: boolean showPrompt: boolean
showTokens: boolean
showMessageDivider: boolean showMessageDivider: boolean
messageFont: 'system' | 'serif' messageFont: 'system' | 'serif'
showInputEstimatedTokens: boolean showInputEstimatedTokens: boolean
@ -232,7 +231,6 @@ export const initialState: SettingsState = {
userName: '', userName: '',
userId: uuid(), userId: uuid(),
showPrompt: true, showPrompt: true,
showTokens: true,
showMessageDivider: true, showMessageDivider: true,
messageFont: 'system', messageFont: 'system',
showInputEstimatedTokens: false, showInputEstimatedTokens: false,
@ -453,9 +451,6 @@ const settingsSlice = createSlice({
setShowPrompt: (state, action: PayloadAction<boolean>) => { setShowPrompt: (state, action: PayloadAction<boolean>) => {
state.showPrompt = action.payload state.showPrompt = action.payload
}, },
setShowTokens: (state, action: PayloadAction<boolean>) => {
state.showTokens = action.payload
},
setShowMessageDivider: (state, action: PayloadAction<boolean>) => { setShowMessageDivider: (state, action: PayloadAction<boolean>) => {
state.showMessageDivider = action.payload state.showMessageDivider = action.payload
}, },
@ -865,7 +860,6 @@ export const {
setProxyBypassRules, setProxyBypassRules,
setUserName, setUserName,
setShowPrompt, setShowPrompt,
setShowTokens,
setShowMessageDivider, setShowMessageDivider,
setMessageFont, setMessageFont,
setShowInputEstimatedTokens, setShowInputEstimatedTokens,