This is a web application where users can communicate with each other.
The application consists of two pages with the login and chat page. Login is performed by using the firebase authentication service via a google account. The authorization status is saved in localStorage. The authorized user gets to the chat page. Your own messages are displayed on the right in the chat window, and from other people - on the left. The time when it was sent is displayed under each message. If the message is sent for the first time in a day, the current date is displayed in front of it. When the page is refreshed, the chat will scroll down to the last message; The chat data is stored in the firestore database. The user's google avatar is located to the side of the message. By clicking on the avatar, you can see the google nickname of the interlocutor. At the moment, you can write text and reply to selected messages in the chat.
- Using the useState, useEffect, useRef and useContext hooks;
- Using onClick events on elements;
- Import icons, libraries, hooks and components;
- Using conditional rendering with the ternary operator;
- Working with props and context;
- Using Firebase auth and Firestore database;
- Using a page routing;
- Making adaptations for different screens;
- Using a content loader;
- Creating and using a custom hooks;