Recolor achievement badges: Surge purple, Circuit red starburst, Nexus navy
New kie.ai art per Marty's palette — Surge dark neon purple, Circuit bright red starburst, Nexus navy-blue gradient (Spark stays mint). Full-bleed dark, ornate, blank ribbon; ribbonY re-tuned per badge; ?v=2 cache-bust on the badge images. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+3
-3
@@ -71,9 +71,9 @@
|
|||||||
// achievement badges: the milestone ladder as unlockable medals + share-to-image
|
// achievement badges: the milestone ladder as unlockable medals + share-to-image
|
||||||
const BADGES = [ // ribbonY = vertical center of each badge's name ribbon (art differs per tier)
|
const BADGES = [ // ribbonY = vertical center of each badge's name ribbon (art differs per tier)
|
||||||
{ key: 'payouts', label: 'Spark', sub: 'payouts on', img: '/badges/badge-spark.jpg', ribbonY: 0.728 },
|
{ key: 'payouts', label: 'Spark', sub: 'payouts on', img: '/badges/badge-spark.jpg', ribbonY: 0.728 },
|
||||||
{ key: 'firstBuyer', label: 'Surge', sub: 'first qualifying buyer', img: '/badges/badge-surge.jpg', ribbonY: 0.805 },
|
{ key: 'firstBuyer', label: 'Surge', sub: 'first qualifying buyer', img: '/badges/badge-surge.jpg?v=2', ribbonY: 0.79 },
|
||||||
{ key: 'level2', label: 'Circuit', sub: '2 qualifying buyers', img: '/badges/badge-circuit.jpg', ribbonY: 0.713 },
|
{ key: 'level2', label: 'Circuit', sub: '2 qualifying buyers', img: '/badges/badge-circuit.jpg?v=2', ribbonY: 0.72 },
|
||||||
{ key: 'level3', label: 'Nexus', sub: 'fully qualified', img: '/badges/badge-nexus.jpg', ribbonY: 0.709 }
|
{ key: 'level3', label: 'Nexus', sub: 'fully qualified', img: '/badges/badge-nexus.jpg?v=2', ribbonY: 0.73 }
|
||||||
];
|
];
|
||||||
let lastMilestones = [];
|
let lastMilestones = [];
|
||||||
function renderBadges(d) {
|
function renderBadges(d) {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 320 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 306 KiB After Width: | Height: | Size: 275 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 321 KiB |
+1
-1
@@ -680,7 +680,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<script src="/assets/common.js?v=20260907v"></script>
|
<script src="/assets/common.js?v=20260907v"></script>
|
||||||
<script src="/assets/wallet.js?v=20260907q"></script>
|
<script src="/assets/wallet.js?v=20260907q"></script>
|
||||||
<script src="/assets/my.js?v=20260907v"></script>
|
<script src="/assets/my.js?v=20260907w"></script>
|
||||||
<script src="/assets/chat.js?v=20260907l"></script>
|
<script src="/assets/chat.js?v=20260907l"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -978,7 +978,7 @@ const server = http.createServer(async (req, res) => {
|
|||||||
try {
|
try {
|
||||||
const bc = (await chain.member(a.memberId)).buyerCount || 0;
|
const bc = (await chain.member(a.memberId)).buyerCount || 0;
|
||||||
const t = bc >= 5 ? ['nexus', 'Nexus'] : bc >= 2 ? ['circuit', 'Circuit'] : bc >= 1 ? ['surge', 'Surge'] : ['spark', 'Spark'];
|
const t = bc >= 5 ? ['nexus', 'Nexus'] : bc >= 2 ? ['circuit', 'Circuit'] : bc >= 1 ? ['surge', 'Surge'] : ['spark', 'Spark'];
|
||||||
badge = { img: '/badges/badge-' + t[0] + '.jpg', label: t[1] };
|
badge = { img: '/badges/badge-' + t[0] + '.jpg?v=2', label: t[1] };
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
const joinPath = '/join/' + (a.username || a.code);
|
const joinPath = '/join/' + (a.username || a.code);
|
||||||
|
|||||||
Reference in New Issue
Block a user