diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-10 15:50:39 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-10 15:50:39 +0200 |
| commit | 1c97ffb91bb4928022e995709d7e55b19cfd18eb (patch) | |
| tree | aaa05d17adcd6db4256c01ba79b27dfc7ec96d70 /packages/meshbay-hub/src/meshbay_hub/static/android-sync-page.js | |
| parent | 1521cc1ac0cca7ee8786056f84fa399d5cc268f9 (diff) | |
| download | meshbay-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.js | 6 |
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> `; } |