update api context
This commit is contained in:
@@ -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}>
|
||||
|
||||
@@ -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(() => {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user