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

View File

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

View File

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

View File

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