import * as React from 'react'; import { BackendList } from '~/components/BackendList'; import { useBackendConfigForm } from '~/modules/backend/hooks'; import type { ClashAPIConfigWithAddedAt } from '~/store/types'; import type { ClashAPIConfig } from '~/types'; import s0 from './APIConfig.module.scss'; import Button from './Button'; import Field from './Field'; import SvgYacd from './SvgYacd'; type Props = { apiConfigs: ClashAPIConfigWithAddedAt[]; selectedClashAPIConfigIndex: number; onAddConfig: (config: ClashAPIConfig) => void; onRemoveConfig: (config: ClashAPIConfig) => void; onSelectConfig: (config: ClashAPIConfig) => void; }; const { useRef } = React; export default function APIConfig({ apiConfigs, selectedClashAPIConfigIndex, onAddConfig, onRemoveConfig, onSelectConfig, }: Props) { const contentEl = useRef(null); const { baseURL, secret, errMsg, handleInputOnChange, handleContentOnKeyDown, onConfirm } = useBackendConfigForm({ onAddConfig }); return ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions