Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables. (details)
refactor: Integrate FeedbackDataSource into SchoolDataSource (details)
Handle feedback submission errors and hide navigation (details)
Refactor: Append "UseCase" to launcher class names (details)
Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`. (details)
feat: Refactored feedback property names for clarity and consistency. (details)
Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables.
refactor: Integrate FeedbackDataSource into SchoolDataSource
Extracted the `FeedBackDataSource` into the `SchoolDataSource` interface and its various implementations (`Http`, `Db`, `Repository`). This refactoring centralizes data source access.
Key changes include: - Passing Zammad URL and token configurations from the `AppKoinModule` to `SchoolDataSourceHttp`. - Updating `ShareFeedbackViewModel` to obtain the `feedBackDataSource` via the main `SchoolDataSource`. - Removing the hardcoded Zammad URL from `FeedbackDataSourceHttp` and using the configured one instead. - Hiding the bottom navigation on the "Share Feedback" screen.
Handle feedback submission errors and hide navigation
- Checks the HTTP response status after attempting to create a feedback ticket. - Displays a generic error message to the user if the ticket submission fails. - On the feedback submission confirmation screen, the bottom navigation is now hidden. - The `createTicket` function in the data source and view model now returns an `HttpResponse` to enable status checking.
Refactor: Append "UseCase" to launcher class names
Renamed the `EmailLauncher`, `WebLauncher`, and `WhatsAppLauncher` classes and their corresponding Android implementations to `EmailLauncherUseCase`, `WebLauncherUseCase`, and `WhatsAppLauncherUseCase` respectively. This change makes their purpose as use cases clearer and aligns them with the project's naming conventions.
The `ShareFeedbackViewModel` and the Koin dependency injection module have been updated to reflect these new class names.
Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`.
Additionally, Zammad API credentials (URL and token) are now configured through `buildConfigField` in the `respect-lib-shared` module, removing the previous hardcoded values and `respect-app-compose` build configurations.
feat: Refactored feedback property names for clarity and consistency.
Renamed Zammad and Respect contact properties to use a `FEEDBACK_` prefix, improving clarity about their purpose. This change affects build configuration files (`build.gradle.kts`) by renaming build config fields and the property files from which they are loaded (e.g., `zammad.properties` to `feedback.properties`).
Specifically, the following properties were renamed: - `ZAMMAD_URL` to `FEEDBACK_ZAMMADURL` - `ZAMMAD_TOKEN` to `FEEDBACK_ZAMMADTOKEN`
Additionally, new properties for Respect's contact details were introduced with the same naming convention: - `FEEDBACK_RESPECTPHONENUMBER` - `FEEDBACK_RESPECTEMAILID`
feat: Integrate Zammad for feedback submission and refactor configuration
Integrated the feedback submission feature with the Zammad ticketing system. When a user submits feedback, a ticket is now created in Zammad, and the resulting ticket ID is passed to the confirmation screen.
Key changes include: - A new `CreateTicketUseCase` is introduced to handle the API call to Zammad. - The `ShareFeedbackViewModel` now uses this use case to create a ticket and navigates to a success screen with the new ticket ID. - Configuration properties for Zammad (URL, token) and contact details (phone, email) have been moved from the `respect-app-compose` module to the `respect-lib-shared` module. This centralizes feedback-related settings. - The `EmailLauncherUseCase` and `WhatsAppLauncherUseCase` were updated to use the newly centralized contact information.
feat: Display Zammad ticket ID on feedback submission screen
Adds the Zammad ticket ID to the "Feedback Submitted" screen, making it visible to the user for reference. This ID is displayed in a new `Text` element and tagged for testing purposes.