From ddc2138cb713c61d42b3b2b5322fd379612309c2 Mon Sep 17 00:00:00 2001 From: Dreamacro <305009791@qq.com> Date: Fri, 19 Jun 2020 21:04:06 +0800 Subject: [PATCH] Fix: display GLOBAL select --- src/containers/Proxies/index.tsx | 14 ++++++++++---- src/models/Config.ts | 2 +- src/stores/recoil.ts | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/containers/Proxies/index.tsx b/src/containers/Proxies/index.tsx index 5e592de..4af4f3c 100644 --- a/src/containers/Proxies/index.tsx +++ b/src/containers/Proxies/index.tsx @@ -3,7 +3,7 @@ import useSWR from 'swr' import EE from '@lib/event' import { useRound } from '@lib/hook' import { Card, Header, Icon, Checkbox } from '@components' -import { useI18n, useConfig, useProxy, useProxyProviders } from '@stores' +import { useI18n, useConfig, useProxy, useProxyProviders, useGeneral } from '@stores' import * as API from '@lib/request' import { Proxy, Group, Provider } from './components' @@ -28,14 +28,20 @@ export function compareDesc (a: API.Proxy, b: API.Proxy) { } function ProxyGroups () { - const { groups } = useProxy() + const { groups, global } = useProxy() const { data: config, set: setConfig } = useConfig() + const { general } = useGeneral() const { useTranslation } = useI18n() const { t } = useTranslation('Proxies') + const list = useMemo( + () => general.mode === 'global' ? [global] : groups, + [general, groups, global] + ) + return <> { - groups.length !== 0 && + list.length !== 0 &&
    { - groups.map(p => ( + list.map(p => (
  • diff --git a/src/models/Config.ts b/src/models/Config.ts index e7cd863..008b26d 100644 --- a/src/models/Config.ts +++ b/src/models/Config.ts @@ -92,7 +92,7 @@ export interface Data { /** * clash proxy mode */ - mode?: string + mode?: 'script' | 'rule' | 'direct' | 'global' /** * clash tty log level diff --git a/src/stores/recoil.ts b/src/stores/recoil.ts index ed4618e..8e7e6a8 100644 --- a/src/stores/recoil.ts +++ b/src/stores/recoil.ts @@ -163,7 +163,7 @@ export function useGeneral () { port: data.port, socksPort: data['socks-port'], redirPort: data['redir-port'], - mode: data.mode, + mode: data.mode.toLowerCase() as Models.Data['general']['mode'], logLevel: data['log-level'], allowLan: data['allow-lan'] })