a95f070441
feat(frontend): add DashboardHub components, EmptyState, and validation scaffold
...
- DashboardHubModel.svelte.ts: Screen Model for dashboard listing hub
with filters, pagination, and selection state.
- DashboardRow.svelte: Individual dashboard card with Git/health badges.
- ColumnFilterPopover.svelte: Column-based filter dropdown for dashboards.
- dashboard-helpers.ts: Shared dashboard utility functions.
- EmptyState.svelte: Reusable empty state component with icon and CTA.
- validation route scaffold for per-dashboard validation views.
2026-06-02 09:56:25 +03:00
4fc3356312
refactor(frontend): migrate Svelte stores from .ts to .svelte.ts runes
...
- Delete legacy .ts stores (auth, activity, assistantChat, datasetReview, environmentContext, health, sidebar, taskDrawer, translationRun)
- Create new .svelte.ts runes-based stores using reactive primitives
- Migrate i18n: /i18n → /i18n/index.svelte.js
- Migrate toasts: /toasts → /toasts.svelte.js
- Update all component imports across 180+ files: components, pages, routes, lib
- Remove fromStore() wrappers — use store.value directly with Svelte 5 runes
- Update test mocks for new import paths
- Add @DEPRECATED annotation to legacy alias
2026-06-02 09:54:18 +03:00
50f5c4ce4d
feat(ts-migration): Phase 1 — core API layer JS→TS with full GRACE contracts
...
Converted:
- toasts.js → toasts.ts (typed Writable<Toast[]>, typed addToast/removeToast)
- api.js → api.ts (C5 module with 12 nested C2/C4 function contracts)
- utils.js → utils.ts, utils/debounce.js → debounce.ts
- Updated 67 import references across src/ (.js extension stripped)
- Added types/api.ts, types/models.ts, types/validation.ts (foundation DTOs)
api.ts contracts:
- Top-level: [C:5] with @INVARIANT, @DATA_CONTRACT, @RATIONALE, @REJECTED
- C4 functions: buildApiError, notifyApiError, shouldSuppressApiErrorToast
- C2 helpers: getWsUrl, getTaskEventsWsUrl, getMaintenanceEventsWsUrl,
getTranslateRunWsUrl, getAuthHeaders
- C4 fetch/request wrappers: fetchApi, fetchApiBlob, postApi, deleteApi, requestApi
- C3 endpoint registry: api.* methods with @RELATION DEPENDS_ON chains
- All C4 functions have @PRE/@POST/@SIDE_EFFECT
- all generic <T = unknown> for type-safe API responses
Build: npm run build passes cleanly
2026-06-01 15:11:35 +03:00
15b466a918
feat(translate): move write settings to Target Config tab + fix datasource name lookup
...
Fixes:
- Move batch size, upsert strategy, include source reference
from Config tab to Target Config tab (Write Settings section)
- Fix 'Dataset #26 ' fallback — look up real datasource name
via API when source_table is not saved in job data
- Persist include_source_reference in save payload and
restore from job data on load (was a pre-existing gap)
QA review fixes:
- Update @BRIEF contracts for both tabs
- Fix import indentation in +page.svelte
Other: help tooltips on translate pages, flow hint on list page,
git migration manager components, dashboard hub pages,
migration settings pages
2026-05-31 09:59:09 +03:00