WIP: feat(ui): Migrate to new UI implementation
This commit is contained in:
@@ -23,15 +23,14 @@ The launcher is responsible for:
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Use the latest stable Flutter SDK available from the official Flutter release
|
||||
channel. This project does not support FVM-pinned SDK workflows.
|
||||
Install FVM. The repository `.fvmrc` tracks the latest stable Flutter channel,
|
||||
and all Dart and Flutter commands are run through FVM.
|
||||
|
||||
```powershell
|
||||
flutter pub get
|
||||
fvm flutter pub get
|
||||
```
|
||||
|
||||
If `flutter` is unavailable, restart the shell after installing Flutter or
|
||||
fix PATH so `flutter --version` works.
|
||||
Verify the configured SDK with `fvm flutter --version`.
|
||||
|
||||
## Configuration
|
||||
|
||||
@@ -53,21 +52,32 @@ feeds must use HTTPS.
|
||||
Example run command:
|
||||
|
||||
```powershell
|
||||
flutter run -d windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
fvm flutter run -d windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Run the component catalog from its standalone workspace:
|
||||
|
||||
```powershell
|
||||
cd widgetbook
|
||||
fvm dart run build_runner build
|
||||
fvm flutter run -d windows
|
||||
```
|
||||
|
||||
See `docs/widgetbook.md` for the required use-case naming, knobs, callback,
|
||||
asset, and coverage conventions.
|
||||
|
||||
Regenerate dependency injection after changing injectable services:
|
||||
|
||||
```powershell
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
fvm dart run build_runner build --delete-conflicting-outputs
|
||||
```
|
||||
|
||||
Run static analysis:
|
||||
|
||||
```powershell
|
||||
flutter analyze
|
||||
fvm flutter analyze
|
||||
```
|
||||
|
||||
See `docs/linting.md` for the full format, analyze, test, and Lefthook
|
||||
@@ -76,7 +86,7 @@ pre-commit workflow.
|
||||
Build the Windows launcher:
|
||||
|
||||
```powershell
|
||||
flutter build windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
fvm flutter build windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
```
|
||||
|
||||
The Inno Setup installer script lives at `installer/moonwell_launcher.iss`.
|
||||
@@ -85,7 +95,9 @@ manual release procedure.
|
||||
|
||||
## Architecture
|
||||
|
||||
The UI lives in `lib/app`, with shared UI widgets under `lib/app/widgets`.
|
||||
The UI lives in `lib/app`. Presentation-only design-system components live in
|
||||
`lib/app/design_system` and are catalogued by the standalone `widgetbook/`
|
||||
workspace before they are integrated into production screens.
|
||||
Launcher domain models, sync use cases, API clients, installation services, and
|
||||
preferences live under `lib/features`.
|
||||
|
||||
@@ -111,3 +123,4 @@ See `docs/launcher_web_api_spec.md` for the API and sync contract.
|
||||
upgrade feasibility notes
|
||||
- `docs/launcher_web_api_spec.md`: current launcher Web API and sync behavior
|
||||
- `docs/launcher_self_update.md`: Windows self-update and release operations
|
||||
- `docs/widgetbook.md`: Widgetbook use-case generation and catalog conventions
|
||||
|
||||
Reference in New Issue
Block a user