Skip to content
Success

Changes

Summary

  1. Refactor: Add consent checkbox to onboarding screen (commit: f0f67ce) (details)
  2. Refactor: Improve onboarding consent flow and UI (commit: ef1bfd3) (details)
  3. Refactor: Introduce CheckBoxConsent composable (commit: 4e40203) (details)
  4. Refactor: Update OnboardingScreen UI with MaterialTheme (commit: e0d178a) (details)
  5. Refactor: UI adjustments and code cleanup (commit: 24999ab) (details)
  6. Refactor: Simplify onboarding consent logic (commit: 8d95904) (details)
  7. Process create passkey requests using Activity context to resolve issue #61 (commit: b7bbabc) (details)
  8. Update GetCredential and CreatePasskey use cases to only receive processing requests when resumed and avoid cancellation issues. (commit: 9680c8d) (details)
  9. Add CheckPasskeySupportUseCase to check API level support as required. (commit: b730693) (details)
  10. Fix issue #63 (commit: f9d7079) (details)
  11. Bump version (commit: cad979c) (details)
  12. Minor style fix. (commit: 1ef7119) (details)
Commit f0f67ce7cfdf81c893a791283492a16546f907ea by mandvi.verma
Refactor: Add consent checkbox to onboarding screen

This commit introduces a consent checkbox to the onboarding flow. Users must now agree to anonymous usage reporting and crash reports before proceeding.

Key changes:
- Added `consentGiven` and `showConsentError` to `OnboardingUiState`.
- Updated `OnboardingViewModel` to handle consent changes and prevent navigation if consent is not given.
- Added new string resources for consent text.
- Implemented a `ConsentCheckbox` composable in `OnboardingScreen.kt`.
- Updated the Android Gradle Plugin version to `8.12.3`.
(commit: f0f67ce)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt (diff)
The file was modifiedgradle/libs.versions.toml (diff)
The file was modifiedrespect-lib-shared/src/commonMain/composeResources/values/strings.xml (diff)
Commit ef1bfd3099c3c1f2f3dd36acf1a21d1ede4049e2 by mandvi.verma
Refactor: Improve onboarding consent flow and UI

This commit enhances the onboarding experience by introducing a snackbar for consent errors and refining the UI.

Key changes:
- Added `snackBarMessage` to `OnboardingUiState` to display error messages.
- Implemented `clearSnackBar` function in `OnboardingViewModel` to dismiss the snackbar.
- `OnboardingViewModel` now fetches the "agree_terms_and_conditions" string resource to display in the snackbar when consent is not given.
- Added a new string resource `agree_terms_and_conditions`.
- Integrated `SnackbarHost` into `OnboardingScreen` to display messages from `OnboardingUiState`.
- Adjusted `OnboardingScreen` layout:
    - Wrapped the main content in a `Scaffold` to accommodate the `SnackbarHost`.
    - Reduced image size from `300.dp` to `280.dp`.
    - Removed `showError` parameter from `ConsentCheckbox` as error handling is now managed by the snackbar.
    - Adjusted padding for the "Get Started" button and the `ConsentCheckbox`.
    - Changed the background color of the `ConsentCheckbox`'s `ListItem` to a light gray with alpha.
    - Vertically aligned the `Checkbox` within `ConsentCheckbox` to the top.
(commit: ef1bfd3)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/composeResources/values/strings.xml (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt (diff)
Commit 4e4020374bd588a00bfc573a6f0ecd1170bebe5f by mandvi.verma
Refactor: Introduce CheckBoxConsent composable

This commit introduces a new composable function `CheckBoxConsent` in `OnboardingScreen.kt`.

Key changes:
- Added a new `@Composable` function `CheckBoxConsent` which takes `checked` and `onCheckedChange` as parameters.
- This new composable creates a `Column` with a `Checkbox` inside.
- The `Column` has a `fillMaxWidth` modifier, a `RoundedCornerShape(8.dp)` clip, and a light gray background with alpha.
(commit: 4e40203)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)
Commit e0d178a90b07b57a34c189da8e374f0f7121c887 by mandvi.verma
Refactor: Update OnboardingScreen UI with MaterialTheme

This commit updates the `OnboardingScreen` to use `MaterialTheme` colors for background and text elements, ensuring a consistent look and feel with the rest of the application.

Key changes:
- Changed the main `Column` background from `Color.White` to `MaterialTheme.colorScheme.background`.
- Updated `Text` composables for onboarding title and description to use `MaterialTheme.colorScheme.onBackground` for their text color.
(commit: e0d178a)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)
Commit 24999ab2145d6a0515c53942cc80478e7b8c2cc5 by mandvi.verma
Refactor: UI adjustments and code cleanup

This commit introduces minor UI adjustments to the onboarding screen and navigation rail, and removes an unused modifier extension.

Key changes:
- Removed the unused `editScreenPadding()` Modifier extension from `ModifierExt.kt`.
- In `App.kt`, the `Text` label in the navigation rail now has `maxLines = 1` to prevent text wrapping.
- In `OnboardingScreen.kt`:
    - Adjusted padding for `onboardingTitle` to `bottom = 0.dp`.
    - Adjusted padding for `onboardingDescription` to `top = 0.dp`.
(commit: 24999ab)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt (diff)
Commit 8d9590401780fe17663c9dafcdeb9fb6974cc82c by mandvi.verma
Refactor: Simplify onboarding consent logic

This commit simplifies the onboarding consent flow by removing redundant string resources and related logic from `OnboardingViewModel`.

Key changes:
- Removed unused string resources: `agree_terms_and_conditions`, `headline_consent_content`, and `supporting_consent_content` from `strings.xml`.
- Simplified `OnboardingViewModel`:
    - The `init` block now only updates `usageStatsOptInChecked` based on `getUsageReportingEnabledUseCase()`.
    - Removed logic related to displaying a snackbar for terms and conditions agreement.
(commit: 8d95904)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/composeResources/values/strings.xml (diff)
Commit b7bbabc13a97b6ce23e092ba9c8fdbf20d86fee6 by Mike Dawson
Process create passkey requests using Activity context to resolve issue #61
(commit: b7bbabc)
The file was removedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kt
The file was addedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt (diff)
The file was addedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
Commit 9680c8d47b8042dbfdca1a1ad129eb44865ed5a8 by Mike Dawson
Update GetCredential and CreatePasskey use cases to only receive processing requests when resumed and avoid cancellation issues.
(commit: 9680c8d)
The file was addedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt (diff)
The file was addedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt
The file was removedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseImpl.kt
Commit b7306930098547121575ab70097402b29cb9a61b by Mike Dawson
Add CheckPasskeySupportUseCase to check API level support as required.

Update GetStartedScreen to focus textfield automatically.

Update JoinClazzWithCodeScreen to use numerical input and go to next when user clicks done on input.
(commit: b730693)
The file was addedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt (diff)
The file was modifiedrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt (diff)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt (diff)
The file was addedrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kt (diff)
Commit f9d707986ad315c3b2713ed068924cf0b0691d35 by Mike Dawson
Fix issue #63

Typo made save button invisible.
(commit: f9d7079)
The file was modifiedrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt (diff)
The file was modifiedrespect-app-compose/build.gradle.kts (diff)
The file was modifiedrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt (diff)