-
Notifications
You must be signed in to change notification settings - Fork 0
모임 만남 제안 화면을 수정합니다. #35
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
Conversation
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.
Pull Request Overview
This PR modifies the gathering proposal creation screen UI to support a two-step flow. The key changes include adding state management for gathering information passed via navigation and introducing a preview mode after form completion.
- Added navigation parameter handling to receive gathering name and ID
- Implemented a two-step UI flow with a preview state after clicking "Next"
- Modified the post card component to support both editable and read-only modes
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| CreateGatheringProposalViewModel.kt | Added SavedStateHandle to receive navigation parameters and implement next action handling |
| CreateGatheringProposalScreen.kt | Updated UI to show different content based on ready state and handle next button click |
| CreateGatheringProposalContract.kt | Added new state properties for gathering info and ready state, plus next action |
| CreateProposalPostCard.kt | Enhanced component to support read-only mode when editing is disabled |
| val whatTags : List<String> = emptyList() | ||
| val whatTags : List<String> = emptyList(), | ||
| val gatheringName: String, | ||
| val gatheringId: Long, |
Copilot
AI
Aug 9, 2025
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 gatheringName and gatheringId properties are not provided with default values, which will break existing code that creates CreateGatheringProposalState instances without these parameters. Consider adding default values or making these properties nullable with defaults.
| val gatheringId: Long, | |
| val gatheringName: String = "", | |
| val gatheringId: Long = 0L, |
| onWhereRefreshClick = onWhereRefreshClick, | ||
| onWhatRefreshClick = onWhatRefreshClick | ||
| ) | ||
| if(isReady) { |
Copilot
AI
Aug 9, 2025
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.
Missing space after 'if' keyword. Should be 'if (isReady)' following Kotlin coding conventions.
| if(isReady) { | |
| if (isReady) { |
| .fillMaxWidth() | ||
| .padding(horizontal = 20.dp, vertical = 16.dp), | ||
| text = stringResource(R.string.common_next), | ||
| text = if(isReady) "제안하기" else stringResource(R.string.common_next), |
Copilot
AI
Aug 9, 2025
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.
Missing space after 'if' keyword and hardcoded Korean text should be moved to string resources for proper internationalization. Consider using stringResource(R.string.proposal_submit) instead of "제안하기".
| text = if(isReady) "제안하기" else stringResource(R.string.common_next), | |
| text = if (isReady) stringResource(R.string.proposal_submit) else stringResource(R.string.common_next), |
| shape = RoundedCornerShape(10.dp), | ||
| strokeWidth = 1.dp | ||
| .then( | ||
| if(isEnabledEditGatheringName) Modifier.dashedBorder( |
Copilot
AI
Aug 9, 2025
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.
Missing space after 'if' keyword. Should be 'if (isEnabledEditGatheringName)' following Kotlin coding conventions.
| if(isEnabledEditGatheringName) Modifier.dashedBorder( | |
| if (isEnabledEditGatheringName) Modifier.dashedBorder( |
| modifier = Modifier.weight(1f), | ||
| text = stringResource(R.string.create_proposal_selected_gathering_name, gatheringName), | ||
| style = TukSerifTypography.body14R, | ||
| textAlign = if(isEnabledEditGatheringName) TextAlign.Start else TextAlign.End, |
Copilot
AI
Aug 9, 2025
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.
Missing space after 'if' keyword. Should be 'if (isEnabledEditGatheringName)' following Kotlin coding conventions.
| textAlign = if(isEnabledEditGatheringName) TextAlign.Start else TextAlign.End, | |
| textAlign = if (isEnabledEditGatheringName) TextAlign.Start else TextAlign.End, |
| contentDescription = "close", | ||
| tint = Color(0xFF888888) | ||
| ) | ||
| if(isEnabledEditGatheringName){ |
Copilot
AI
Aug 9, 2025
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.
Missing spaces around 'if' keyword and before opening brace. Should be 'if (isEnabledEditGatheringName) {' following Kotlin coding conventions.
| if(isEnabledEditGatheringName){ | |
| if (isEnabledEditGatheringName) { |
작업