@@ -67,14 +67,14 @@ export function MistakeHeatmap() {
+
{row.attempts.map((errRate, i) => (
- {errRate}%
+ {errRate}%
))}
diff --git a/src/hooks/useActiveUser.ts b/src/hooks/useActiveUser.ts
index 39fdc48..6e22962 100644
--- a/src/hooks/useActiveUser.ts
+++ b/src/hooks/useActiveUser.ts
@@ -303,7 +303,11 @@ export function useActiveUser() {
// Compute effective tier via trial logic
const { effectiveTier } = computeTrialInfo(user, globalSettings);
- const tier = effectiveTier || "Free";
+ // Normalize tier string to handle both DB format (AI_COACH, PRO, FREE) and UI format
+ let tier = effectiveTier || "Free";
+ if (tier === "AI_COACH" as any) tier = "AI Coach";
+ if (tier === "PRO" as any) tier = "Pro";
+ if (tier === "FREE" as any) tier = "Free";
// Core restrictions mapping based on PRD feature matrix
switch (feature) {