diff --git a/apps/admin/app/dashboard/rules/import-yaml-rules.tsx b/apps/admin/app/dashboard/rules/import-yaml-rules.tsx
index 57d029d..429c72a 100644
--- a/apps/admin/app/dashboard/rules/import-yaml-rules.tsx
+++ b/apps/admin/app/dashboard/rules/import-yaml-rules.tsx
@@ -159,7 +159,7 @@ export default function ImportYamlRules({ onImportSuccess }: ImportYamlRulesProp
enable: false,
tags: [],
icon: '',
- type: 'auto',
+ type: 'default',
default: isDefault,
});
setImportProgress(i + 1);
diff --git a/apps/admin/app/dashboard/rules/page.tsx b/apps/admin/app/dashboard/rules/page.tsx
index b2f2458..0bc10d4 100644
--- a/apps/admin/app/dashboard/rules/page.tsx
+++ b/apps/admin/app/dashboard/rules/page.tsx
@@ -50,7 +50,7 @@ export default function Page() {
enable: false,
tags: values.tags || [],
icon: values.icon || '',
- type: values.type || 'auto',
+ type: values.type || 'default',
default: false,
});
toast.success(t('createSuccess'));
@@ -117,39 +117,41 @@ export default function Page() {
/>
),
},
- {
- accessorKey: 'icon',
- header: t('appIcon'),
- cell: ({ row }) =>
- row.getValue('icon') ? (
-
- ) : (
-
- {row.original.name?.slice(0, 2)}
-
- ),
- },
-
- {
- accessorKey: 'name',
- header: t('name'),
- },
{
accessorKey: 'type',
header: t('type'),
cell: ({ row }) => {
- const type = row.original.type;
- if (type === 'auto') return t('auto');
- if (type === 'ban') return t('ban');
- return type || '--';
+ const type = row.original.type || 'default';
+ if (type === 'default') {
+ return {t('default')};
+ }
+ if (type === 'reject') {
+ return {t('reject')};
+ }
+ if (type === 'direct') {
+ return {t('direct')};
+ }
+ return {t('default')};
},
},
+ {
+ accessorKey: 'name',
+ header: t('name'),
+ cell: ({ row }) => (
+
+ {row.original.icon && (
+
+ )}
+ {row.original.name}
+
+ ),
+ },
{
accessorKey: 'tags',
header: t('tags'),
diff --git a/apps/admin/app/dashboard/rules/rule-form.tsx b/apps/admin/app/dashboard/rules/rule-form.tsx
index 8796e04..130a2ea 100644
--- a/apps/admin/app/dashboard/rules/rule-form.tsx
+++ b/apps/admin/app/dashboard/rules/rule-form.tsx
@@ -43,7 +43,7 @@ const formSchema = z.object({
tags: z.array(z.string()).default([]),
rules: z.string().default(''),
icon: z.string().default(''),
- type: z.string().default('auto'),
+ type: z.string().default('default'),
});
interface RuleFormProps {
@@ -172,8 +172,9 @@ export default function RuleForm>({
- {t('auto')}
- {t('ban')}
+ {t('default')}
+ {t('reject')}
+ {t('direct')}
diff --git a/apps/admin/locales/en-US/rules.json b/apps/admin/locales/en-US/rules.json
index 2b3d18f..ae66b2e 100644
--- a/apps/admin/locales/en-US/rules.json
+++ b/apps/admin/locales/en-US/rules.json
@@ -1,8 +1,6 @@
{
"analyzing": "Analyzing...",
"appIcon": "Rule Icon",
- "auto": "Auto",
- "ban": "Ban",
"cancel": "Cancel",
"confirm": "Confirm",
"confirmDelete": "Confirm Deletion",
@@ -10,10 +8,12 @@
"createRule": "Add Rule",
"createSuccess": "Rule created successfully",
"createdAt": "Created At",
+ "default": "Default",
"defaultRule": "Default Rule",
"delete": "Delete",
"deleteSuccess": "Rule deleted successfully",
"deleteWarning": "Are you sure you want to delete this rule? This action cannot be undone.",
+ "direct": "Direct",
"downloadTemplate": "Download Template",
"edit": "Edit",
"editRule": "Edit Rule",
@@ -32,6 +32,7 @@
"noValidRules": "No valid rules found",
"pleaseUploadFile": "Please upload a YAML file",
"preview": "Preview",
+ "reject": "Reject",
"rulesFormat": "Rule format: rule type,match content,[policy], where policy is optional.\nIf policy is not specified, the current rule group name will be used automatically. Examples:",
"rulesLabel": "Rule Content",
"searchRule": "Search rule name",
diff --git a/apps/admin/locales/ja-JP/rules.json b/apps/admin/locales/ja-JP/rules.json
index 0b069b3..659b59a 100644
--- a/apps/admin/locales/ja-JP/rules.json
+++ b/apps/admin/locales/ja-JP/rules.json
@@ -1,8 +1,6 @@
{
"analyzing": "分析中...",
"appIcon": "ルールアイコン",
- "auto": "自動",
- "ban": "ブロック",
"cancel": "キャンセル",
"confirm": "確認",
"confirmDelete": "削除の確認",
diff --git a/apps/admin/locales/zh-CN/rules.json b/apps/admin/locales/zh-CN/rules.json
index 3ac4826..5272426 100644
--- a/apps/admin/locales/zh-CN/rules.json
+++ b/apps/admin/locales/zh-CN/rules.json
@@ -1,8 +1,6 @@
{
"analyzing": "分析中...",
"appIcon": "规则图标",
- "auto": "自动",
- "ban": "封禁",
"cancel": "取消",
"confirm": "确认",
"confirmDelete": "确认删除",
@@ -10,10 +8,12 @@
"createRule": "添加规则",
"createSuccess": "创建规则成功",
"createdAt": "创建时间",
+ "default": "默认",
"defaultRule": "默认规则",
"delete": "删除",
"deleteSuccess": "删除规则成功",
"deleteWarning": "确定要删除所选规则吗?此操作不可恢复。",
+ "direct": "直连",
"downloadTemplate": "下载模板",
"edit": "编辑",
"editRule": "编辑规则",
@@ -32,6 +32,7 @@
"noValidRules": "没有找到有效的规则",
"pleaseUploadFile": "请上传YAML文件",
"preview": "预览",
+ "reject": "拒绝",
"rulesFormat": "规则格式说明:规则类型,匹配内容,[策略], 其中策略为可选项。\n不指定策略时,将自动使用当前规则组名称, 示例:",
"rulesLabel": "规则内容",
"searchRule": "搜索规则名称",
diff --git a/apps/admin/locales/zh-HK/rules.json b/apps/admin/locales/zh-HK/rules.json
index 03103fd..6748cf7 100644
--- a/apps/admin/locales/zh-HK/rules.json
+++ b/apps/admin/locales/zh-HK/rules.json
@@ -1,8 +1,6 @@
{
"analyzing": "分析中...",
"appIcon": "規則圖標",
- "auto": "自動",
- "ban": "封禁",
"cancel": "取消",
"confirm": "確認",
"confirmDelete": "確認刪除",
diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts
index d872528..0c774da 100644
--- a/apps/admin/services/admin/typings.d.ts
+++ b/apps/admin/services/admin/typings.d.ts
@@ -1288,8 +1288,8 @@ declare namespace API {
type: string;
tags: string[];
rules: string;
- default: boolean;
enable: boolean;
+ default: boolean;
created_at: number;
updated_at: number;
};
diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts
index b03f085..afaa74d 100644
--- a/apps/admin/services/common/typings.d.ts
+++ b/apps/admin/services/common/typings.d.ts
@@ -696,9 +696,11 @@ declare namespace API {
id: number;
icon: string;
name: string;
+ type: string;
tags: string[];
rules: string;
enable: boolean;
+ default: boolean;
created_at: number;
updated_at: number;
};
diff --git a/apps/user/services/common/typings.d.ts b/apps/user/services/common/typings.d.ts
index b03f085..afaa74d 100644
--- a/apps/user/services/common/typings.d.ts
+++ b/apps/user/services/common/typings.d.ts
@@ -696,9 +696,11 @@ declare namespace API {
id: number;
icon: string;
name: string;
+ type: string;
tags: string[];
rules: string;
enable: boolean;
+ default: boolean;
created_at: number;
updated_at: number;
};
diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts
index e7b9b63..e5925ea 100644
--- a/apps/user/services/user/typings.d.ts
+++ b/apps/user/services/user/typings.d.ts
@@ -794,9 +794,11 @@ declare namespace API {
id: number;
icon: string;
name: string;
+ type: string;
tags: string[];
rules: string;
enable: boolean;
+ default: boolean;
created_at: number;
updated_at: number;
};