D63| #100DaysOfCode
Not displaying splash images anymore. Reservation model renders listing image to the index and show endpoints. Did some layout modifications on <ListingsList/>, <ListingPreview/>, <Users/> and <User/> to make it more responsive.
#JavaScript#ReactJS
D62| #100DaysOfCode
Added description and bio character counter to <ListingForm /> and <EditUserForm/> respectively. Added logo which changes width by media queries. Built <Footer/>.
#JavaScript#ReactJS#RubyOnRails#Ruby
D61| #100DaysOfCode
<App/> changes validationErrors to initial state when path changes. Added validations to Listing model and refactored ListingsController so that it can handle the validations. <ListingForm/> displays the validations errors.
#JavaScript#ReactJS#RubyOnRails
D60|#100DaysOfCode
Changed errors state to validationErrors for ease of interpretation. Added bio validations to the backend and render them as well as the other validations through <EditUserform/> in case of errors.
#JavaScript#React#Ruby#RubyOnRails
D59|#100DaysOfCode
Removed <LogoutUser/> to handle logouts through an OnClick that fetches the logout endpoint. <ListingForm/> doesn't use location.state anymore to render current listing info.
#JaavaScript#React#Ruby#RubyOnRails
D58|#100DaysOfCode
Handled authentication. Added userResponseGiven state in <App/> to ensure it's true before giving or denying permission to access certain parts. User is mostly redirected to the home page if they don't have permissions.
#JavaScript#ReactJS#Ruby#RubyOnRails
D56|#100DaysOfCode
Created render_errors and render_valid_user actions on UsersController to render messages when attempting to create a user from the client. <SignupUserForm /> renders those messages to the user.
#JavaScript#ReactJS#Ruby#RubyOnRails
<SignupUserForm /> and <LoginUserForm /> render validation errors from the server and from a single state in <App />. <EditUserForm/> accepts empty values in case the user wants to remove info. Added format validations to first and last name.
D55|#100DaysOfCode
Added initial stylings to <Home/>. Users are unable to make reservations or contact other users unless they are authenticated. 🧵👇
#ReactJS#RubyOnRails
Added username and email validations for User model, reservation_date for Reservation model, and content for Message model. Users can't make reservations if there isn't any selected date. Messages can't be blank in order to be sent.
Usernames are case insensitive. Names initials are capitalised. If users or listings don't have reviews, it won't show empty stars but a message to avoid confusion. Some titles had some styling changes.
D54|#100DaysOfCode
Built a <SortAndFilterListings/> which initially filters out listings from their topics and sorts them by rating, creation or update and styled it with <SortAndFilterUsers/>. States are managed from the parent <ListingsList/>
#ReactJS#RubyOnRails
D53|#100DaysOfCode
Built <SortAndFilterUsers /> which initially filters out users from their age, gender or country and can sort users by rating, creation or last update date. States are managed from the parent <Users/>.
#JavaScript#ReactJS#Ruby#RubyOnRails
D52|#100DaysOfCode
Users are able to select the country they currently live in. Added index action for CountriesController. Defined relationship between User and Country. Implemented searching tool for listing by adding a text input in <MainMenu/>.
#ReactJS#RubyOnRails
D51|#100DaysOfCode
Built <MessagesBody/> and <Message />. Users can see all their sent and received messages through <Inbox/>. Users can select topics when they are editing their information.
#JavaScript#ReactJS#Ruby#RubyOnRails
D50|#100DaysOfCode
Created <MessageTable/> that renders dates of last received messages. Added class method to Message that returns messages shared between two users. UsersController renders the info in the API.
#JavaScript#ReactJS#Ruby#RubyOnRails
D49|#100DaysOfCode
Built <AverageRating/>. Users are able to add their date of birth in <UserDetails />. Built <Reviews/> and <Review/> component that display the listing reviews. Review model has a review_with_user_info instance method.
#JavaScript#ReactJS#Ruby#RubyOnRails