aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-10 15:50:39 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-10 15:50:39 +0200
commit1c97ffb91bb4928022e995709d7e55b19cfd18eb (patch)
treeaaa05d17adcd6db4256c01ba79b27dfc7ec96d70 /packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js
parent1521cc1ac0cca7ee8786056f84fa399d5cc268f9 (diff)
downloadmeshbay-1c97ffb91bb4928022e995709d7e55b19cfd18eb.tar.gz
feat(android): back up the files of folders the person chooses
A Files section takes folders through the system picker (no storage permission), refuses DCIM, Pictures and Movies, skips what the photo backup sends, and runs on the photo backup's own runner into <folder>/<account>-drive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js b/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js
index b4d85d0..af59605 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js
@@ -11,6 +11,8 @@ import { ask } from './ask.js';
import * as platform from './platform.js';
import { PhotoSyncSection } from './photo-sync-settings.js';
import { DocSyncSection } from './phone-sync-settings.js';
+import { DriveSyncSection } from './drive-sync-settings.js';
+import { runDriveSync } from './drive-sync.js';
import { runPhotoSync } from './photo-sync.js';
import { runDocSync, KINDS } from './phone-sync.js';
import {
@@ -22,6 +24,7 @@ function kindDirs(folder, account) {
const suffixes = [
...(platform.photoSync.available ? ['photos'] : []),
...Object.values(KINDS).filter((k) => k.sync.available).map((k) => k.suffix),
+ ...(platform.driveSync.available ? ['drive'] : []),
];
return suffixes.map((s) => `${folder}/${account}-${s}`);
}
@@ -42,6 +45,7 @@ export function AndroidSyncPage({ user, groups }) {
// Each kind that is on starts again in the new place, now.
if (platform.photoSync.available) runPhotoSync();
for (const kind of Object.keys(KINDS)) if (KINDS[kind].sync.available) runDocSync(kind);
+ if (platform.driveSync.available) runDriveSync();
};
return html`
@@ -52,6 +56,8 @@ export function AndroidSyncPage({ user, groups }) {
<${PhotoSyncSection} key=${'photos' + place} destination=${mine} />`}
${Object.keys(KINDS).filter((k) => KINDS[k].sync.available).map((kind) => html`
<${DocSyncSection} key=${kind + place} kind=${kind} destination=${mine} />`)}
+ ${platform.driveSync.available && html`
+ <${DriveSyncSection} key=${'drive' + place} destination=${mine} />`}
</div>
`;
}