Email notifications (welcome + payout + passed-up) and net->network label

- Welcome email on new account: onboarding steps + who their sponsor is.
- On-chain event emails: a payout received (TierPaid/AwardPaid) and a payout
  that passed you by unqualified (PassedUp), wired into the chain event stream.
- Campaign stats: "+N net" relabeled to "+N network" (clearer than "net").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-07 08:15:28 -05:00
parent 19b7770a4d
commit a8968041dc
3 changed files with 33 additions and 4 deletions
+1 -1
View File
@@ -504,7 +504,7 @@
+ r.campaigns.map(c => '<tr><td><b>' + c.name + '</b></td>'
+ '<td>' + c.type + (c.type === 'banner' && c.width ? ' <span class="muted small">' + c.width + '×' + c.height + '</span>' : '') + '</td>'
+ '<td class="num">' + c.imps.toLocaleString()
+ (c.impsNas ? ' <span class="muted small" title="views across the network">+' + c.impsNas.toLocaleString() + ' net</span>' : '')
+ (c.impsNas ? ' <span class="muted small" title="views across the network">+' + c.impsNas.toLocaleString() + ' network</span>' : '')
+ '</td><td class="num">' + c.clicks + '</td>'
+ '<td class="num">' + c.spent + '</td><td class="num">' + c.budget + '</td>'
+ '<td>' + (c.status === 'out' ? '<span class="badge amber">budget spent</span>' : c.status) + '</td>'
+1 -1
View File
@@ -644,7 +644,7 @@
</div>
<script src="/assets/common.js?v=20260907n"></script>
<script src="/assets/wallet.js?v=20260907f"></script>
<script src="/assets/my.js?v=20260907n"></script>
<script src="/assets/my.js?v=20260907o"></script>
<script src="/assets/chat.js?v=20260907l"></script>
</body>
</html>