[ Feat] Customize usbInsertPrompt behaviour (#59)

This commit is contained in:
Minoricew
2025-11-29 15:59:09 +08:00
parent b27b1a6573
commit f7feca7ff2
4 changed files with 167 additions and 17 deletions

View File

@@ -57,6 +57,114 @@ const uxAndAppearanceSettings = [
},
],
},
{
id: 1,
categoryName: "U 盘提示",
child: [
{
index: 0,
id: "switchUsbInsertPromptButton",
type: "switch",
name: '隐藏 U 盘插入提示悬浮窗的 "开始查杀" 按钮',
description: '启用后, "打开 U 盘" 将成为悬浮窗中的 Primary 按钮',
restart: true,
reload: false,
associateVal: [
"networkRewrite.appearance/switchUsbInsertPromptBtn.enabled",
],
auraIf: () => true,
defaultValue: false,
auraDisable: () => {
if (
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode === "hide" &&
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled
) {
return { value: true, tooltip: '禁用 "隐藏 U 盘插入提示" 以继续' };
} else {
return { value: false };
}
},
valueGetter: () => {
return (
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode === "switch" &&
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled
);
},
callbackFn: (newVal) => {
if (typeof newVal !== "boolean") return;
if (newVal === true) {
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode = "switch";
}
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled = newVal;
},
},
{
index: 1,
id: "hideUsbInsertPrompt",
type: "switch",
name: "隐藏 U 盘插入提示",
description: "启用后, 插入 U 盘将不再显示悬浮窗",
restart: true,
reload: false,
associateVal: [
"networkRewrite.appearance/switchUsbInsertPromptBtn.enabled",
],
auraIf: () => true,
defaultValue: false,
auraDisable: () => {
if (
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode === "switch" &&
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled
) {
return {
value: true,
tooltip:
'禁用 "隐藏 U 盘插入提示悬浮窗的 "开始查杀" 按钮" 以继续',
};
} else {
return { value: false };
}
},
valueGetter: () => {
return (
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode === "hide" &&
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled
);
},
callbackFn: (newVal) => {
if (typeof newVal !== "boolean") return;
if (newVal === true) {
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].mode = "hide";
}
global.__HUGO_AURA_CONFIG__.networkRewrite[
"appearance/switchUsbInsertPromptBtn"
].enabled = newVal;
},
},
],
},
];
module.exports = { uxAndAppearanceSettings };