I, as the user, should be able to navigate to the 'New' item within the navbar and be met with a place to add a team member. This should be a form that can be submitted.
Acceptance Criteria
AS PULLED FROM THE INSTRUCTIONS
[CREATE Members]
As an authenticated user, when I create a member, the member object should include my uid.
As an authenticated user, I should be able to click the NEW link in the navbar that displays a form to add a new member.
As an authenticated user, when I fill out the form and submit a new member should be created in firebase and should now show in my Team view.
SINCE UPDATE IS INCLUDED WITHIN THE FORM FUNCTIONALITY
[UPDATE Members]
As an authenticated user, I should be able to see an edit button on each member card.
As an authenticated user, when I click the edit button I should see a form with the member information pre-populated in the form.
As an authenticated user, I should be able to edit the information in the form and hit the submit button.
As an authenticated user, when I submit the edit form firebase should be updated (PATCH request) and the Team view should update
The form should take into account the information highlighted in the ERD:
Dependecies
5 - a solid understanding of the components that are needed for the completion of this issue is needed, as well as the dependencies of that issue.
import React from 'react';
import BookForm from '../../components/forms/BookForm';
// TODO: create a reusable form to add/edit book and render in this view
export default function AddBook() {
return <BookForm />;
}
'EDIT' - SEEN WITHIN BOOKS > EDIT > [FIREBASEKEY].JS, DEPENDENT ON FORM COMPONENT FOR COMPLETION
import { React, useEffect, useState } from 'react';
import { useRouter } from 'next/router';
import { getSingleBook } from '../../../api/bookData';
import BookForm from '../../../components/forms/BookForm';
export default function EditBook() {
const [editItem, setEditItem] = useState({});
const router = useRouter();
// TODO: grab the firebasekey
const { firebaseKey } = router.query;
// TODO: make a call to the API to get the book data
useEffect(() => {
getSingleBook(firebaseKey).then(setEditItem);
}, [firebaseKey]);
// TODO: pass object to form
return (<BookForm obj={editItem} />);
}
User Story
I, as the user, should be able to navigate to the 'New' item within the navbar and be met with a place to add a team member. This should be a form that can be submitted.
Acceptance Criteria
AS PULLED FROM THE INSTRUCTIONS
SINCE UPDATE IS INCLUDED WITHIN THE FORM FUNCTIONALITY
The form should take into account the information highlighted in the ERD:
Dependecies
5 - a solid understanding of the components that are needed for the completion of this issue is needed, as well as the dependencies of that issue.
https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/issues/6 - This is an important implementation. These functions are dependent on correctly POSTING to the database.
Dev Notes
EXAMPLE FROM SIMPLY BOOKS
BOOKS > NEW.JS
BOOKFORM.JS
'EDIT' - SEEN WITHIN BOOKS > EDIT > [FIREBASEKEY].JS, DEPENDENT ON FORM COMPONENT FOR COMPLETION