[ ] As an authenticated user, I want to create a spot to include in the listings.
[ ] As an authenticated user, if I make a mistake while creating a spot, I want useful error messages (a.k.a. validation).
[ ] As an authenticated user, when I successfully create a spot, I want to see its details immediately.
Acceptance Criteria
[ ] There should be a "Create a New Spot" button in the navigation bar to the left of the User Menu button for logged-in users.
[ ] Upon clicking the "Create a New Spot" button, the user should be navigated to a blank form to gather the data for a new spot (see wireframe).
[ ] On the new spot form, there should be: a title at the top with the text "Create a New Spot".
[ ] The first section should include: a heading of "Where's your place located?", a caption of "Guests will only get your exact address once they booked a reservation.", and text inputs with labels and placeholders for "Country", "Street Address", "City", and "State" ("Latitude" and "Longitude" inputs are optional for MVP)
[ ] The second section should include: a heading of "Describe your place to guests", a caption of "Mention the best features of your space, any special amentities like fast wifi or parking, and what you love about the neighborhood.", and a text area with a placeholder of "Please write at least 30 characters".
[ ] The third section should include: a heading of "Create a title for your spot", a caption of "Catch guests' attention with a spot title that highlights what makes your place special.", and a text input with a placeholder of "Name of your spot".
[ ] The fourth section should include: a heading of "Set a base price for your spot", a caption of "Competitive pricing can help your listing stand out and rank higher in search results.", and a number input with a placeholder of "Price per night (USD)".
[ ] The fifth section should include: a heading of "Liven up your spot with photos", a caption of "Submit a link to at least one photo to publish your spot.", and five text inputs where the first input has a placeholder of "Preview Image URL" and the rest of the inputs have a placeholder of "Image URL".
[ ] The submit button should have the text of "Create Spot".
[ ] Validation messages must show at the top of the form or under each field with an error if the user tries to submit an incomplete form. Examples: a Required Field: " is required" (e.g. "Price per night is required", etc.), a Description Min Length: "Description needs 30 or more characters". Out of the five image URL inputs, only the first Image URL input (the Preview Image URL) is required.
[ ] When a spot is successfully created, the user should automatically be navigated to the new spot's detail page.
[ ] Navigating away and back to the create spot form form resets any errors and clears all data entered, so it displays in the default state (no errors, empty inputs, button disabled).
-User Stories
[ ] As an authenticated user, I want to create a spot to include in the listings.
[ ] As an authenticated user, if I make a mistake while creating a spot, I want useful error messages (a.k.a. validation).
[ ] As an authenticated user, when I successfully create a spot, I want to see its details immediately.
Acceptance Criteria