Commit 67498bb4 authored by Mahmoud Aglan's avatar Mahmoud Aglan

feat: bottom tab bar icons now editable via admin branding

Tab bar icons (play, rank, social, shop, profile) now use assetImg()
which loads from platform_assets. Uploaded matching PNGs from app icons.
Falls back to original SVGs if no custom icons uploaded.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 6f4568f4
......@@ -61,13 +61,20 @@ function renderTabBar() {
tabBar = document.createElement('div');
tabBar.className = 'tab-bar';
const worlds = scene.getWorlds();
const icons = {
const svgFallback = {
rank: '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2l3 7h7l-5.5 4.5 2 7L12 16l-6.5 4.5 2-7L2 9h7z"/></svg>',
social: '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>',
play: '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>',
shop: '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 18c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/></svg>',
profile: '<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>'
};
const icons = {
rank: assetImg('tab_rank', svgFallback.rank, 22, 22),
social: assetImg('tab_social', svgFallback.social, 22, 22),
play: assetImg('tab_play', svgFallback.play, 22, 22),
shop: assetImg('tab_shop', svgFallback.shop, 22, 22),
profile: assetImg('tab_profile', svgFallback.profile, 22, 22),
};
const labels = { rank: 'nav.rank', social: 'nav.social', play: 'nav.play', shop: 'nav.shop', profile: 'nav.profile' };
const current = scene.getCurrentWorld();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment