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

Add Trip Functionality #54

Merged
merged 51 commits into from
Jul 21, 2020
Merged

Add Trip Functionality #54

merged 51 commits into from
Jul 21, 2020

Conversation

zghera
Copy link
Collaborator

@zghera zghera commented Jul 13, 2020

What is a quick description of the change?

Adds functionality to clean the data entered in the add trip modal before creating a new Trip document in Firestore.

Is this fixing an issue?

fixes #43: Address the portions of clean/format the data and create a new Trip document in the database.
progress on #47: All Trip documents created in Firestore contain the required fields specified in the design doc. However it still may be beneficial to implement the Firebase security rules in a future PR.
fixes #52: Created form control types for collaborators and dates fields.

Are there more details that are relevant?

The main addition of this PR is to the following files:

  • index.js:
    • Added a new state variable refreshTripContainer that is passed in as a prop to TripsContainer to update the trips container for the current user whenever a new trip is submitted. In the future, the use of refreshTripContainer and the key prop on Trips container should be removed with the addition of real time listening with onShapshot (Issue Implement Real Time Updates for all Trip Collaborators #62).
    • Added state variable refreshAddTripModal that is passed as prop to AddTripModal to refresh the component whenever it is opened. This is to prevent the issue where multiple collaborator text boxes persist between closing and re-opening the modal.
  • add-trip.js (changed to add-trip-modal.js PR Rename add-trip.js to add-trip-modal.js. #68):
    • Created Form.Control types for dates and emails (collaborators).
    • Handle for submitting form that creates a new trip document in firestore, refreshes the trip container, and closes the modal.
  • filter-input.js: Contains functions for sanitizing and formatting form input data. This file will also be the home of the email verification (Email Verification for Add Trip #67) implemented when implemented.

Additionally, Auth hardcoded functions were moved into a temporary file temp-auth-utils.js in Utils where they are imported in relevant filed rather than passing in these values/props in from ViewTrips component. These import will be updated with the real auth utils once that module is completed.

Check lists (check x in [ ] of list items)

  • Test written/updating
  • Tests passing
  • Coding style (indentation, etc)

As of now, integration (end-to-end) tests were deemed non-critical. Thus, functions related to react and firestore will be tested at a later time. Unit tests for "logical" functions will be included in this PR and for the remaining PRs needed to complete the MVP.

Any additional comments?

Gif showing functionality:
Untitled_ Jul 14, 2020 10_21 AM

@zghera zghera changed the base branch from master to create-add-trip-modal July 13, 2020 13:30
@zghera zghera mentioned this pull request Jul 15, 2020
@zghera zghera changed the base branch from create-add-trip-modal to master July 15, 2020 16:10
@zghera zghera changed the base branch from master to create-add-trip-modal July 15, 2020 16:10
@zghera zghera requested a review from anan-ya-y July 17, 2020 02:01
frontend/src/components/Utils/filter-input.test.js Outdated Show resolved Hide resolved
frontend/src/components/Utils/filter-input.test.js Outdated Show resolved Hide resolved
frontend/src/components/Utils/filter-input.js Outdated Show resolved Hide resolved
frontend/src/components/Utils/filter-input.js Outdated Show resolved Hide resolved
frontend/src/components/Utils/filter-input.js Outdated Show resolved Hide resolved
@zghera zghera marked this pull request as ready for review July 17, 2020 20:37
month: 'long',
day: 'numeric',
hour: 'numeric',
minute: '2-digit',
timeZone: timezone
Copy link
Collaborator Author

@zghera zghera Jul 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes were automatically made by VSCode and I am don't know if its worth the time of going into vim and manually changing it back in each branch.

@zghera zghera requested a review from HiramSilvey July 21, 2020 14:01
@zghera zghera merged commit 63ad790 into master Jul 21, 2020
@zghera zghera deleted the add-trip-functionality branch July 21, 2020 22:10
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.

Form Entry Types for Collaborators and Start/End Dates Implement Add Trips Functionality
4 participants