-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement landing page with logo and navigation #24
Conversation
- Add LandingScreen composable with a clickable background that navigates to the Map screen. - Add a Home button with an icon that navigates to the Menu screen. - Integrate a Box layout for background image and a Column for organizing UI elements. - Apply MaterialTheme and ButtonDefaults for button styling. - Include a Preview composable for easy visualization during development.
- Add test tags to key components in the LandingScreen for testability. - "Background" for the background image. - "Look Up Logo" for the logo image. - "Home Icon" for the home button with the icon. - This change helps with UI testing.
- Add NavHost to MainActivity for handling navigation between LandingScreen and MenuScreen. - Initialize NavController and set LandingScreen as the start destination. - Define composable routes for both LandingScreen and MenuScreen.
- Add the "Landing" route to the Route object. - Update the Screen object to include "Landing Screen".
- Update the version reference for uiTestJunit4Android to ensure compatibility with Compose testing. - Add junitKtx dependency for improved integration with JUnit. - Consolidate existing dependencies to maintain consistency across test implementations.
- Add junitKtx for improved integration with JUnit in testing. - Update the uiTestJunit4Android dependency to align with Compose testing. - Add Espresso Intents testing dependency to support intent validation in UI tests.
- Add landing_screen_bckgrnd.jpg to the drawable resources for use in LandingScreen. - This image will serve as the background for the app's landing page.
- Implement a basic MenuScreen composable that displays a simple text message. - Currently shows "This is the Menu screen" as a placeholder.
-Remove test tags for background image and logo image as they are not used in the tests.
-Add test to verify that the the background image navigates to the map screen. -Add test to verify that the home button navigates to the menu screen.
- Add composable for MapScreen in the navigation graph - Link Route.MAP to MapScreen for proper navigation flow
- Refactor MapScreen and MenuScreen from class-based components to composable functions - Improved alignment with Jetpack Compose architecture and best practices
- Center the logo in the middle of the screen - Make the home button round, change its color and increase its size - Reposition the home button at the bottom of the screen
- Disable XML and HTML reports in testOptions to fix unresolved reference issues. - Adjust test report configuration to prevent coverage errors in CI.
…gradle.skipCompile=true - Prevent Sonar from implicitly triggering project compilation during analysis - Ensure the project is fully compiled before Sonar analysis starts
- Adjust emulator options to disable GPU and improve stability - Ensure emulator cache setup with snapshot generation for faster runs - Include KTFmt check, assemble, lint, and test steps - Add proper handling for AVD creation and caching - Adjust sonar.gradle.skipCompile for efficient Sonar analysis efore Sonar analysis starts
- Re-enabled HTML and JUnit XML test reports for better tracking of test results.
- Re-enable the jacocoTestReport step to generate coverage reports during the CI pipeline execution. - This will allow the CI to generate test coverage reports, which can be uploaded to SonarCloud for analysis.
- Re-enable a previously commented out test for the greeting screen. - Mark the test with @ignore to skip its execution since the test is not necessary for our project.
- Move the LandingScreen tests from unit test directory to androidTest to allow testing in an Android environment.
- Delete multiple versions of the logo image to reduce redundancy and optimize the app's resources. - Kept a single version of the logo.
Add the correct package declaration to Landing.kt to ensure proper organization and avoid potential compilation issues.
… in LandingScreen Replaced the hardcoded "Map" string with the TopLevelDestinations.MAP.route constant to improve maintainability and ensure consistent navigation throughout the app.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some unresolved merge conflicts with the main branch in the dependency files. Please resolve these conflicts, ensuring all necessary dependencies and versions are preserved (e.g., testing, navigation, and calendar libraries). The rest of the implementation looks solid. Once those are addressed, this PR should be good to merge.
Add foundationAndroid version 1.6.8 and configured androidx-foundation-android dependency in libs.versions for managing the Android foundation library consistently across the project
Replace navController.navigate("") with navigateTo from NavigationActions for consistent navigation. Added a prompt "Click for a full map view" to improve user clarity when accessing the full map.
-Include a test for the clickable prompt to ensure proper display and functionality.
Add implementation(libs.androidx.foundation.android) to the Gradle build file for integrating the androidx-foundation-android library.
-Replace older logos with updated versions as part of the design refresh. -Remove deprecated images per review feedback to reduce unused assets.
…onfiguration - Resolve merge conflicts in build.gradle and libs during merge with main - Enable cache configuration to improve build performance - Ensure dependencies and project settings are correctly aligned after the merge
…Screen.MAP as startDestination in MainActivity
Quality Gate failedFailed conditions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code is clean, and all tests pass. Approved for merge.
This pull request implements the initial version of the landing page for the project. Key features include: