peregrine/web/src
pyr0ball fa2569c7e4 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
..
assets refactor(apply): add score-badge--mid-high token for 4-tier scoring 2026-03-19 08:09:39 -07:00
components feat(survey): implement SurveyView with navigation wiring 2026-03-21 00:27:57 -07:00
composables refactor: use existing useApi composable in prep store, remove duplicate 2026-03-20 18:40:33 -07:00
router fix(settings): async guard awaits config load, reactive devTierOverride, validate APP_TIER 2026-03-21 02:23:10 -07:00
stores feat(settings): License, Data, Privacy, Developer tabs — stores, views, endpoints 2026-03-22 16:01:29 -07:00
views feat(settings): License, Data, Privacy, Developer tabs — stores, views, endpoints 2026-03-22 16:01:29 -07:00
App.vue fix: bootstrap digest store on app mount for correct badge count on load 2026-03-20 10:27:13 -07:00
main.ts feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00
test-setup.ts feat(web): Vue 3 SPA scaffold with avocet lessons applied 2026-03-17 21:24:00 -07:00