Skip to content

Conversation

@norhanadel367
Copy link
Collaborator

No description provided.

Ahmedsayed0895
Ahmedsayed0895 previously approved these changes Oct 19, 2025
import org.example.project.domain.entity.District
import org.example.project.domain.entity.Governorates
import org.example.project.domain.repository.LocationRepository
import org.koin.core.annotation.Provided
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove redundant imports

@norhanadel367 norhanadel367 marked this pull request as draft October 19, 2025 15:38
@norhanadel367 norhanadel367 marked this pull request as ready for review October 19, 2025 15:59
@EmanAbobakr
Copy link
Collaborator

can you attach a screenshot of the created screen?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the file name is Location, but it has GovernorateSelector and DetailLocationInput, I don't get the idea of the file, if you use them as reusable components for the location screen, you can have them in 2 different files, of have a meaningful file name

BackButton()
ProgressIndicator(
currentPage = currentPage,
totalPage = 4,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the page count should not be hard coded, pass it plz

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it will delete it when integration using scaffold

{
Icon(
painter = painterResource(Res.drawable.arrow_left),
contentDescription = "back button",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plz avoid hard coded contentDescription

val displayText by remember(state.selectedGovernorate, state.selectedDistrict) {
derivedStateOf {
val parts = listOf(state.selectedGovernorate, state.selectedDistrict).filter { it.isNotBlank() }
if (parts.isEmpty()) "Governorate, District" else parts.joinToString(", ")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't you believe it's logic can be moved to the viewmodel? also avoid hard coded strings plz

}
}

Column(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why don't we have the content itself in a separated content function? follow state hoisting plz

) {
AccountSetupTopBar(
modifier = Modifier.fillMaxWidth(),
currentPage = 2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to handle the logic of the topbar in a better way, to avoid the magical numbers

@Crafto-Android Crafto-Android deleted a comment from EmanAbobakr Oct 24, 2025
@sonarqubecloud
Copy link

@Ahmedsayed0895 Ahmedsayed0895 merged commit 4e248e7 into development Nov 10, 2025
3 checks passed
@Ahmedsayed0895 Ahmedsayed0895 deleted the feature/location-screen branch November 10, 2025 12:47
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.

6 participants