| searchText: string | searchText: string | ||||
| } | } | ||||
| const FixedModelProvider = ['langgenius/openai/openai', 'langgenius/anthropic/anthropic'] | |||||
| const ModelProviderPage = ({ searchText }: Props) => { | const ModelProviderPage = ({ searchText }: Props) => { | ||||
| const debouncedSearchText = useDebounce(searchText, { wait: 500 }) | const debouncedSearchText = useDebounce(searchText, { wait: 500 }) | ||||
| const { t } = useTranslation() | const { t } = useTranslation() | ||||
| notConfiguredProviders.push(provider) | notConfiguredProviders.push(provider) | ||||
| }) | }) | ||||
| configuredProviders.sort((a, b) => { | |||||
| if (FixedModelProvider.includes(a.provider) && FixedModelProvider.includes(b.provider)) | |||||
| return FixedModelProvider.indexOf(a.provider) - FixedModelProvider.indexOf(b.provider) > 0 ? 1 : -1 | |||||
| else if (FixedModelProvider.includes(a.provider)) | |||||
| return -1 | |||||
| else if (FixedModelProvider.includes(b.provider)) | |||||
| return 1 | |||||
| return 0 | |||||
| }) | |||||
| return [configuredProviders, notConfiguredProviders] | return [configuredProviders, notConfiguredProviders] | ||||
| }, [providers]) | }, [providers]) | ||||
| const [filteredConfiguredProviders, filteredNotConfiguredProviders] = useMemo(() => { | const [filteredConfiguredProviders, filteredNotConfiguredProviders] = useMemo(() => { |