From 0111cc12eaa5ac940805d453131b01c01985bf84 Mon Sep 17 00:00:00 2001 From: boomzero Date: Tue, 6 Oct 2026 08:34:51 +0800 Subject: [PATCH 1/4] Show script admins with violet names instead of a badge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 脚本管理员 badge plus a custom badge often wrapped onto a second line. Admins now get a reserved violet username color with a 脚本管理员 tooltip, whether or not ratings are shown, and the badge is removed. No rating tier uses violet, so it cannot be mistaken for a rating. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E5dr7XTsCeoamqLSiT9rLp --- XMOJ.user.js | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/XMOJ.user.js b/XMOJ.user.js index 997b2302..0a90099c 100644 --- a/XMOJ.user.js +++ b/XMOJ.user.js @@ -685,10 +685,11 @@ const ThemeCanvasCSS = ` html[data-bs-theme='light'] { background: var(--mono-white, var(--bs-body-bg, #fff)); color-scheme: light; } `; -// Username colors by rating tier. Each color keeps at least 3.3:1 contrast on both -// the light and the dark background, so one palette is used on every page and -// theme instead of Bootstrap's link-* colors, which change with theme. Like -// Bootstrap, hover darkens the color by 20% and makes the underline opaque. +// Username colors by rating tier, plus violet for script admins. Each color keeps +// at least 3.3:1 contrast on both the light and the dark background, so one +// palette is used on every page and theme instead of Bootstrap's link-* colors, +// which change with theme. Like Bootstrap, hover darkens the color by 20% and +// makes the underline opaque. const RatingColorCSS = ` a.xmoj-rating-red { color: #dc2f5a !important; text-decoration-color: rgba(220, 47, 90, 0.5) !important; } a.xmoj-rating-red:hover, a.xmoj-rating-red:focus { color: #b02648 !important; text-decoration-color: #b02648 !important; } @@ -702,6 +703,8 @@ const RatingColorCSS = ` a.xmoj-rating-cyan:hover, a.xmoj-rating-cyan:focus { color: #127a8d !important; text-decoration-color: #127a8d !important; } a.xmoj-rating-gray { color: #78828c !important; text-decoration-color: rgba(120, 130, 140, 0.5) !important; } a.xmoj-rating-gray:hover, a.xmoj-rating-gray:focus { color: #606870 !important; text-decoration-color: #606870 !important; } + a.xmoj-rating-admin { color: #a855f7 !important; text-decoration-color: rgba(168, 85, 247, 0.5) !important; } + a.xmoj-rating-admin:hover, a.xmoj-rating-admin:focus { color: #8644c6 !important; text-decoration-color: #8644c6 !important; } `; // Both UI initializers use this link; loading only in legacy main() leaves /web @@ -1640,13 +1643,14 @@ let GetUsernameHTML = async (Element, Username, Simple = false, Href = "https:// } HTMLData += `" class="rounded me-2" style="width: 20px; height: 20px; ">`; } - HTMLData += `= 2400) { HTMLData += "xmoj-rating-red"; } else if (Rating >= 2000) { @@ -1665,9 +1669,6 @@ let GetUsernameHTML = async (Element, Username, Simple = false, Href = "https:// } HTMLData += `\";">`; if (!Simple) { - if (AdminUserList.includes(Username)) { - HTMLData += `脚本管理员`; - } let BadgeInfo = await GetUserBadge(Username); if (BadgeInfo.Content != "") { HTMLData += `${BadgeInfo.Content}`; From c4cb3598c3013ecc7e18ceb664237ec115237dc9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 6 Oct 2026 00:35:46 +0000 Subject: [PATCH 2/4] 3.8.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1e542e44..77859efc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xmoj-script", - "version": "3.8.6", + "version": "3.8.7", "description": "an improvement script for xmoj.tech", "main": "AddonScript.js", "scripts": { From 91128f6e2ebd8dc111b0b36adb517a9ffb2d330d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 6 Oct 2026 00:35:52 +0000 Subject: [PATCH 3/4] Update version info to 3.8.7 --- Update.json | 11 +++++++++++ XMOJ.user.js | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Update.json b/Update.json index 61a3363d..edc31ae4 100644 --- a/Update.json +++ b/Update.json @@ -3883,6 +3883,17 @@ } ], "Notes": "用户评分重新设计:从「AC 率 × 1000」改为综合做题量、准确度和坚持度的 0–3000 分,更难刷分,用户名颜色改为六档。详见 https://docs.xmoj-script.uk/features/rating.html" + }, + "3.8.7": { + "UpdateDate": 1791246947028, + "Prerelease": true, + "UpdateContents": [ + { + "PR": 1049, + "Description": "Show script admins with violet names instead of a badge" + } + ], + "Notes": "脚本管理员的用户名改为紫色显示(悬停提示「脚本管理员」),不再单独显示「脚本管理员」徽章,为自定义徽章腾出空间。" } } } \ No newline at end of file diff --git a/XMOJ.user.js b/XMOJ.user.js index 0a90099c..ae9fc702 100644 --- a/XMOJ.user.js +++ b/XMOJ.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name XMOJ -// @version 3.8.6 +// @version 3.8.7 // @description XMOJ增强脚本 // @author @XMOJ-Script-dev, @langningchen and the community // @namespace https://github/langningchen From 98ac80c5dc3fba8d58854a757e24ba42e1ec6bbc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 6 Oct 2026 00:38:19 +0000 Subject: [PATCH 4/4] Update time and description of 3.8.7 --- Update.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Update.json b/Update.json index edc31ae4..0c032d65 100644 --- a/Update.json +++ b/Update.json @@ -3885,7 +3885,7 @@ "Notes": "用户评分重新设计:从「AC 率 × 1000」改为综合做题量、准确度和坚持度的 0–3000 分,更难刷分,用户名颜色改为六档。详见 https://docs.xmoj-script.uk/features/rating.html" }, "3.8.7": { - "UpdateDate": 1791246947028, + "UpdateDate": 1791247094090, "Prerelease": true, "UpdateContents": [ {