20ae1c70bd
feat(ui): add ConnectionsTab and InsertMethodSelector for direct DB enhancement
...
- ConnectionsTab.svelte: Settings tab for DB connection CRUD with
list, add/edit form, test button, delete with dependency check
- InsertMethodSelector.svelte: radio group for insert method choice
(SQL Lab / Direct DB) with filtered connection dropdown
- InsertMethodSelector.test.ts: component tests for all UX states
- settings/+page.svelte, settings-utils.ts: register Connections tab
2026-06-11 19:12:54 +03:00
fbb6a78d7d
refactor(frontend): add comprehensive TranslationJobModel for translate/[id] page
...
Model covers all 49 atoms: Config, Preview, Target, Run, Schedule tabs.
Environment switching, datasource loading, saveJob(), run lifecycle.
Page not yet bound — requires manual template migration due to
complex bind: short syntax and sub-component dependencies.
DictionaryDetail page: 822→166 (-80%) with DictionaryDetailModel.
3→2 oversized pages remaining (dashboards, migration).
2026-06-02 19:54:15 +03:00
ed4562d199
feat(ts-migration): Phase 3-4 — all components + tests JS→TS
...
Converted 11 remaining production files:
- services/*.ts (toolsService, taskService, git-utils, storageService,
adminService, gitService)
- lib/auth/permissions.ts
- lib/components/layout/sidebarNavigation.ts
- lib/components/reports/reportTypeProfiles.ts
- components/git/useGitManager.ts
- routes/datasets/review/useReviewSession.ts
- routes/datasets/review/review-workspace-helpers.ts
- routes/settings/settings-utils.ts
All production files have proper GRACE contracts:
- C2/C3 with @BRIEF, @PRE, @POST, @SIDE_EFFECT, @RELATION
- Generic <T = unknown> for API calls
- Typed interfaces for state/options
Phase 3: 126 .svelte components → <script lang="ts">
Phase 4: 53 test .js files → .ts
Final verification:
- npm run build ✅
- npm run test ✅ (66 passed, 6 pre-existing failures unchanged)
Total: 0 .js files remain in production code
2026-06-01 15:43:20 +03:00