-
+
{activeTop === hotReloadTabKey && (
@@ -351,235 +120,32 @@ const Config: React.FC = () => {
)}
- {activeTop === 'providers' && !showRaw && (
-
- )}
{activeTop === 'gateway' && !showRaw && (
-
-
{t('configNodeP2P')}
-
{t('configNodeP2PHint')}
-
-
-
- updateGatewayP2PField('enabled', e.target.checked)}
- />
-
-
-
-
-
- updateGatewayP2PField('stun_servers', e.target.value.split(',').map((s) => s.trim()).filter(Boolean))}
- placeholder={t('configNodeP2PStunPlaceholder')}
- className="w-full px-2 py-1 rounded-lg bg-zinc-950/70 border border-zinc-800"
- />
-
-
-
-
-
-
{t('configNodeDispatch')}
-
{t('configNodeDispatchHint')}
-
-
-
- updateGatewayDispatchField('prefer_local', e.target.checked)}
- />
-
-
- updateGatewayDispatchField('prefer_p2p', e.target.checked)}
- />
-
-
- updateGatewayDispatchField('allow_relay_fallback', e.target.checked)}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{t('configNodeArtifacts')}
-
{t('configNodeArtifactsHint')}
-
-
-
- updateGatewayArtifactsField('enabled', e.target.checked)}
- />
-
-
- updateGatewayArtifactsField('keep_latest', Math.max(1, Number.parseInt(e.target.value || '0', 10) || 1))}
- className="w-full px-2 py-1 rounded-lg bg-zinc-950/70 border border-zinc-800"
- />
-
-
- updateGatewayArtifactsField('prune_on_read', e.target.checked)}
- />
-
-
-
-
- updateGatewayArtifactsField('retain_days', Math.max(0, Number.parseInt(e.target.value || '0', 10) || 0))}
- className="w-full px-2 py-1 rounded-lg bg-zinc-950/70 border border-zinc-800"
- />
-
-
-
+
+
+
)}
- {activeTop && activeTop !== hotReloadTabKey ? (
+ {activeTop && activeTop !== hotReloadTabKey && activeTop !== 'providers' && activeTop !== 'gateway' ? (