diff --git a/AGENTS.md b/AGENTS.md index 580aa90..95d9032 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -31,3 +31,7 @@ This application uses Cloudflare Developer Platform, including Workers and Durab - All non-admin API paths start with `/${usersPath}/api/` - All admin API paths start with `/${usersPath}/admin/api/` + +## Implementation + +- When coding new features, create tests that cover the new code diff --git a/public/users/accounts.html b/public/users/accounts.html index 75f076e..72a75a0 100644 --- a/public/users/accounts.html +++ b/public/users/accounts.html @@ -6,7 +6,12 @@ Account Settings - + Team Members async function loadAccountDetails(ssrData) { try { let data = ssrData; - if (!data) { + if (!data || !data.billing) { const res = await fetch(`${API_BASE}/me/accounts/${currentAccountId}`); if (res.ok) { data = await res.json(); @@ -329,14 +334,23 @@

Team Members

document.getElementById('display-account-name').textContent = data.name; initialAccountInfo.name = data.name; } - if (data.billing && data.billing.plan_details) { - document.getElementById('account-plan-display').value = data.billing.plan_details.name; - document.getElementById('display-account-plan').textContent = data.billing.plan_details.name; - } else if (data.billing && data.billing.state) { - document.getElementById('account-plan-display').value = data.billing.state.plan_slug; - document.getElementById('display-account-plan').textContent = data.billing.state.plan_slug; + + // Get plan name from available plans + let availablePlans = []; + const ssrPlans = document.body.getAttribute('data-ssr-plans'); + if (ssrPlans && !ssrPlans.startsWith('{{ssr:')) { + try { + availablePlans = JSON.parse(ssrPlans); + } catch (e) {} } + const planSlug = data.billing?.state?.plan_slug || data.plan; + const plan = availablePlans.find((p) => p.slug === planSlug); + const planName = plan ? plan.name : planSlug || 'Free'; + + document.getElementById('account-plan-display').value = planName; + document.getElementById('display-account-plan').textContent = planName; + // Load avatar const avatarRes = await fetch(`${API_BASE}/me/accounts/${currentAccountId}/avatar`); if (avatarRes.ok) { diff --git a/public/users/admin/index.html b/public/users/admin/index.html index 54c83d7..d6623e1 100644 --- a/public/users/admin/index.html +++ b/public/users/admin/index.html @@ -120,7 +120,7 @@ } - + Edit Account