Shared topbar + sidebar for all ZeusXR apps. This domain serves the shell assets — it is not a user-facing page.
/shell.js — component loader/shell.css — styles
<div id="zeusxr-shell"></div>
<script>
window.ZeusShellConfig = {
currentApp: 'labs', // labs | portfolio | networking | marketplace | cinema | news
user: {
avatarUrl: '...', // profile picture URL
name: 'Daniel', // display name
handle: 'daniel', // @handle (used for profile link)
notificationCount: 3 // badge count (0 = no badge)
},
onBurgerClick: () => { ... }, // optional — host opens its own sidebar
onAiClick: () => { ... } // optional — defaults to labs.zeusxr.com/?ai=1
};
</script>
<script src="https://zeusxr-shell.pages.dev/shell.js" defer></script>
// Public API (call after init):
// ZeusShell.setUser({ avatarUrl, name, handle, notificationCount })
// ZeusShell.setNotificationCount(n)
// ZeusShell.setAvatar(url)
// ZeusShell.setTheme('dark' | 'light')