Implement Event-Driven Model Management Logic for Models Page
Description
The current Models page requires a complete event-driven integration with the backend model management system using modelStore as the centralized state source.
This implementation should ensure that all model states, downloads, verification, extraction, selection, and UI updates are synchronized with Rust backend events in real time.
Requirements
-
Use
modelStoreas the single source of truth -
Initialize models and selected model during app startup
-
Listen to backend Tauri events for:
- download progress
- verification
- extraction
- completion
- model switching
-
Implement model status priority handling
-
Add language-based filtering using
supported_languages -
Split models into:
- Your Models
- Available Models
-
Add sorting logic:
- active models first
- custom models last
-
Implement translation-first description resolution with backend fallback
-
Ensure frontend stays fully synchronized with backend model lifecycle events
Expected Outcome
The Models page should provide a fully reactive and consistent experience with real-time model state updates driven by backend events and centralized store management.