Projects.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { connect } from "react-redux";
  2. import { Link } from "react-router-dom";
  3. import code from "../../src/code.png";
  4. const Projects = ({ snippets }) => {
  5. return snippets ? (
  6. <div>
  7. <div style={{ margin: 10 }}>
  8. <div>
  9. <Link to='/cabinet'>
  10. <button className='btn_search'>Back to Cabinet</button>
  11. </Link>
  12. </div>
  13. <div>
  14. <Link to='/work'>
  15. <button className='btn_search' style={{ marginTop: 5 }}>
  16. New project
  17. </button>
  18. </Link>
  19. </div>
  20. </div>
  21. <br />
  22. <div className='snippet_block'>
  23. {snippets?.map((key, index) => (
  24. <div className='snippet'>
  25. <img src={code} alt='code'></img>
  26. <div className='block_content'>
  27. <p>{`Name: ${snippets?.[index]?.title}` || "Project without name"}</p>
  28. <p>{`Description: ${snippets?.[index]?.description}` || ""}</p>
  29. <div className='btn_center'>
  30. <Link to={"/project/" + snippets?.[index]?._id}>
  31. <button className='btn_search'>Open project</button>
  32. </Link>
  33. </div>
  34. </div>
  35. </div>
  36. ))}
  37. </div>
  38. </div>
  39. ) : (
  40. <div>
  41. <Link to='/'>
  42. <button className='btn_search'>Back to Main Page</button>
  43. </Link>{" "}
  44. <br /> <br />
  45. <div>
  46. <span style={{ margin: 10, fontSize: 20 }}>Loading...</span>
  47. </div>
  48. </div>
  49. );
  50. };
  51. const CProjects = connect(state => ({
  52. snippets: state?.p?.findSnippet?.payload?.data?.SnippetFind,
  53. }))(Projects);
  54. export default CProjects;