('{}')
const createProxyConfigMutation = useMutation({
mutationKey: ['createProxyConfig', newClientID, newServerID],
mutationFn: () =>
createProxyConfig({
clientId: newClientID!,
serverId: newServerID!,
config: ObjToUint8Array({
proxies: proxyConfigs,
} as ClientConfig),
overwrite,
}),
onSuccess: () => {
toast(t('proxy.config.create_success'))
$proxyTableRefetchTrigger.set(Math.random())
onSuccess?.()
},
onError: (e) => {
toast(t('proxy.config.create_failed'), {
description: JSON.stringify(e),
})
$proxyTableRefetchTrigger.set(Math.random())
},
})
useEffect(() => {
if (proxyName && proxyType) {
setProxyConfigs([{ ...defaultProxyConfig, name: proxyName, type: proxyType }])
}
}, [proxyName, proxyType])
useEffect(() => {
if (proxyConfigs) {
setRawConfig(JSON.stringify(proxyConfigs, null, 2))
}
}, [proxyConfigs, setRawConfig])
useEffect(() => {
if (defaultProxyConfig && defaultOriginalProxyConfig) {
setProxyConfigs([defaultProxyConfig])
setProxyType(defaultProxyConfig.type)
setProxyName(defaultProxyConfig.name)
setNewClientID(defaultOriginalProxyConfig.originClientId)
setNewServerID(defaultOriginalProxyConfig.serverId)
setRawConfig(JSON.stringify([defaultProxyConfig], null, 2))
}
}, [defaultProxyConfig, defaultOriginalProxyConfig])
return (
<>
{!advancedMode && (
<>
({ value: type, label: type }))}
value={proxyType}
setValue={(value) => {
setProxyType(value as ProxyType)
}}
/>
{proxyConfigs &&
selectedServer &&
proxyConfigs.length > 0 &&
proxyConfigs[0] &&
TypedProxyConfigValid(proxyConfigs[0]) && (
)}
setProxyName(e.target.value)}
disabled={disableChangeProxyName}
/>
{proxyName && newClientID && newServerID && (
0 ? proxyConfigs[0] : undefined}
clientProxyConfigs={proxyConfigs}
setClientProxyConfigs={setProxyConfigs}
enablePreview={false}
/>
)}
>
)}
{advancedMode && (
<>