Skip to content

Commit 61ef454

Browse files
committed
feat: Add pull-to-refresh and improve navigation in settings
- **Settings Categories**: - Added `Refresh` and `NavBackDetail` actions to `SettingsCategoriesViewModel`. - Implemented `navBackDetail` to clear the selected category and navigate back via the router. - Updated `SettingsCategoriesResult` to include a `loading` state. - Wrapped `SettingsMasterScreenBody` content in a `PullToRefreshBox`. - **Settings Detail**: - Added a `Refresh` action to `SettingsViewModel` to trigger switch updates. - Integrated `PullToRefreshBox` into `SettingsDetailScreen` for manual updates. - Optimized state collection using `derivedStateOf` for refresh and loading indicators. - **Adaptive UI & Navigation**: - Updated `AdaptiveSettingsScreen` to use the view model's `NavBackDetail` action for back navigation, ensuring state synchronization. - Replaced local coroutine-based navigation in the UI with view model actions. - **Testing**: - Enabled the navigation back test case in `AdaptiveInteractorTest`.
1 parent db0c639 commit 61ef454

File tree

5 files changed

+9
-2
lines changed

5 files changed

+9
-2
lines changed

app/iosApp/Pods/Pods.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.

docs/TESTING_GUIDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,7 @@ node.assertTextContains("partial")
713713
./gradlew :ui:test:connectedAndroidTest # Multiplatform UI test framework (Android)
714714
./gradlew :ui:test:wasmJsTest # Multiplatform UI test framework (Web)
715715
```
716+
Note: the `ui:test` CocoaPods **release** framework for the iOS simulator is disabled; tests only build debug binaries.
716717

717718
### IDE
718719
Right-click test class → Run, or click green arrow next to test method.

ui/test/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ The `ui/test` module provides the base test framework. Platform-specific test im
2222
# Run test framework tests
2323
./gradlew :ui:test:iosSimulatorArm64Test
2424
```
25+
Note: the `ui:test` CocoaPods **release** framework for the iOS simulator is disabled because tests only need debug binaries.
2526

2627
### Android (Requires emulator/device)
2728
```bash

ui/test/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,8 @@ kotlin {
9090
}
9191
compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes")
9292
}
93+
94+
// Release framework for iOS simulator isn't needed for tests; disable to avoid unnecessary linking.
95+
tasks.matching { it.name == "linkPodReleaseFrameworkIosSimulatorArm64" }.configureEach {
96+
enabled = false
97+
}

0 commit comments

Comments
 (0)