feat: show node count in proxy groups

This commit is contained in:
wonfen 2025-03-31 04:35:27 +08:00
parent 5b9b5cb6a8
commit 8e99672265
4 changed files with 21 additions and 1 deletions

View File

@ -19,6 +19,7 @@
- 支持根据用户偏好选择Sidecar(用户空间)模式或安装服务 - 支持根据用户偏好选择Sidecar(用户空间)模式或安装服务
- 增加载入初始配置文件的错误提示,防止切换到错误的订阅配置 - 增加载入初始配置文件的错误提示,防止切换到错误的订阅配置
- 检测是否以管理员模式运行软件,如果是提示无法使用开机自启 - 检测是否以管理员模式运行软件,如果是提示无法使用开机自启
- 代理组显示节点数量
#### 优化了: #### 优化了:
- 重构了后端内核管理逻辑,更轻量化和有效的管理内核,提高了性能和稳定性 - 重构了后端内核管理逻辑,更轻量化和有效的管理内核,提高了性能和稳定性

View File

@ -5,6 +5,8 @@ import {
ListItemButton, ListItemButton,
Typography, Typography,
styled, styled,
Chip,
Tooltip,
} from "@mui/material"; } from "@mui/material";
import { import {
ExpandLessRounded, ExpandLessRounded,
@ -21,6 +23,7 @@ import { useThemeMode } from "@/services/states";
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react";
import { convertFileSrc } from "@tauri-apps/api/core"; import { convertFileSrc } from "@tauri-apps/api/core";
import { downloadIconCache } from "@/services/cmds"; import { downloadIconCache } from "@/services/cmds";
import { useTranslation } from "react-i18next";
interface RenderProps { interface RenderProps {
item: IRenderItem; item: IRenderItem;
@ -32,6 +35,7 @@ interface RenderProps {
} }
export const ProxyRender = (props: RenderProps) => { export const ProxyRender = (props: RenderProps) => {
const { t } = useTranslation();
const { indent, item, onLocation, onCheckAll, onHeadState, onChangeProxy } = const { indent, item, onLocation, onCheckAll, onHeadState, onChangeProxy } =
props; props;
const { type, group, headState, proxy, proxyCol } = item; const { type, group, headState, proxy, proxyCol } = item;
@ -123,7 +127,20 @@ export const ProxyRender = (props: RenderProps) => {
}, },
}} }}
/> />
<Box sx={{ display: "flex", alignItems: "center" }}>
<Tooltip title={t("Proxy Count")} arrow>
<Chip
size="small"
label={`${group.all.length}`}
sx={{
mr: 1,
backgroundColor: (theme) => alpha(theme.palette.primary.main, 0.1),
color: (theme) => theme.palette.primary.main,
}}
/>
</Tooltip>
{headState?.open ? <ExpandLessRounded /> : <ExpandMoreRounded />} {headState?.open ? <ExpandLessRounded /> : <ExpandMoreRounded />}
</Box>
</ListItemButton> </ListItemButton>
); );
} }

View File

@ -27,6 +27,7 @@
"Proxies": "Proxies", "Proxies": "Proxies",
"Proxy Groups": "Proxy Groups", "Proxy Groups": "Proxy Groups",
"Proxy Provider": "Proxy Provider", "Proxy Provider": "Proxy Provider",
"Proxy Count": "Proxy Count",
"Update All": "Update All", "Update All": "Update All",
"Update At": "Update At", "Update At": "Update At",
"rule": "rule", "rule": "rule",

View File

@ -27,6 +27,7 @@
"Proxies": "代理", "Proxies": "代理",
"Proxy Groups": "代理组", "Proxy Groups": "代理组",
"Proxy Provider": "代理集合", "Proxy Provider": "代理集合",
"Proxy Count": "节点数量",
"Update All": "更新全部", "Update All": "更新全部",
"Update At": "更新于", "Update At": "更新于",
"rule": "规则", "rule": "规则",