Member dashboard: drill-down tree, list view, legend, and strategy-aware referral tool
- "Your team" now covers the member's FULL leg with click-to-drill pyramid, breadcrumb, and a list-view toggle (mirrors the admin matrix). - Legend under both the member tree and admin matrix explaining the qualified checkmark, tier badges, and downline rollup. - "Share this position" card: while under 2/2 it's a personal recruiting tool — per-member QR (vendored qrcode-generator, CSP-safe), copy link, and a join CTA carrying the member's ID as sponsor. At 2/2 the page automatically retires the link and redirects sharing to the team rotator, so personal referrals can't undermine the moving-link strategy. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -437,7 +437,7 @@ async function memberPublic(id) {
|
||||
const inc = await fetchIncome(id);
|
||||
out.income = inc.map(p => ({ fromId: p.fromId, pol: p.pol, ts: p.ts, desc: describeIncome(p.fromTier, p.level, p.pol) })).reverse().slice(0, 50);
|
||||
} catch (e) { out.income = []; }
|
||||
out.subtree = getSubtree(id, 3);
|
||||
out.subtree = getSubtree(id, 99); // full leg — the dashboard drills down client-side
|
||||
const chain = [];
|
||||
const seen = new Set([id]);
|
||||
let cur = m.uplineId;
|
||||
|
||||
Reference in New Issue
Block a user