feat: complete heaven readings and screener publication

This commit is contained in:
leefer
2026-08-05 23:44:17 +08:00
parent 6a058c2929
commit b3a21d05b7
34 changed files with 3538 additions and 225 deletions
+4
View File
@@ -137,6 +137,7 @@ const state = window.XiaobaiState.create({
screenerResults: { smart: null, curated: null, quant: null },
screenerResultContexts: { smart: null, curated: null, quant: null },
screenerResultStore: {},
screenerArchiveView: "latest",
screenerTracking: null,
screenerMode: ["smart", "curated", "quant"].includes(localStorage.getItem("xiaobaiScreenerMode"))
? localStorage.getItem("xiaobaiScreenerMode")
@@ -181,6 +182,9 @@ const state = window.XiaobaiState.create({
heartLines: [],
heartThrows: [],
heartHexagram: null,
heartQuestion: "",
heartQuestionPreset: "custom",
heartCastAt: "",
heartCurtainTimer: null,
heartStageToken: 0,
heartRevealToken: 0,
+9 -1
View File
@@ -96,7 +96,15 @@ function applyMembershipAccess() {
if (gate) gate.hidden = unlocked;
view.querySelectorAll("button, input, textarea, select").forEach((control) => {
if (control.closest(".member-gate") || control.hasAttribute("data-member-navigation")) return;
control.disabled = !unlocked;
if (!unlocked) {
if (!("memberDisabled" in control.dataset)) {
control.dataset.memberDisabled = String(control.disabled);
}
control.disabled = true;
} else if ("memberDisabled" in control.dataset) {
control.disabled = control.dataset.memberDisabled === "true";
delete control.dataset.memberDisabled;
}
});
});
const assistantButton = document.querySelector("#assistantButton");