Skip to content

Create and Edit Screen Implementation - #44

Open
samarthverma0407 wants to merge 1 commit into
bsoc-bitbyte:mainfrom
samarthverma0407:feature/edit-create-new-event-ui
Open

Create and Edit Screen Implementation#44
samarthverma0407 wants to merge 1 commit into
bsoc-bitbyte:mainfrom
samarthverma0407:feature/edit-create-new-event-ui

Conversation

@samarthverma0407

Copy link
Copy Markdown
Contributor

Pull Request – Nudj Contribution

Thank you for contributing to Nudj! Please fill out this PR template completely so we can review your work effectively.


🔧 What does this PR do?

Briefly summarize your changes. Focus on what you did, not how.

  • Created reusable layouts for club and general event forms.
  • Implemented Create and Edit screens using the shared layouts.
  • Added a reusable image picker component.
  • Added a reusable dynamic text field list component.
  • Implemented form state management using the MVVM architecture with ViewModels and StateFlow.
  • Integrated date and time pickers for event forms.
  • Added Coil Compose dependency for image loading.

🧩 Related Issue

Mention the issue this PR resolves. If not assigned officially, your PR may not be merged.

Closes: #40


📸 Screenshots / UI Demo (If applicable)

Add screenshots or screen recordings to showcase any visual/UI changes.


EditScreen.mp4
CreateEvent.mp4
CreateClub.mp4

✅ Checklist

  • My code follows the project's style and structure
  • I’ve tested my changes locally
  • I’ve not committed any files directly to main
  • I’ve commented my approach in the linked issue
  • My commit messages are clean and meaningful
  • This PR focuses on one clear task/feature only

🧠 Brief Explanation of Approach

Describe your thought process or logic briefly – useful for reviewers to understand your implementation.


I created reusable layouts for club and general event forms, which are shared by both the Create and Edit screens to avoid code duplication. I also created reusable UI components, such as the dynamic text field list and image picker, so they can be reused wherever required within the layouts. For switching between the club and event forms in the Create screen, I used a FormType enum to determine which layout to display. For image selection, instead of maintaining separate activity result launchers for each image field, I reused a single launcher and used an ImagePickerType enum to identify the target image, keeping the image picker logic centralized and reducing repetitive code. Form state is managed using the MVVM architecture with ViewModel and StateFlow, ensuring a clear separation between the UI and business logic.

📢 Additional Notes (Optional)

Anything the reviewer should be aware of? (Edge cases, known issues, etc.)


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.

Implement Edit and create New event UIs.

1 participant