mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
feat: stopaable tips
This commit is contained in:
@@ -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)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user