🐛 fix(rules): Change rule type from 'auto' to 'default' and update
This commit is contained in:
parent
3304a55fd4
commit
3e290d7cb5
@ -159,7 +159,7 @@ export default function ImportYamlRules({ onImportSuccess }: ImportYamlRulesProp
|
||||
enable: false,
|
||||
tags: [],
|
||||
icon: '',
|
||||
type: 'auto',
|
||||
type: 'default',
|
||||
default: isDefault,
|
||||
});
|
||||
setImportProgress(i + 1);
|
||||
|
||||
@ -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') ? (
|
||||
<Image
|
||||
src={row.getValue('icon')}
|
||||
alt={row.getValue('name')}
|
||||
className='h-8 w-8 rounded-md'
|
||||
width={32}
|
||||
height={32}
|
||||
/>
|
||||
) : (
|
||||
<div className='bg-muted flex h-8 w-8 items-center justify-center rounded-md'>
|
||||
{row.original.name?.slice(0, 2)}
|
||||
</div>
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
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 <Badge variant='default'>{t('default')}</Badge>;
|
||||
}
|
||||
if (type === 'reject') {
|
||||
return <Badge variant='destructive'>{t('reject')}</Badge>;
|
||||
}
|
||||
if (type === 'direct') {
|
||||
return <Badge variant='secondary'>{t('direct')}</Badge>;
|
||||
}
|
||||
return <Badge variant='default'>{t('default')}</Badge>;
|
||||
},
|
||||
},
|
||||
{
|
||||
accessorKey: 'name',
|
||||
header: t('name'),
|
||||
cell: ({ row }) => (
|
||||
<div className='flex items-center gap-2'>
|
||||
{row.original.icon && (
|
||||
<Image
|
||||
src={row.original.icon}
|
||||
alt={row.original.name}
|
||||
className='h-6 w-6 rounded-md'
|
||||
width={24}
|
||||
height={24}
|
||||
/>
|
||||
)}
|
||||
<span>{row.original.name}</span>
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
accessorKey: 'tags',
|
||||
header: t('tags'),
|
||||
|
||||
@ -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<T> {
|
||||
@ -172,8 +172,9 @@ export default function RuleForm<T extends Record<string, any>>({
|
||||
<SelectValue placeholder={t('selectType')} />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value='auto'>{t('auto')}</SelectItem>
|
||||
<SelectItem value='ban'>{t('ban')}</SelectItem>
|
||||
<SelectItem value='default'>{t('default')}</SelectItem>
|
||||
<SelectItem value='reject'>{t('reject')}</SelectItem>
|
||||
<SelectItem value='direct'>{t('direct')}</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</FormControl>
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
{
|
||||
"analyzing": "分析中...",
|
||||
"appIcon": "ルールアイコン",
|
||||
"auto": "自動",
|
||||
"ban": "ブロック",
|
||||
"cancel": "キャンセル",
|
||||
"confirm": "確認",
|
||||
"confirmDelete": "削除の確認",
|
||||
|
||||
@ -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": "搜索规则名称",
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
{
|
||||
"analyzing": "分析中...",
|
||||
"appIcon": "規則圖標",
|
||||
"auto": "自動",
|
||||
"ban": "封禁",
|
||||
"cancel": "取消",
|
||||
"confirm": "確認",
|
||||
"confirmDelete": "確認刪除",
|
||||
|
||||
2
apps/admin/services/admin/typings.d.ts
vendored
2
apps/admin/services/admin/typings.d.ts
vendored
@ -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;
|
||||
};
|
||||
|
||||
2
apps/admin/services/common/typings.d.ts
vendored
2
apps/admin/services/common/typings.d.ts
vendored
@ -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;
|
||||
};
|
||||
|
||||
2
apps/user/services/common/typings.d.ts
vendored
2
apps/user/services/common/typings.d.ts
vendored
@ -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;
|
||||
};
|
||||
|
||||
2
apps/user/services/user/typings.d.ts
vendored
2
apps/user/services/user/typings.d.ts
vendored
@ -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;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user