peregrine/web
pyr0ball a14eefd3e0 feat(settings): License, Data, Privacy, Developer tabs — stores, views, endpoints
- useLicenseStore: load/activate/deactivate with tier badge and key input
- useDataStore: createBackup with file count and size display
- usePrivacyStore: BYOK panel logic (dismissal snapshot tracks new backends),
  telemetry toggle (self-hosted) and master-off/usage/content controls (cloud)
- Views: LicenseView (cloud/self-hosted split), LicenseSelfHosted,
  LicenseCloud, DataView, PrivacyView, DeveloperView
- dev-api.py: /api/settings/license, /activate, /deactivate;
  /api/settings/data/backup/create; /api/settings/privacy GET+PUT;
  /api/settings/developer GET, /tier PUT, /hf-token PUT+test, /wizard-reset,
  /export-classifier; _load_user_config/_save_user_config helpers; CONFIG_DIR
- TDD: 10/10 store tests passing (license×3, data×2, privacy×5)
2026-03-22 16:01:29 -07:00
..
src feat(settings): License, Data, Privacy, Developer tabs — stores, views, endpoints 2026-03-22 16:01:29 -07:00
.gitignore feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
index.html feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
package-lock.json feat(vue-spa): JobReviewView card stack with swipe gestures 2026-03-17 22:30:33 -07:00
package.json feat(vue-spa): JobReviewView card stack with swipe gestures 2026-03-17 22:30:33 -07:00
tsconfig.app.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
tsconfig.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
tsconfig.node.json feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
uno.config.ts feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
vite.config.ts chore(vue-spa): dev API + Vite proxy for live data during development 2026-03-17 22:36:45 -07:00