Skip to content
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

Food request form #137

Closed
Tracked by #134
delano opened this issue Apr 19, 2024 · 1 comment
Closed
Tracked by #134

Food request form #137

delano opened this issue Apr 19, 2024 · 1 comment

Comments

@delano
Copy link
Contributor

delano commented Apr 19, 2024

No description provided.

delano added a commit that referenced this issue Apr 20, 2024
The form navigation labels were inconsistent, using "Previous" or the step name. This change updates all labels to use the common text "Back" to improve usability and provide a more uniform experience for users navigating between steps.
delano added a commit that referenced this issue Apr 20, 2024
Standardize messaging for deleting accounts across the system. Replace instances of misleading "deworm" terminology with clear "delete" language. Hide account deletion section on profile pages by default for safety.
delano added a commit that referenced this issue Apr 20, 2024
The DeliveryInfoForm component was updated to disable branch selection and provide admin contact instructions. Previously the branch selector was an open text field, which is not ideal UX. Now it is a disabled dropdown to indicate the option is read-only. Additionally, the instructions for contacting admin were clarified to specifically mention updating the branch. These changes simplify the form field and provide clearer next steps for the user.
delano added a commit that referenced this issue Apr 20, 2024
Adds phone number and email fields to user profiles. These additional
contact details will help with coordinating food deliveries and
requests. The form component was updated to include input fields for a
user's phone and email. The profile page state was also modified to
initialize these new fields.
delano added a commit that referenced this issue Apr 20, 2024
contact options

The food request form was updated to:

- Add a required contact email field conditionally shown based on
preferred contact method
- Rename and update fields related to delivery contact details
- Pass the authenticated user's email to the form if available

These changes improve the user experience when submitting food requests
by:

- Capturing additional important contact information upfront
- Avoiding confusion over similar delivery contact fields
- Pre-filling known contact details to reduce user input
delano added a commit that referenced this issue Apr 22, 2024
Break out pet details into individual sections for each pet. Collect
name, type, age and other details for up to 4 pets. Reorganize fields
into logical groups and provide additional context and validation as
needed.

- Convert single textarea into separate sections for each pet
- Define schema for collecting name, type, age and other common details
- Add validation such as required fields and max lengths
- Group fields appropriately using objects and conditions

This change simplifies entering details for multiple pets by breaking
the form out into clear sections for each pet. It also standardizes the
data collection and adds more validation.
delano added a commit that referenced this issue Apr 22, 2024
delano added a commit that referenced this issue Apr 22, 2024
Changed the underlying data model from "your_pets" to "client_pets" to
better reflect that it represents the client's pets and not the user
filling out the form. Updated all relevant form definitions and
validations accordingly. Also made some fields optionally required based
on pet type to reduce unnecessary errors. These changes allow for a more
accurate and streamlined user experience when submitting pet details in
the food request form.
delano added a commit that referenced this issue Apr 22, 2024
delano added a commit that referenced this issue Apr 22, 2024
delano added a commit that referenced this issue Apr 22, 2024
Introduces detailed pet information.
delano added a commit that referenced this issue Apr 22, 2024
Coherent changes were made to the FoodRequestForm component to improve
the user experience:

- Restructured steps to match design mockups incl. "Address", "Contact",
"Pets" sections
- Consolidated related fields like safe drop into nested objects
- Added helpful descriptions and validation to address field
- Summarized data on confirmation page for easy review
- Migrated related state changes

These changes help streamline the request workflow for users while
future-proofing the form schema. Specific fields were reorganized but
overall functionality remains the same.
delano added a commit that referenced this issue Apr 22, 2024
The food request form component and API payload were updated to
consistently use the requestData object passed from the form instead of
directly accessing form fields. This standardizes which data is included
based on conditional logic and simplifies retrieving values.
Additionally, the pets fields were renamed for clarity and additional
details were captured.
delano added a commit that referenced this issue Apr 23, 2024
delano added a commit that referenced this issue Apr 23, 2024
Refactor the food request form component to improve accessibility and
usability. The main changes:

- Add step definitions and schema definitions to abstract form logic
- Normalize field names to match API
- Add keyboard trap prevention on interactive address
- Implement dynamic summary generation on confirmation step

Other enhancements:

- Abstract repeated fields into shared elements
- Standardize column widths and styles
- Add validation and error handling
- Refactor prop and state handling

This change aims to simplify maintaining and extending the complex
multi-step form. Key user-facing improvements are dynamic summaries and
better keyboard support. The normalized data structure and separation of
concerns also improves integration with the backend API.
delano added a commit that referenced this issue Apr 23, 2024
The schema definition was moved inside the component and now loads
asynchronously after mounting to ensure type safety. Dangerous
antipatterns like global state refs are avoided and usage documented.
Form field definitions are also better organized for clarity.

### Changes

- Move schema definition inside component and load after mounting
- Fix import path for type definitions
- Add documentation about avoiding global refs
- Rename some comments for improved understanding

### Considerations

Loading the schema asynchronously ensures it is properly defined based
on component props for maximum type safety. Removing globals prevents
memory leaks and confusion from shared state. Documentation helps avoid
issues and educate on best practices.
delano added a commit that referenced this issue Apr 23, 2024
From API and UI enxamples.
delano added a commit that referenced this issue Apr 23, 2024
delano added a commit that referenced this issue Apr 23, 2024
delano added a commit that referenced this issue Apr 23, 2024
Including trying out specifying alias nuxt alias paths for apps/ui.
delano added a commit that referenced this issue Apr 23, 2024
…imalFoodBank/afb-requests into 137-food-request-form-followup
delano added a commit that referenced this issue Apr 23, 2024
delano added a commit that referenced this issue Apr 23, 2024
@delano
Copy link
Contributor Author

delano commented Apr 23, 2024

Added #144 for further work on the confirmation step summary.

@delano delano closed this as completed Apr 23, 2024
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

When branches are created from issues, their pull requests are automatically linked.

1 participant