feat(settings,reports): six ayanamsa options; report-scope solid button colours (T6/T7, BUG-1078)

T6: offer True Citra and Fagan-Bradley beside Raman/Lahiri/KP/True Pushya,
engine-supported values only; widen profiles_ayanamsa_check by an additive
migration; ephemeris note names; path tests so no new value falls back to
Raman.

T7: the unlayered `button { color: inherit; }` beats Tailwind's
text-primary-foreground, so solid report buttons showed page ink (light
(light 4.85:1, dark 5.77:1), grey disabled without fade, neutral selected
preset. button.tsx and theme tokens unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-28 15:54:53 +08:00
co-authored by Claude Opus 5.5
parent 856dab6c55
commit 873fac8a5b
15 changed files with 483 additions and 8 deletions
+19 -1
View File
@@ -1,4 +1,11 @@
export const AYANAMSA_VALUES = ["raman", "lahiri", "kp", "true_pushya"] as const;
export const AYANAMSA_VALUES = [
"raman",
"lahiri",
"kp",
"true_citra",
"true_pushya",
"fagan_bradley",
] as const;
export type AyanamsaName = (typeof AYANAMSA_VALUES)[number];
export const DEFAULT_AYANAMSA: AyanamsaName = "raman";
@@ -18,11 +25,21 @@ export const AYANAMSA_OPTIONS = [
label: "KP",
description: "克里希那穆提体系用的岁差。",
},
{
value: "true_citra",
label: "True Citra",
description: "以角宿一的实际位置定起点,和 Lahiri 只差约 1 角分。",
},
{
value: "true_pushya",
label: "True Pushya",
description: "True Pushya 岁差。",
},
{
value: "fagan_bradley",
label: "Fagan-Bradley",
description: "西方恒星占星常用,比 Lahiri 多约 0.9°。",
},
] as const satisfies ReadonlyArray<{
value: AyanamsaName;
label: string;
@@ -43,6 +60,7 @@ export function resolveAyanamsa(
if (typeof raw === "string") {
const key = raw.trim().toLowerCase().replace(/-/g, "_");
if (key === "krishnamurti" || key === "krishnamurti_paddhati") return "kp";
if (key === "true_chitra") return "true_citra";
if (isAyanamsaName(key)) return key;
}
return DEFAULT_AYANAMSA;
+2
View File
@@ -263,7 +263,9 @@ const AYANAMSA_SHORT_NAME: Readonly<Record<AyanamsaName, string>> = {
raman: "Raman",
lahiri: "Lahiri",
kp: "KP",
true_citra: "True Citra",
true_pushya: "True Pushya",
fagan_bradley: "Fagan-Bradley",
};
/**