From 26accfd8f761a68b636403d01bf6d226d6fa66a1 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Thu, 14 May 2026 01:45:00 +0200 Subject: [PATCH] fix(qr): lock QR code modules to black-on-white across all themes AntD's defaults the module color to the active theme's text token. Under the dark and ultra-dark themes that text is a light gray, so the QR rendered low-contrast on the white canvas background and phones could not lock onto it. Pinned color="#000000" and bg-color="#ffffff" on every usage (share links in QrPanel, 2FA enrollment in TwoFactorModal, sub/json/clash codes on SubPage) so the contrast stays high regardless of panel theme. --- frontend/src/pages/inbounds/QrPanel.vue | 2 +- frontend/src/pages/settings/TwoFactorModal.vue | 2 +- frontend/src/pages/sub/SubPage.vue | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/inbounds/QrPanel.vue b/frontend/src/pages/inbounds/QrPanel.vue index c357d5c1..fc5cbb61 100644 --- a/frontend/src/pages/inbounds/QrPanel.vue +++ b/frontend/src/pages/inbounds/QrPanel.vue @@ -47,7 +47,7 @@ function download() {
+ color="#000000" bg-color="#ffffff" :title="t('copy')" @click="copy" />
diff --git a/frontend/src/pages/settings/TwoFactorModal.vue b/frontend/src/pages/settings/TwoFactorModal.vue index d0b5819a..944259ea 100644 --- a/frontend/src/pages/settings/TwoFactorModal.vue +++ b/frontend/src/pages/settings/TwoFactorModal.vue @@ -82,7 +82,7 @@ async function copyToken() {

{{ t('pages.settings.security.twoFactorModalFirstStep') }}

+ color="#000000" bg-color="#ffffff" error-level="L" :title="t('copy')" @click="copyToken" /> {{ token }}
diff --git a/frontend/src/pages/sub/SubPage.vue b/frontend/src/pages/sub/SubPage.vue index 33df819a..01c765ad 100644 --- a/frontend/src/pages/sub/SubPage.vue +++ b/frontend/src/pages/sub/SubPage.vue @@ -204,7 +204,7 @@ const themeClass = computed(() => ({
{{ t('pages.settings.subSettings') }} + color="#000000" bg-color="#ffffff" :title="t('copy')" @click="copy(subUrl)" />
@@ -213,14 +213,14 @@ const themeClass = computed(() => ({ {{ t('pages.settings.subSettings') }} JSON + color="#000000" bg-color="#ffffff" :title="t('copy')" @click="copy(subJsonUrl)" />
Clash / Mihomo + color="#000000" bg-color="#ffffff" :title="t('copy')" @click="copy(subClashUrl)" />