Editing Posts: Implement the ability to edit a post by clicking on it. Upon clicking, an input field with the post's text should open, and changes should be automatically saved through a mutation.
Handling Page Closure: Ensure changes are saved if the page is closed before the data is sent.
Requirements
Use of React: The application should be written in React using functional components and hooks.
TypeScript: All code should be written in TypeScript.
Apollo Client: Apollo Client should be used for interacting with the GraphQL API.
UI/UX: The UI should be simple and clean, with minimal styling.
Validation: Add validation for the fields used in post editing.
Documentation: Write brief documentation on how to run the application and describe its main components.
Expected Result
The application should display a list of posts fetched from the server.
Clicking on a post should open an input field for editing the post's text.
Changes to the post's text should be automatically saved.
The application should correctly handle the situation when the page is closed before the data is sent.
How to Submit the Assignment
Upload the project to GitHub and provide a link to the repository.
Include instructions for running the application in the repository's README file.
Additional Notes
Follow best practices for TypeScript and React.
Pay attention to error handling and user experience.
This assignment will help evaluate your ability to work with modern frontend technologies such as React, TypeScript, and Apollo Client, as well as your attention to detail and ability to write clean and maintainable code.
Task Description
Create a small React application that interacts with a GraphQL API using Apollo Client. The application should perform the following tasks:
Requirements
Expected Result
How to Submit the Assignment
Additional Notes
This assignment will help evaluate your ability to work with modern frontend technologies such as React, TypeScript, and Apollo Client, as well as your attention to detail and ability to write clean and maintainable code.