feat: stopaable tips

This commit is contained in:
scarqin
2024-12-31 14:24:15 +08:00
parent 9777859f42
commit 3ebafcbc03
3 changed files with 7 additions and 10 deletions
@@ -23,7 +23,7 @@ const AiSettingModalContent = forwardRef<AiSettingModalContentHandle, AiSettingM
const { fetchData } = useFetch()
const [llmList, setLlmList] = useState<AiProviderLlmsItems[]>()
const [loading, setLoading] = useState<boolean>(false)
const [enableState, setEnableState] = useState<boolean>(entity.status === 'enabled')
const getLlmList = () => {
setLoading(true)
fetchData<BasicResponse<{ llms: AiProviderLlmsItems[] }>>(`ai/provider/llms`, {
@@ -108,10 +108,10 @@ const AiSettingModalContent = forwardRef<AiSettingModalContentHandle, AiSettingM
return (
<Form
form={form}
layout="vertical"
labelAlign="left"
scrollToFirstError
form={form}
className="flex flex-col mx-auto h-full"
name="aiServiceInsideRouterModalConfig"
autoComplete="off"
@@ -188,13 +188,13 @@ const AiSettingModalContent = forwardRef<AiSettingModalContentHandle, AiSettingM
unCheckedChildren={$t('停用')}
onChange={(checked) => {
form.setFieldsValue({ enable: checked })
setEnableState(checked)
}}
/>
</Form.Item>
</div>
{(entity.status === 'enabled' && !form.getFieldValue('enable')) ||
(entity.status !== 'enabled' && form.getFieldValue('enable')) ? (
<div className="mt-2 text-sm text-gray-500">* {getTooltipText(form.getFieldValue('enable'))}</div>
{(entity.status === 'enabled' && !enableState) || (entity.status !== 'enabled' && enableState) ? (
<div className="mt-2 text-sm text-gray-500">* {getTooltipText(enableState)}</div>
) : null}
</Form.Item>
)}
@@ -1,4 +1,3 @@
import { useGlobalContext } from '@common/contexts/GlobalStateContext'
import { Icon } from '@iconify/react'
import { Handle, Position } from '@xyflow/react'
import { t } from 'i18next'
@@ -14,7 +13,6 @@ type ModelCardNodeData = ModelDetailData & {
export const ModelCardNode: React.FC<{ data: ModelCardNodeData }> = ({ data }) => {
const { name, status, defaultLlm, logo } = data
const { openConfigModal } = useAiSetting()
const { aiConfigFlushed, setAiConfigFlushed } = useGlobalContext()
const getStatusIcon = (status: ModelStatus) => {
switch (status) {
@@ -56,7 +54,6 @@ export const ModelCardNode: React.FC<{ data: ModelCardNodeData }> = ({ data }) =
className="text-xl text-gray-400 cursor-pointer hover:text-[--primary-color]"
onClick={() => {
openConfigModal({ id: data.id, defaultLlm: defaultLlm } as AiSettingListItem)
setAiConfigFlushed(!aiConfigFlushed)
}}
/>
</div>
@@ -18,7 +18,7 @@ const AiSettingContext = createContext<AiSettingContextType | undefined>(undefin
export const AiSettingProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
const { modal, message } = App.useApp()
const { fetchData } = useFetch()
const { setAiConfigFlushed, accessData } = useGlobalContext()
const { aiConfigFlushed, setAiConfigFlushed, accessData } = useGlobalContext()
const modalRef = useRef<AiSettingModalContentHandle>()
const openConfigModal = async (entity: AiSettingListItem) => {
@@ -46,7 +46,7 @@ export const AiSettingProvider: React.FC<{ children: React.ReactNode }> = ({ chi
onOk: () => {
return modalRef.current?.save().then((res) => {
if (res === true) {
setAiConfigFlushed(true)
setAiConfigFlushed(!aiConfigFlushed)
}
})
},