vkrastev97

rev view

Nov 1st, 2020
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. import React, { useState } from 'react';
  2. import { useAuth } from '../../auth/authContext';
  3.  
  4. const ReviewView = (props) => {
  5. const { id, username, text, handleRemove, update } = props;
  6. const { user } = useAuth();
  7. const [viewText, setViewText] = useState(text);
  8. const [updateMode, setModeUpdate] = useState(false);
  9.  
  10. const handleUpdate = () => {
  11. setModeUpdate((preState) => !preState);
  12. };
  13.  
  14. const saveEdit = () => {
  15. update({ text: viewText });
  16. handleUpdate();
  17. };
  18.  
  19. return (
  20. <div>
  21. <span>{username + ': '}</span>
  22. {username === user.username ? (
  23. <>
  24. {updateMode ? (
  25. <>
  26. <input
  27. value={viewText}
  28. onChange={(ev) => setViewText(ev.target.value)}
  29. />
  30. <button onClick={saveEdit}>Save</button>
  31. <button onClick={handleUpdate}>Cancel</button>
  32. </>
  33. ) : (
  34. <>
  35. <span>{text}</span>
  36. <button onClick={handleUpdate}>Edit Review</button>
  37. </>
  38. )}
  39.  
  40. <button onClick={() => handleRemove(id)}>Delete review</button>
  41. </>
  42. ) : null}
  43. </div>
  44. );
  45. };
  46.  
  47. export default ReviewView;
  48.  
Advertisement
Add Comment
Please, Sign In to add comment