Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

113 righe
3.7 KiB

  1. import React, { Component } from 'react';
  2. import Masonry from 'react-masonry-component';
  3. import Link from 'next/link';
  4. const masonryOptions = {
  5. transitionDuration: 0
  6. };
  7. export class Projects extends Component {
  8. render() {
  9. const images = this.props.images.map((image, idx) => {
  10. return (
  11. <div className="col-lg-4 col-sm-6 item" key={idx}>
  12. <div className="single-latest-projects">
  13. <img src={image.image} alt="portfolio-image" />
  14. <div className="content">
  15. <span>{image.category}</span>
  16. <h3>{image.title}</h3>
  17. </div>
  18. <Link href="/project-details">
  19. <a className="link-btn"></a>
  20. </Link>
  21. </div>
  22. </div>
  23. )
  24. })
  25. return (
  26. <div className="our-latest-projects ptb-80">
  27. <div className="container">
  28. <div className="section-title text-left">
  29. <h2>Our Latest <span>Projects</span></h2>
  30. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
  31. </div>
  32. <Masonry
  33. className={'row'} // default ''
  34. elementType={'div'} // default 'div'
  35. options={masonryOptions} // default {}
  36. disableImagesLoaded={false} // default false
  37. updateOnEachImageLoad={false} // default false and works only if disableImagesLoaded is false
  38. >
  39. {images}
  40. </Masonry>
  41. </div>
  42. </div>
  43. );
  44. }
  45. }
  46. Projects.defaultProps = {
  47. images: [
  48. {
  49. image: "/images/agency-portfolio-projects/ap-project1.jpg",
  50. category: "Business",
  51. title: "Business Stratagy"
  52. },
  53. {
  54. image: "/images/agency-portfolio-projects/ap-project2.jpg",
  55. category: "Development",
  56. title: "Web Development"
  57. },
  58. {
  59. image: "/images/agency-portfolio-projects/ap-project3.jpg",
  60. category: "Marketing",
  61. title: "Digital Marketing"
  62. },
  63. {
  64. image: "/images/agency-portfolio-projects/ap-project4.jpg",
  65. category: "App",
  66. title: "Mobile App Development"
  67. },
  68. {
  69. image: "/images/agency-portfolio-projects/ap-project6.jpg",
  70. category: "Marketing",
  71. title: "Email Marketing"
  72. },
  73. {
  74. image: "/images/agency-portfolio-projects/ap-project5.jpg",
  75. category: "Development",
  76. title: "E-commerce Development"
  77. },
  78. {
  79. image: "/images/agency-portfolio-projects/ap-project9.jpg",
  80. category: "App",
  81. title: "React App Development"
  82. },
  83. {
  84. image: "/images/agency-portfolio-projects/ap-project8.jpg",
  85. category: "Writing",
  86. title: "Content Writing"
  87. },
  88. {
  89. image: "/images/agency-portfolio-projects/ap-project7.jpg",
  90. category: "IT",
  91. title: "IT Consultancy"
  92. },
  93. {
  94. image: "/images/agency-portfolio-projects/ap-project11.jpg",
  95. category: "Solutions",
  96. title: "IT Solutions"
  97. },
  98. {
  99. image: "/images/agency-portfolio-projects/ap-project10.jpg",
  100. category: "Marketing",
  101. title: "Marketing & Reporting"
  102. },
  103. ]
  104. }
  105. export default Projects;