update api context

This commit is contained in:
duanfuxiang
2025-06-06 17:20:05 +08:00
parent 8732ebf30e
commit 5bdfc91042
6 changed files with 16 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ import * as Tooltip from '@radix-ui/react-tooltip'
import { Check, CopyIcon } from 'lucide-react'
import { useEffect, useState } from 'react'
import { useSettings } from '../../contexts/SettingsContext'
import { t } from '../../lang/helpers'
import { ChatAssistantMessage } from '../../types/chat'
import { calculateLLMCost } from '../../utils/price-calculator'
@@ -46,6 +47,7 @@ function CopyButton({ message }: { message: ChatAssistantMessage }) {
function LLMResponesInfoButton({ message }: { message: ChatAssistantMessage }) {
const [cost, setCost] = useState<number | null>(0);
const { settings } = useSettings();
useEffect(() => {
async function calculateCost() {
@@ -56,12 +58,13 @@ function LLMResponesInfoButton({ message }: { message: ChatAssistantMessage }) {
const calculatedCost = await calculateLLMCost({
model: message.metadata.model,
usage: message.metadata.usage,
settings: settings,
});
setCost(calculatedCost);
}
calculateCost();
}, [message]);
}, [message, settings]);
return (
<Tooltip.Provider delayDuration={0}>

View File

@@ -151,7 +151,7 @@ export function ModelSelect() {
const fetchModels = async () => {
setIsLoading(true)
try {
const models = await GetProviderModelIds(modelProvider)
const models = await GetProviderModelIds(modelProvider, settings)
setModelIds(models)
} catch (error) {
console.error('Failed to fetch provider models:', error)
@@ -162,7 +162,7 @@ export function ModelSelect() {
}
fetchModels()
}, [modelProvider])
}, [modelProvider, settings])
// Sync chat model id & chat model provider
useEffect(() => {

View File

@@ -83,7 +83,7 @@ const ControlArea: React.FC<ControlAreaProps> = ({
useEffect(() => {
const fetchModels = async () => {
try {
const models = await GetProviderModelIds(settings.chatModelProvider);
const models = await GetProviderModelIds(settings.chatModelProvider, settings);
setProviderModels(models);
} catch (err) {
const error = err as Error;