🔍 Problem Statement
📖 Description
Develop a reusable modal component that allows users to create milestones for projects. The modal should capture essential milestone details and validate inputs to ensure data integrity.
Expected Behavior
- Title: Input field for milestone title.
- Description: Text area for milestone description.
- Amount: Numeric input for milestone payment amount.
- Due Date: Date picker for milestone deadline.
- Validation: Use Zod schema validation to enforce required fields, correct formats, and logical constraints (e.g., positive amount, future due date).
🛠 Technical Notes
- Implement as a reusable modal component that can be triggered from both client and freelancer dashboards.
- Maintain dark/minimal UI styling consistent with platform design.
- Ensure accessibility (keyboard navigation, ARIA labels).
- Integrate with backend APIs for milestone creation.
- Provide error messages inline when validation fails.
- Optimize for responsiveness across devices.
✅ Acceptance Criteria
- Modal opens and closes correctly.
- Users can input title, description, amount, and due date.
- Zod validation prevents invalid submissions.
- Successful submission creates a milestone and closes the modal.
- Error messages are displayed for invalid inputs.
npm run lint and npm run build succeed.
- No regression in existing dashboard or wallet functionality.
📈 Expected Impact
High — Would significantly improve user experience
🔍 Problem Statement
📖 Description
Develop a reusable modal component that allows users to create milestones for projects. The modal should capture essential milestone details and validate inputs to ensure data integrity.
Expected Behavior
🛠 Technical Notes
✅ Acceptance Criteria
npm run lintandnpm run buildsucceed.📈 Expected Impact
High — Would significantly improve user experience