Skip to content

Feat: Design rework: login, survey list, survey info, responses & logout#24

Merged
bepo00 merged 20 commits into
mainfrom
login-rework
Jun 18, 2026
Merged

Feat: Design rework: login, survey list, survey info, responses & logout#24
bepo00 merged 20 commits into
mainfrom
login-rework

Conversation

@bepo00

@bepo00 bepo00 commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Description

A broad design rework of the app's main user-facing flows, migrating remaining XML screens to Jetpack Compose and redesigning the login, survey list, survey info, responses, and logout experiences.

Highlights:

  • Login: Migrated from XML layout to Compose (LoginScreen, PrivateServerForm, SessionConflictDialog); removed activity_login.xml.
  • Survey list: Reworked list UI with image placeholders/padding, blur on cover image edges, and version chip repositioning.
  • Survey info: Redesigned screen with its own SurveyInfoViewModel, simplified quota bar, and sync issue fix.
  • Responses: Redesigned list and detail (ResponseDetailScreen, ResponseStatus), added drafts filter, value-saving on response pause, and user-visible error handling when a response file can't be opened.
  • Logout: Dialog now has synced/unsynced variants gated on a fresh DB unsynced-responses check; manual logout fully wipes local data while session-expired keeps re-login state.
  • Strings: Updated default strings and synced translations across all locales (ar, de, es, fr, nl, pt).

Type

  • Bug fix
  • New feature
  • Refactor
  • Documentation update

How to Test

  1. Build the APK:

    ./gradlew assembleDebug
  2. Install on emulator or device:

    ./gradlew installDebug
  3. Test your changes:

    • Log in via both default and private-server flows; verify the session conflict dialog
    • Browse the survey list and open a survey's info screen
    • Complete a survey, view it under Responses, open its detail, and tap a photo/video/map
    • Verify a friendly error appears when a response file can't be opened (no viewer app)
    • Log out with synced vs unsynced responses and confirm the correct dialog variant

Testing

  • Unit tests pass (./gradlew test)
  • Instrumentation tests pass (./gradlew connectedAndroidTest)
  • Tested on emulator
  • Tested on physical device (if hardware-specific)

Checklist

  • Follows Kotlin coding conventions
  • No new lint warnings
  • No regressions in existing functionality
  • Tested offline mode (if applicable)

Related Issue

Closes #

Additional Notes

🤖 Generated with Claude Code

@bepo00 bepo00 changed the title Design rework: login, survey list, survey info, responses & logout Feat: Design rework: login, survey list, survey info, responses & logout Jun 18, 2026
# Conflicts:
#	app/src/main/java/com/qlarr/app/ui/survey/QlarrWebView.kt
@bepo00 bepo00 merged commit 39a6512 into main Jun 18, 2026
1 of 2 checks passed
@bepo00 bepo00 deleted the login-rework branch June 18, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant