feat(hotkey): add global reactivate_profiles shortcut (#5527)

* feat(hotkey): add global reactivate_profiles shortcut

* feat(profile): expose validation state for reactivation shortcuts
This commit is contained in:
Sline
2025-11-19 17:06:23 +08:00
committed by GitHub
parent 94b07b51d6
commit f439e93a2b
34 changed files with 134 additions and 22 deletions
@@ -24,6 +24,7 @@ const HOTKEY_FUNC = [
"toggle_system_proxy",
"toggle_tun_mode",
"entry_lightweight_mode",
"reactivate_profiles",
] as const;
const HOTKEY_FUNC_LABELS: Record<(typeof HOTKEY_FUNC)[number], string> = {
@@ -36,6 +37,7 @@ const HOTKEY_FUNC_LABELS: Record<(typeof HOTKEY_FUNC)[number], string> = {
toggle_tun_mode: "settings.modals.hotkey.functions.toggleTunMode",
entry_lightweight_mode:
"settings.modals.hotkey.functions.entryLightweightMode",
reactivate_profiles: "settings.modals.hotkey.functions.reactivateProfiles",
};
export const HotkeyViewer = forwardRef<DialogRef>((props, ref) => {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "تفعيل/تعطيل وكيل النظام",
"toggleTunMode": "تفعيل/تعطيل وضع TUN",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "الوضع المباشر"
"direct": "الوضع المباشر",
"reactivateProfiles": "إعادة تنشيط الملفات الشخصية"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Systemproxy ein/ausschalten",
"toggleTunMode": "TUN-Modus ein/ausschalten",
"entryLightweightMode": "Leichtgewichtigen Modus betreten",
"direct": "Direktverbindungs-Modus"
"direct": "Direktverbindungs-Modus",
"reactivateProfiles": "Abonnement erneut aktivieren"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Enable/Disable System Proxy",
"toggleTunMode": "Enable/Disable Tun Mode",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "Direct Mode"
"direct": "Direct Mode",
"reactivateProfiles": "Reactivate Profiles"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Activar/desactivar el proxy del sistema",
"toggleTunMode": "Activar/desactivar el modo TUN",
"entryLightweightMode": "Entrar en modo ligero",
"direct": "Modo de conexión directa"
"direct": "Modo de conexión directa",
"reactivateProfiles": "Reactivar suscripciones"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "فعال/غیرفعال کردن پراکسی سیستم",
"toggleTunMode": "فعال/غیرفعال کردن حالت Tun",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "حالت مستقیم"
"direct": "حالت مستقیم",
"reactivateProfiles": "فعال‌سازی مجدد پروفایل‌ها"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Aktifkan/Nonaktifkan Proksi Sistem",
"toggleTunMode": "Aktifkan/Nonaktifkan Mode Tun",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "Mode Langsung"
"direct": "Mode Langsung",
"reactivateProfiles": "Reaktivasi Profil"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "システムプロキシを開く/閉じる",
"toggleTunMode": "TUNモードを開く/閉じる",
"entryLightweightMode": "軽量モードに入る",
"direct": "直接接続モード"
"direct": "直接接続モード",
"reactivateProfiles": "プロファイルを再アクティブ化"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "시스템 프록시 켜기/끄기",
"toggleTunMode": "TUN 모드 켜기/끄기",
"entryLightweightMode": "경량 모드 진입",
"direct": "직접 모드"
"direct": "직접 모드",
"reactivateProfiles": "프로필 재활성화"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Включить/Отключить системный прокси",
"toggleTunMode": "Включить/Отключить режим TUN",
"entryLightweightMode": "Вход в LightWeight Mode",
"direct": "Прямой режим"
"direct": "Прямой режим",
"reactivateProfiles": "Перезапустить профиль"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Sistem Vekil'ini Etkinleştir/Devre Dışı Bırak",
"toggleTunMode": "Tun Modunu Etkinleştir/Devre Dışı Bırak",
"entryLightweightMode": "Hafif Moda Gir",
"direct": "Doğrudan Mod"
"direct": "Doğrudan Mod",
"reactivateProfiles": "Profilleri Yeniden Etkinleştir"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "Системалы проксины кабызу/сүндерү",
"toggleTunMode": "Tun режимын кабызу/сүндерү",
"entryLightweightMode": "Entry Lightweight Mode",
"direct": "Туры режим"
"direct": "Туры режим",
"reactivateProfiles": "Профильләрне янәдән активлаштыру"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "打开/关闭系统代理",
"toggleTunMode": "打开/关闭 TUN 模式",
"entryLightweightMode": "进入轻量模式",
"direct": "直连模式"
"direct": "直连模式",
"reactivateProfiles": "重新激活订阅"
}
},
"password": {
+2 -1
View File
@@ -553,7 +553,8 @@
"toggleSystemProxy": "開啟/關閉系統代理",
"toggleTunMode": "開啟/關閉 虛擬網路介面卡模式",
"entryLightweightMode": "進入輕量模式",
"direct": "直連模式"
"direct": "直連模式",
"reactivateProfiles": "重新啟用訂閱"
}
},
"password": {
@@ -34,6 +34,7 @@ export const handleNoticeMessage = (
"settings.feedback.notifications.updater.withClashProxyFailed",
msg,
),
"reactivate_profiles::error": () => showNotice.error(msg),
update_failed: () => showNotice.error(msg),
"config_validate::boot_error": () =>
showNotice.error("shared.feedback.validation.config.bootFailed", msg),
+1
View File
@@ -622,6 +622,7 @@ export const translationKeys = [
"settings.modals.hotkey.functions.toggleTunMode",
"settings.modals.hotkey.functions.entryLightweightMode",
"settings.modals.hotkey.functions.direct",
"settings.modals.hotkey.functions.reactivateProfiles",
"settings.modals.password.prompts.enterRoot",
"settings.modals.networkInterface.title",
"settings.modals.networkInterface.fields.ipAddress",
+1
View File
@@ -885,6 +885,7 @@ export interface TranslationResources {
entryLightweightMode: string;
global: string;
openOrCloseDashboard: string;
reactivateProfiles: string;
rule: string;
toggleSystemProxy: string;
toggleTunMode: string;