aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/settings-page.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/settings-page.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/settings-page.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/settings-page.js b/packages/meshbay-hub/src/meshbay_hub/static/settings-page.js
index 985b219..8826520 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/settings-page.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/settings-page.js
@@ -7,10 +7,15 @@ import * as platform from './platform.js';
import { hubFetch } from './hub-client.js';
import { syncPush, enablePush, disablePush } from './push.js';
import { APPS } from './apps.js';
+import { lazy } from './lazy.js';
import {
PAGE_SIZE_PREF, PAGE_SIZE_DEFAULT, PAGE_SIZE_STEP, PAGE_SIZE_MAX, pageSizeFrom,
} from './pager.js';
+// Photo backup exists on the Android application only, so its module is
+// fetched there and nowhere else (docs/MESHBAY_DESIGN.md §9.12).
+const PhotoSyncSection = lazy(() => import('./photo-sync-settings.js'), 'PhotoSyncSection', null);
+
const PAGE_SIZES = Array.from(
{ length: PAGE_SIZE_MAX / PAGE_SIZE_STEP }, (_, i) => (i + 1) * PAGE_SIZE_STEP);
@@ -296,6 +301,9 @@ export function SettingsPage({ user, theme, onThemeChange, groups, onPrefsChange
`}
</div>
+ ${platform.photoSync.available && html`
+ <${PhotoSyncSection} user=${user} groups=${groups || []} />`}
+
<div class="settings-section">
<h3 class="settings-heading">${t('settings.defaults')}</h3>
<div class="settings-row">