aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/app.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/app.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/app.js b/packages/meshbay-hub/src/meshbay_hub/static/app.js
index 41a608f..973729e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/app.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/app.js
@@ -463,6 +463,13 @@ function Sidebar({ groups, presence, indexProgressPct, route, menuOpen, role, sh
href="#/create-group"><${Icon} name="plus" /> ${t('sidebar.create_group')}</a>
</div>
`}
+ ${platform.photoSync.available && html`
+ <div class="sidebar-section">
+ <div class="sidebar-heading">${t('sidebar.phone')}</div>
+ <a class="sidebar-item ${route === '/android-sync' ? 'active' : ''}"
+ href="#/android-sync"><${Icon} name="phone" /> ${t('androidsync.title')}</a>
+ </div>
+ `}
<div class="sidebar-section">
<div class="sidebar-heading">${t('sidebar.my_groups')}</div>
${groups.length === 0
@@ -706,6 +713,13 @@ function SetupWelcome({ onDismiss }) {
const SearchPage = lazy(() => import('./search-page.js'), 'SearchPage',
html`<div class="page-content"><p class="page-message"><span class="spinner"></span></p></div>`);
+// ── Lazy-loaded Android Sync page ────────────────────────────────────────────
+//
+// The Android application's photo backup (docs/MESHBAY_DESIGN.md §9.12): no
+// browser or desktop ever fetches it.
+const AndroidSyncPage = lazy(() => import('./android-sync-page.js'), 'AndroidSyncPage',
+ html`<div class="page-content"><p class="page-message"><span class="spinner"></span></p></div>`);
+
// ── Lazy-loaded Create Group page ────────────────────────────────────────────
let _CreateGroupPage = null;
@@ -1427,6 +1441,8 @@ function App() {
allowPublicGroups=${allowPublicGroups}
token=${user.token} onGroupsChanged=${reloadGroups}
onMarkRead=${markRead} onPurge=${purgeNotifications} />`;
+ } else if (route === '/android-sync' && platform.photoSync.available) {
+ page = html`<${AndroidSyncPage} user=${user} groups=${groups} />`;
} else if (route === '/settings') {
page = html`<${SettingsPage} user=${user} theme=${theme}
onThemeChange=${setTheme} groups=${groups}