From 2902ff8bab47c829512f48d4bba6d710222d4506 Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Mon, 14 Jul 2025 14:03:36 +0530 Subject: [PATCH] first commit --- .gitignore | 36 + README.md | 36 + app/(about)/about/page.jsx | 85 + app/(blogs)/news-details/[id]/page.jsx | 78 + app/(blogs)/news-grid/page.jsx | 75 + app/(blogs)/news/page.jsx | 75 + app/(contact)/contact/page.jsx | 79 + app/(homes)/home-1-one-page/page.jsx | 43 + app/(homes)/home-1/page.jsx | 43 + app/(homes)/home-2-one-page/page.jsx | 63 + app/(homes)/home-2/page.jsx | 61 + app/(othersPages)/404/page.jsx | 108 + app/(othersPages)/faq/page.jsx | 77 + app/(othersPages)/pricing/page.jsx | 79 + app/(othersPages)/team-details/[id]/page.jsx | 79 + app/(othersPages)/team/page.jsx | 76 + app/(project)/project-details/[id]/page.jsx | 78 + app/(project)/project/page.jsx | 76 + app/(service)/service-details/[id]/page.jsx | 78 + app/(service)/service/page.jsx | 76 + app/favicon.ico | Bin 0 -> 4286 bytes app/layout.jsx | 63 + app/not-found.jsx | 108 + app/page.jsx | 12 + components/about/Achievments.jsx | 109 + components/about/Team.jsx | 78 + components/blogs/BlogDetails.jsx | 245 + components/blogs/Blogs.jsx | 75 + components/blogs/Blogs2.jsx | 231 + components/blogs/CommentForm.jsx | 44 + components/blogs/Comments.jsx | 79 + components/common/AnimatedText.jsx | 44 + components/common/BackToTop.jsx | 30 + components/common/Brands.jsx | 53 + components/common/Mouse.jsx | 59 + components/common/Pagination.jsx | 51 + components/common/SearchWrap.jsx | 28 + components/contact/ContactForm.jsx | 134 + components/contact/ContactInfo.jsx | 91 + components/contact/Map.jsx | 14 + components/footers/Footer1.jsx | 214 + components/headers/Header1.jsx | 119 + components/headers/Header1Onepage.jsx | 118 + components/headers/Header2.jsx | 113 + components/headers/Header2Onepage.jsx | 113 + components/headers/HeaderTop1.jsx | 30 + components/headers/Nav.jsx | 145 + components/headers/NavOnepage.jsx | 93 + components/headers/Offcanvas.jsx | 132 + components/homes/home-1/About.jsx | 144 + components/homes/home-1/Blogs.jsx | 124 + components/homes/home-1/Contact.jsx | 145 + components/homes/home-1/Cta.jsx | 50 + components/homes/home-1/Faq.jsx | 104 + components/homes/home-1/Hero.jsx | 164 + components/homes/home-1/Projects.jsx | 57 + components/homes/home-1/Services.jsx | 112 + components/homes/home-1/Skills.jsx | 113 + components/homes/home-1/Team.jsx | 66 + components/homes/home-1/Testimonials.jsx | 132 + components/homes/home-2/About.jsx | 183 + components/homes/home-2/Achievements.jsx | 96 + components/homes/home-2/Blogs.jsx | 106 + components/homes/home-2/Cta.jsx | 41 + components/homes/home-2/Hero.jsx | 87 + components/homes/home-2/Pricing.jsx | 89 + components/homes/home-2/Projects.jsx | 101 + components/homes/home-2/Services.jsx | 142 + components/homes/home-2/Team.jsx | 82 + components/homes/home-2/Testimonials.jsx | 105 + components/project/ProjectDetails.jsx | 165 + components/project/Projects.jsx | 51 + components/service/ServiceDetails.jsx | 238 + components/service/Services.jsx | 75 + components/team/Team.jsx | 65 + components/team/TeamDetails.jsx | 194 + data/blogs.js | 229 + data/brands.js | 12 + data/facts.js | 67 + data/faq.js | 42 + data/gallery.js | 26 + data/menu.js | 103 + data/pricing.js | 41 + data/projects.js | 154 + data/services.js | 236 + data/skills.js | 17 + data/team.js | 423 + data/testimonials.js | 48 + jsconfig.json | 7 + next.config.mjs | 4 + package-lock.json | 832 + package.json | 25 + public/assets/css/all.min.css | 25355 ++++++++++++++++ public/assets/css/animate.css | 2744 ++ public/assets/css/bootstrap.min.css | 12633 ++++++++ public/assets/css/color.css | 0 public/assets/css/magnific-popup.css | 351 + public/assets/css/main.css | 6892 +++++ public/assets/css/main.css.map | 1 + public/assets/css/meanmenu.css | 148 + public/assets/css/nice-select.css | 143 + public/assets/css/splitting.css | 66 + public/assets/css/swiper-bundle.min.css | 13 + public/assets/img/404.png | Bin 0 -> 3982 bytes public/assets/img/about/01.jpg | Bin 0 -> 9960 bytes public/assets/img/about/02.jpg | Bin 0 -> 8768 bytes public/assets/img/about/03.jpg | Bin 0 -> 9033 bytes public/assets/img/about/04.jpg | Bin 0 -> 8931 bytes public/assets/img/about/about-shape-1.png | Bin 0 -> 2315 bytes public/assets/img/about/about-shape-2.png | Bin 0 -> 2597 bytes public/assets/img/about/about-shape-3.png | Bin 0 -> 139 bytes public/assets/img/about/about-shape-4.png | Bin 0 -> 41420 bytes public/assets/img/about/about-shape-5.png | Bin 0 -> 19774 bytes public/assets/img/about/author.png | Bin 0 -> 1498 bytes public/assets/img/about/bar.png | Bin 0 -> 128 bytes public/assets/img/about/signature.png | Bin 0 -> 2452 bytes public/assets/img/achivements-bg-shape.png | Bin 0 -> 149748 bytes public/assets/img/achivements-image-2.jpg | Bin 0 -> 8605 bytes public/assets/img/achivements-image.jpg | Bin 0 -> 9351 bytes public/assets/img/achivements-shape.png | Bin 0 -> 57163 bytes public/assets/img/border.png | Bin 0 -> 924 bytes public/assets/img/brand/brand-logo-2.png | Bin 0 -> 2885 bytes public/assets/img/brand/brand-logo-3.png | Bin 0 -> 3578 bytes public/assets/img/brand/brand-logo-4.png | Bin 0 -> 2641 bytes public/assets/img/brand/brand-logo-5.png | Bin 0 -> 3268 bytes public/assets/img/brand/brand-logo.png | Bin 0 -> 2674 bytes public/assets/img/breadcrumb-bar.png | Bin 0 -> 20633 bytes public/assets/img/breadcrumb-bg.jpg | Bin 0 -> 14709 bytes public/assets/img/breadcrumb-image.png | Bin 0 -> 3055 bytes public/assets/img/contact-bg.jpg | Bin 0 -> 15821 bytes public/assets/img/contact-img-shape.png | Bin 0 -> 2569 bytes public/assets/img/cta-bg-2.jpg | Bin 0 -> 41025 bytes public/assets/img/cta-bg.jpg | Bin 0 -> 28594 bytes public/assets/img/cta-img.png | Bin 0 -> 2095 bytes public/assets/img/cta-shape.png | Bin 0 -> 1562 bytes public/assets/img/engineer-holding.png | Bin 0 -> 2803 bytes public/assets/img/faq/bg-shape.png | Bin 0 -> 113959 bytes public/assets/img/footer/bg.jpg | Bin 0 -> 15317 bytes public/assets/img/footer/gallery-1.jpg | Bin 0 -> 7723 bytes public/assets/img/footer/gallery-2.jpg | Bin 0 -> 7723 bytes public/assets/img/footer/gallery-3.jpg | Bin 0 -> 7723 bytes public/assets/img/footer/gallery-4.jpg | Bin 0 -> 7723 bytes public/assets/img/footer/gallery-5.jpg | Bin 0 -> 7723 bytes public/assets/img/footer/gallery-6.jpg | Bin 0 -> 7723 bytes public/assets/img/header/home-1.jpg | Bin 0 -> 64738 bytes public/assets/img/header/home-2.jpg | Bin 0 -> 69449 bytes public/assets/img/hero/01.jpg | Bin 0 -> 10007 bytes public/assets/img/hero/02.jpg | Bin 0 -> 10007 bytes public/assets/img/hero/hero-1.png | Bin 0 -> 4035 bytes public/assets/img/hero/hero-2.png | Bin 0 -> 4035 bytes public/assets/img/hero/hero-bg.jpg | Bin 0 -> 19291 bytes public/assets/img/hero/line-shape.png | Bin 0 -> 9771 bytes public/assets/img/hero/next.png | Bin 0 -> 258 bytes public/assets/img/hero/prev.png | Bin 0 -> 223 bytes public/assets/img/hero/vector-2.png | Bin 0 -> 742 bytes public/assets/img/hero/vector.png | Bin 0 -> 863 bytes public/assets/img/icon/01.svg | 5 + public/assets/img/icon/02.svg | 18 + public/assets/img/icon/03.svg | 13 + public/assets/img/icon/04.svg | 13 + public/assets/img/icon/05.svg | 13 + public/assets/img/icon/06.svg | 5 + public/assets/img/icon/07.svg | 3 + public/assets/img/icon/08.svg | 10 + public/assets/img/icon/09.svg | 14 + public/assets/img/icon/10.svg | 18 + public/assets/img/icon/11.svg | 7 + public/assets/img/icon/12.svg | 13 + public/assets/img/icon/13.svg | 27 + public/assets/img/icon/14.svg | 13 + public/assets/img/icon/15.svg | 3 + public/assets/img/icon/16.svg | 10 + public/assets/img/icon/17.svg | 14 + public/assets/img/icon/18.svg | 11 + public/assets/img/icon/19.svg | 5 + public/assets/img/icon/20.svg | 18 + public/assets/img/icon/21.svg | 7 + public/assets/img/icon/22.svg | 13 + public/assets/img/icon/23.svg | 27 + public/assets/img/icon/24.svg | 13 + public/assets/img/logo/black-logo.svg | 16 + public/assets/img/man.png | Bin 0 -> 2661 bytes public/assets/img/minus.svg | 3 + public/assets/img/news/01.jpg | Bin 0 -> 10210 bytes public/assets/img/news/02.jpg | Bin 0 -> 8736 bytes public/assets/img/news/03.jpg | Bin 0 -> 8736 bytes public/assets/img/news/04.jpg | Bin 0 -> 8469 bytes public/assets/img/news/05.jpg | Bin 0 -> 8477 bytes public/assets/img/news/06.jpg | Bin 0 -> 8477 bytes public/assets/img/news/07.jpg | Bin 0 -> 8469 bytes public/assets/img/news/08.jpg | Bin 0 -> 8477 bytes public/assets/img/news/09.jpg | Bin 0 -> 8477 bytes public/assets/img/news/author-1.png | Bin 0 -> 1439 bytes public/assets/img/news/author-2.png | Bin 0 -> 1439 bytes public/assets/img/news/author-3.png | Bin 0 -> 1439 bytes public/assets/img/news/comment-1.png | Bin 0 -> 1606 bytes public/assets/img/news/comment-2.png | Bin 0 -> 1606 bytes public/assets/img/news/post-1.jpg | Bin 0 -> 9783 bytes public/assets/img/news/post-2.jpg | Bin 0 -> 9783 bytes public/assets/img/news/post-3.jpg | Bin 0 -> 9783 bytes public/assets/img/news/post-4.jpg | Bin 0 -> 10089 bytes public/assets/img/news/post-5.jpg | Bin 0 -> 8822 bytes public/assets/img/news/post-6.jpg | Bin 0 -> 8814 bytes public/assets/img/news/pp2.jpg | Bin 0 -> 7728 bytes public/assets/img/news/pp3.jpg | Bin 0 -> 7720 bytes public/assets/img/news/pp4.jpg | Bin 0 -> 7728 bytes public/assets/img/news/shape-1.png | Bin 0 -> 1684 bytes public/assets/img/news/shape-2.png | Bin 0 -> 1684 bytes public/assets/img/news/shape-3.png | Bin 0 -> 3616 bytes public/assets/img/news/shape-4.png | Bin 0 -> 9414 bytes public/assets/img/plus.svg | 3 + public/assets/img/pricing-arrow-shape.png | Bin 0 -> 1669 bytes public/assets/img/pricing-bg.jpg | Bin 0 -> 59684 bytes public/assets/img/pricing-circle-shape.png | Bin 0 -> 3733 bytes public/assets/img/pricing-shape.png | Bin 0 -> 10436 bytes public/assets/img/project/01.jpg | Bin 0 -> 10183 bytes public/assets/img/project/02.jpg | Bin 0 -> 10183 bytes public/assets/img/project/03.jpg | Bin 0 -> 10183 bytes public/assets/img/project/04.jpg | Bin 0 -> 10183 bytes public/assets/img/project/05.jpg | Bin 0 -> 10183 bytes public/assets/img/project/06.jpg | Bin 0 -> 11000 bytes public/assets/img/project/07.jpg | Bin 0 -> 11000 bytes public/assets/img/project/08.jpg | Bin 0 -> 11000 bytes public/assets/img/project/09.jpg | Bin 0 -> 8995 bytes public/assets/img/project/10.jpg | Bin 0 -> 8995 bytes public/assets/img/project/11.jpg | Bin 0 -> 8987 bytes public/assets/img/project/12.jpg | Bin 0 -> 8987 bytes public/assets/img/project/13.jpg | Bin 0 -> 8995 bytes public/assets/img/project/14.jpg | Bin 0 -> 8995 bytes public/assets/img/project/15.jpg | Bin 0 -> 8995 bytes public/assets/img/project/16.jpg | Bin 0 -> 8995 bytes public/assets/img/project/17.jpg | Bin 0 -> 8995 bytes public/assets/img/project/details-1.jpg | Bin 0 -> 11760 bytes public/assets/img/project/details-2.jpg | Bin 0 -> 9098 bytes public/assets/img/project/details-3.jpg | Bin 0 -> 9098 bytes public/assets/img/project/shape.png | Bin 0 -> 452 bytes public/assets/img/service/01.jpg | Bin 0 -> 8566 bytes public/assets/img/service/02.jpg | Bin 0 -> 8566 bytes public/assets/img/service/03.jpg | Bin 0 -> 8558 bytes public/assets/img/service/04.jpg | Bin 0 -> 8558 bytes public/assets/img/service/05.jpg | Bin 0 -> 9158 bytes public/assets/img/service/06.jpg | Bin 0 -> 8566 bytes public/assets/img/service/07.jpg | Bin 0 -> 8566 bytes public/assets/img/service/08.jpg | Bin 0 -> 8558 bytes public/assets/img/service/bar.png | Bin 0 -> 136 bytes public/assets/img/service/bg-shape.png | Bin 0 -> 8134 bytes public/assets/img/service/contact-bg.jpg | Bin 0 -> 9235 bytes public/assets/img/service/details-1.jpg | Bin 0 -> 9366 bytes public/assets/img/service/details-2.jpg | Bin 0 -> 8800 bytes public/assets/img/service/items-shape.png | Bin 0 -> 4820 bytes public/assets/img/service/logo.png | Bin 0 -> 1163 bytes public/assets/img/service/service-bg.jpg | Bin 0 -> 18245 bytes public/assets/img/skills/01.jpg | Bin 0 -> 9086 bytes public/assets/img/skills/02.jpg | Bin 0 -> 8634 bytes public/assets/img/skills/logo.png | Bin 0 -> 2050 bytes public/assets/img/skills/shape-1.png | Bin 0 -> 1646 bytes public/assets/img/skills/shape-2.png | Bin 0 -> 2412 bytes public/assets/img/tag.png | Bin 0 -> 915 bytes public/assets/img/team/01.jpg | Bin 0 -> 8683 bytes public/assets/img/team/02.jpg | Bin 0 -> 8683 bytes public/assets/img/team/03.jpg | Bin 0 -> 8683 bytes public/assets/img/team/04.jpg | Bin 0 -> 8683 bytes public/assets/img/team/05.jpg | Bin 0 -> 8672 bytes public/assets/img/team/06.jpg | Bin 0 -> 8672 bytes public/assets/img/team/07.jpg | Bin 0 -> 8672 bytes public/assets/img/team/08.jpg | Bin 0 -> 8663 bytes public/assets/img/team/09.jpg | Bin 0 -> 8672 bytes public/assets/img/team/10.jpg | Bin 0 -> 8672 bytes public/assets/img/team/11.jpg | Bin 0 -> 8672 bytes public/assets/img/team/12.jpg | Bin 0 -> 8672 bytes public/assets/img/team/bg-shape.png | Bin 0 -> 63731 bytes public/assets/img/team/details-1.jpg | Bin 0 -> 9261 bytes public/assets/img/team/gallery-1.jpg | Bin 0 -> 9215 bytes public/assets/img/team/gallery-2.jpg | Bin 0 -> 9215 bytes public/assets/img/team/gallery-3.jpg | Bin 0 -> 9215 bytes public/assets/img/team/shape-1.png | Bin 0 -> 1985 bytes public/assets/img/team/shape-2.png | Bin 0 -> 2655 bytes public/assets/img/testimonial/amazon.png | Bin 0 -> 1476 bytes public/assets/img/testimonial/arrow-shape.png | Bin 0 -> 1176 bytes .../assets/img/testimonial/building-shape.png | Bin 0 -> 11446 bytes public/assets/img/testimonial/client-1.png | Bin 0 -> 1517 bytes public/assets/img/testimonial/client-2.png | Bin 0 -> 1517 bytes public/assets/img/testimonial/client-3.png | Bin 0 -> 1517 bytes public/assets/img/testimonial/client-4.png | Bin 0 -> 1624 bytes public/assets/img/testimonial/client-5.png | Bin 0 -> 1624 bytes public/assets/img/testimonial/envato.png | Bin 0 -> 1469 bytes public/assets/img/testimonial/shape-left.png | Bin 0 -> 533 bytes public/assets/img/testimonial/shape-right.png | Bin 0 -> 519 bytes .../img/testimonial/testimonial-image.jpg | Bin 0 -> 11558 bytes public/assets/img/track.png | Bin 0 -> 1601 bytes public/assets/img/vector.png | Bin 0 -> 1031 bytes public/assets/scss/_about.scss | 377 + public/assets/scss/_animation.scss | 341 + public/assets/scss/_brand.scss | 0 public/assets/scss/_buttons.scss | 100 + public/assets/scss/_contact.scss | 212 + public/assets/scss/_cta.scss | 96 + public/assets/scss/_faq.scss | 122 + public/assets/scss/_feature.scss | 316 + public/assets/scss/_footer.scss | 295 + public/assets/scss/_header.scss | 1070 + public/assets/scss/_helping.scss | 421 + public/assets/scss/_hero.scss | 390 + public/assets/scss/_meanmenu.scss | 185 + public/assets/scss/_mixins.scss | 130 + public/assets/scss/_news.scss | 928 + public/assets/scss/_preloader.scss | 299 + public/assets/scss/_pricing.scss | 145 + public/assets/scss/_project.scss | 434 + public/assets/scss/_section.scss | 91 + public/assets/scss/_service.scss | 390 + public/assets/scss/_team.scss | 425 + public/assets/scss/_testimonial.scss | 237 + public/assets/scss/_typography.scss | 116 + public/assets/scss/_variables.scss | 27 + public/assets/scss/custom.scss | 61 + public/assets/scss/main.scss | 66 + public/assets/scss/styles.scss | 32 + public/assets/webfonts/fa-brands-400.ttf | Bin 0 -> 180684 bytes public/assets/webfonts/fa-brands-400.woff2 | Bin 0 -> 104740 bytes public/assets/webfonts/fa-duotone-900.ttf | Bin 0 -> 1132808 bytes public/assets/webfonts/fa-duotone-900.woff2 | Bin 0 -> 402000 bytes public/assets/webfonts/fa-light-300.ttf | Bin 0 -> 999704 bytes public/assets/webfonts/fa-light-300.woff2 | Bin 0 -> 392136 bytes public/assets/webfonts/fa-regular-400.ttf | Bin 0 -> 891584 bytes public/assets/webfonts/fa-regular-400.woff2 | Bin 0 -> 357732 bytes public/assets/webfonts/fa-solid-900.ttf | Bin 0 -> 785900 bytes public/assets/webfonts/fa-solid-900.woff2 | Bin 0 -> 303544 bytes public/assets/webfonts/fa-thin-100.ttf | Bin 0 -> 1100824 bytes public/assets/webfonts/fa-thin-100.woff2 | Bin 0 -> 426420 bytes public/assets/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10556 bytes .../assets/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4964 bytes utlis/addScrollSpy.js | 31 + utlis/scrollToElement.js | 23 + utlis/toggleMobilemenu.js | 16 + 335 files changed, 65360 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/(about)/about/page.jsx create mode 100644 app/(blogs)/news-details/[id]/page.jsx create mode 100644 app/(blogs)/news-grid/page.jsx create mode 100644 app/(blogs)/news/page.jsx create mode 100644 app/(contact)/contact/page.jsx create mode 100644 app/(homes)/home-1-one-page/page.jsx create mode 100644 app/(homes)/home-1/page.jsx create mode 100644 app/(homes)/home-2-one-page/page.jsx create mode 100644 app/(homes)/home-2/page.jsx create mode 100644 app/(othersPages)/404/page.jsx create mode 100644 app/(othersPages)/faq/page.jsx create mode 100644 app/(othersPages)/pricing/page.jsx create mode 100644 app/(othersPages)/team-details/[id]/page.jsx create mode 100644 app/(othersPages)/team/page.jsx create mode 100644 app/(project)/project-details/[id]/page.jsx create mode 100644 app/(project)/project/page.jsx create mode 100644 app/(service)/service-details/[id]/page.jsx create mode 100644 app/(service)/service/page.jsx create mode 100644 app/favicon.ico create mode 100644 app/layout.jsx create mode 100644 app/not-found.jsx create mode 100644 app/page.jsx create mode 100644 components/about/Achievments.jsx create mode 100644 components/about/Team.jsx create mode 100644 components/blogs/BlogDetails.jsx create mode 100644 components/blogs/Blogs.jsx create mode 100644 components/blogs/Blogs2.jsx create mode 100644 components/blogs/CommentForm.jsx create mode 100644 components/blogs/Comments.jsx create mode 100644 components/common/AnimatedText.jsx create mode 100644 components/common/BackToTop.jsx create mode 100644 components/common/Brands.jsx create mode 100644 components/common/Mouse.jsx create mode 100644 components/common/Pagination.jsx create mode 100644 components/common/SearchWrap.jsx create mode 100644 components/contact/ContactForm.jsx create mode 100644 components/contact/ContactInfo.jsx create mode 100644 components/contact/Map.jsx create mode 100644 components/footers/Footer1.jsx create mode 100644 components/headers/Header1.jsx create mode 100644 components/headers/Header1Onepage.jsx create mode 100644 components/headers/Header2.jsx create mode 100644 components/headers/Header2Onepage.jsx create mode 100644 components/headers/HeaderTop1.jsx create mode 100644 components/headers/Nav.jsx create mode 100644 components/headers/NavOnepage.jsx create mode 100644 components/headers/Offcanvas.jsx create mode 100644 components/homes/home-1/About.jsx create mode 100644 components/homes/home-1/Blogs.jsx create mode 100644 components/homes/home-1/Contact.jsx create mode 100644 components/homes/home-1/Cta.jsx create mode 100644 components/homes/home-1/Faq.jsx create mode 100644 components/homes/home-1/Hero.jsx create mode 100644 components/homes/home-1/Projects.jsx create mode 100644 components/homes/home-1/Services.jsx create mode 100644 components/homes/home-1/Skills.jsx create mode 100644 components/homes/home-1/Team.jsx create mode 100644 components/homes/home-1/Testimonials.jsx create mode 100644 components/homes/home-2/About.jsx create mode 100644 components/homes/home-2/Achievements.jsx create mode 100644 components/homes/home-2/Blogs.jsx create mode 100644 components/homes/home-2/Cta.jsx create mode 100644 components/homes/home-2/Hero.jsx create mode 100644 components/homes/home-2/Pricing.jsx create mode 100644 components/homes/home-2/Projects.jsx create mode 100644 components/homes/home-2/Services.jsx create mode 100644 components/homes/home-2/Team.jsx create mode 100644 components/homes/home-2/Testimonials.jsx create mode 100644 components/project/ProjectDetails.jsx create mode 100644 components/project/Projects.jsx create mode 100644 components/service/ServiceDetails.jsx create mode 100644 components/service/Services.jsx create mode 100644 components/team/Team.jsx create mode 100644 components/team/TeamDetails.jsx create mode 100644 data/blogs.js create mode 100644 data/brands.js create mode 100644 data/facts.js create mode 100644 data/faq.js create mode 100644 data/gallery.js create mode 100644 data/menu.js create mode 100644 data/pricing.js create mode 100644 data/projects.js create mode 100644 data/services.js create mode 100644 data/skills.js create mode 100644 data/team.js create mode 100644 data/testimonials.js create mode 100644 jsconfig.json create mode 100644 next.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/assets/css/all.min.css create mode 100644 public/assets/css/animate.css create mode 100644 public/assets/css/bootstrap.min.css create mode 100644 public/assets/css/color.css create mode 100644 public/assets/css/magnific-popup.css create mode 100644 public/assets/css/main.css create mode 100644 public/assets/css/main.css.map create mode 100644 public/assets/css/meanmenu.css create mode 100644 public/assets/css/nice-select.css create mode 100644 public/assets/css/splitting.css create mode 100644 public/assets/css/swiper-bundle.min.css create mode 100644 public/assets/img/404.png create mode 100644 public/assets/img/about/01.jpg create mode 100644 public/assets/img/about/02.jpg create mode 100644 public/assets/img/about/03.jpg create mode 100644 public/assets/img/about/04.jpg create mode 100644 public/assets/img/about/about-shape-1.png create mode 100644 public/assets/img/about/about-shape-2.png create mode 100644 public/assets/img/about/about-shape-3.png create mode 100644 public/assets/img/about/about-shape-4.png create mode 100644 public/assets/img/about/about-shape-5.png create mode 100644 public/assets/img/about/author.png create mode 100644 public/assets/img/about/bar.png create mode 100644 public/assets/img/about/signature.png create mode 100644 public/assets/img/achivements-bg-shape.png create mode 100644 public/assets/img/achivements-image-2.jpg create mode 100644 public/assets/img/achivements-image.jpg create mode 100644 public/assets/img/achivements-shape.png create mode 100644 public/assets/img/border.png create mode 100644 public/assets/img/brand/brand-logo-2.png create mode 100644 public/assets/img/brand/brand-logo-3.png create mode 100644 public/assets/img/brand/brand-logo-4.png create mode 100644 public/assets/img/brand/brand-logo-5.png create mode 100644 public/assets/img/brand/brand-logo.png create mode 100644 public/assets/img/breadcrumb-bar.png create mode 100644 public/assets/img/breadcrumb-bg.jpg create mode 100644 public/assets/img/breadcrumb-image.png create mode 100644 public/assets/img/contact-bg.jpg create mode 100644 public/assets/img/contact-img-shape.png create mode 100644 public/assets/img/cta-bg-2.jpg create mode 100644 public/assets/img/cta-bg.jpg create mode 100644 public/assets/img/cta-img.png create mode 100644 public/assets/img/cta-shape.png create mode 100644 public/assets/img/engineer-holding.png create mode 100644 public/assets/img/faq/bg-shape.png create mode 100644 public/assets/img/footer/bg.jpg create mode 100644 public/assets/img/footer/gallery-1.jpg create mode 100644 public/assets/img/footer/gallery-2.jpg create mode 100644 public/assets/img/footer/gallery-3.jpg create mode 100644 public/assets/img/footer/gallery-4.jpg create mode 100644 public/assets/img/footer/gallery-5.jpg create mode 100644 public/assets/img/footer/gallery-6.jpg create mode 100644 public/assets/img/header/home-1.jpg create mode 100644 public/assets/img/header/home-2.jpg create mode 100644 public/assets/img/hero/01.jpg create mode 100644 public/assets/img/hero/02.jpg create mode 100644 public/assets/img/hero/hero-1.png create mode 100644 public/assets/img/hero/hero-2.png create mode 100644 public/assets/img/hero/hero-bg.jpg create mode 100644 public/assets/img/hero/line-shape.png create mode 100644 public/assets/img/hero/next.png create mode 100644 public/assets/img/hero/prev.png create mode 100644 public/assets/img/hero/vector-2.png create mode 100644 public/assets/img/hero/vector.png create mode 100644 public/assets/img/icon/01.svg create mode 100644 public/assets/img/icon/02.svg create mode 100644 public/assets/img/icon/03.svg create mode 100644 public/assets/img/icon/04.svg create mode 100644 public/assets/img/icon/05.svg create mode 100644 public/assets/img/icon/06.svg create mode 100644 public/assets/img/icon/07.svg create mode 100644 public/assets/img/icon/08.svg create mode 100644 public/assets/img/icon/09.svg create mode 100644 public/assets/img/icon/10.svg create mode 100644 public/assets/img/icon/11.svg create mode 100644 public/assets/img/icon/12.svg create mode 100644 public/assets/img/icon/13.svg create mode 100644 public/assets/img/icon/14.svg create mode 100644 public/assets/img/icon/15.svg create mode 100644 public/assets/img/icon/16.svg create mode 100644 public/assets/img/icon/17.svg create mode 100644 public/assets/img/icon/18.svg create mode 100644 public/assets/img/icon/19.svg create mode 100644 public/assets/img/icon/20.svg create mode 100644 public/assets/img/icon/21.svg create mode 100644 public/assets/img/icon/22.svg create mode 100644 public/assets/img/icon/23.svg create mode 100644 public/assets/img/icon/24.svg create mode 100644 public/assets/img/logo/black-logo.svg create mode 100644 public/assets/img/man.png create mode 100644 public/assets/img/minus.svg create mode 100644 public/assets/img/news/01.jpg create mode 100644 public/assets/img/news/02.jpg create mode 100644 public/assets/img/news/03.jpg create mode 100644 public/assets/img/news/04.jpg create mode 100644 public/assets/img/news/05.jpg create mode 100644 public/assets/img/news/06.jpg create mode 100644 public/assets/img/news/07.jpg create mode 100644 public/assets/img/news/08.jpg create mode 100644 public/assets/img/news/09.jpg create mode 100644 public/assets/img/news/author-1.png create mode 100644 public/assets/img/news/author-2.png create mode 100644 public/assets/img/news/author-3.png create mode 100644 public/assets/img/news/comment-1.png create mode 100644 public/assets/img/news/comment-2.png create mode 100644 public/assets/img/news/post-1.jpg create mode 100644 public/assets/img/news/post-2.jpg create mode 100644 public/assets/img/news/post-3.jpg create mode 100644 public/assets/img/news/post-4.jpg create mode 100644 public/assets/img/news/post-5.jpg create mode 100644 public/assets/img/news/post-6.jpg create mode 100644 public/assets/img/news/pp2.jpg create mode 100644 public/assets/img/news/pp3.jpg create mode 100644 public/assets/img/news/pp4.jpg create mode 100644 public/assets/img/news/shape-1.png create mode 100644 public/assets/img/news/shape-2.png create mode 100644 public/assets/img/news/shape-3.png create mode 100644 public/assets/img/news/shape-4.png create mode 100644 public/assets/img/plus.svg create mode 100644 public/assets/img/pricing-arrow-shape.png create mode 100644 public/assets/img/pricing-bg.jpg create mode 100644 public/assets/img/pricing-circle-shape.png create mode 100644 public/assets/img/pricing-shape.png create mode 100644 public/assets/img/project/01.jpg create mode 100644 public/assets/img/project/02.jpg create mode 100644 public/assets/img/project/03.jpg create mode 100644 public/assets/img/project/04.jpg create mode 100644 public/assets/img/project/05.jpg create mode 100644 public/assets/img/project/06.jpg create mode 100644 public/assets/img/project/07.jpg create mode 100644 public/assets/img/project/08.jpg create mode 100644 public/assets/img/project/09.jpg create mode 100644 public/assets/img/project/10.jpg create mode 100644 public/assets/img/project/11.jpg create mode 100644 public/assets/img/project/12.jpg create mode 100644 public/assets/img/project/13.jpg create mode 100644 public/assets/img/project/14.jpg create mode 100644 public/assets/img/project/15.jpg create mode 100644 public/assets/img/project/16.jpg create mode 100644 public/assets/img/project/17.jpg create mode 100644 public/assets/img/project/details-1.jpg create mode 100644 public/assets/img/project/details-2.jpg create mode 100644 public/assets/img/project/details-3.jpg create mode 100644 public/assets/img/project/shape.png create mode 100644 public/assets/img/service/01.jpg create mode 100644 public/assets/img/service/02.jpg create mode 100644 public/assets/img/service/03.jpg create mode 100644 public/assets/img/service/04.jpg create mode 100644 public/assets/img/service/05.jpg create mode 100644 public/assets/img/service/06.jpg create mode 100644 public/assets/img/service/07.jpg create mode 100644 public/assets/img/service/08.jpg create mode 100644 public/assets/img/service/bar.png create mode 100644 public/assets/img/service/bg-shape.png create mode 100644 public/assets/img/service/contact-bg.jpg create mode 100644 public/assets/img/service/details-1.jpg create mode 100644 public/assets/img/service/details-2.jpg create mode 100644 public/assets/img/service/items-shape.png create mode 100644 public/assets/img/service/logo.png create mode 100644 public/assets/img/service/service-bg.jpg create mode 100644 public/assets/img/skills/01.jpg create mode 100644 public/assets/img/skills/02.jpg create mode 100644 public/assets/img/skills/logo.png create mode 100644 public/assets/img/skills/shape-1.png create mode 100644 public/assets/img/skills/shape-2.png create mode 100644 public/assets/img/tag.png create mode 100644 public/assets/img/team/01.jpg create mode 100644 public/assets/img/team/02.jpg create mode 100644 public/assets/img/team/03.jpg create mode 100644 public/assets/img/team/04.jpg create mode 100644 public/assets/img/team/05.jpg create mode 100644 public/assets/img/team/06.jpg create mode 100644 public/assets/img/team/07.jpg create mode 100644 public/assets/img/team/08.jpg create mode 100644 public/assets/img/team/09.jpg create mode 100644 public/assets/img/team/10.jpg create mode 100644 public/assets/img/team/11.jpg create mode 100644 public/assets/img/team/12.jpg create mode 100644 public/assets/img/team/bg-shape.png create mode 100644 public/assets/img/team/details-1.jpg create mode 100644 public/assets/img/team/gallery-1.jpg create mode 100644 public/assets/img/team/gallery-2.jpg create mode 100644 public/assets/img/team/gallery-3.jpg create mode 100644 public/assets/img/team/shape-1.png create mode 100644 public/assets/img/team/shape-2.png create mode 100644 public/assets/img/testimonial/amazon.png create mode 100644 public/assets/img/testimonial/arrow-shape.png create mode 100644 public/assets/img/testimonial/building-shape.png create mode 100644 public/assets/img/testimonial/client-1.png create mode 100644 public/assets/img/testimonial/client-2.png create mode 100644 public/assets/img/testimonial/client-3.png create mode 100644 public/assets/img/testimonial/client-4.png create mode 100644 public/assets/img/testimonial/client-5.png create mode 100644 public/assets/img/testimonial/envato.png create mode 100644 public/assets/img/testimonial/shape-left.png create mode 100644 public/assets/img/testimonial/shape-right.png create mode 100644 public/assets/img/testimonial/testimonial-image.jpg create mode 100644 public/assets/img/track.png create mode 100644 public/assets/img/vector.png create mode 100644 public/assets/scss/_about.scss create mode 100644 public/assets/scss/_animation.scss create mode 100644 public/assets/scss/_brand.scss create mode 100644 public/assets/scss/_buttons.scss create mode 100644 public/assets/scss/_contact.scss create mode 100644 public/assets/scss/_cta.scss create mode 100644 public/assets/scss/_faq.scss create mode 100644 public/assets/scss/_feature.scss create mode 100644 public/assets/scss/_footer.scss create mode 100644 public/assets/scss/_header.scss create mode 100644 public/assets/scss/_helping.scss create mode 100644 public/assets/scss/_hero.scss create mode 100644 public/assets/scss/_meanmenu.scss create mode 100644 public/assets/scss/_mixins.scss create mode 100644 public/assets/scss/_news.scss create mode 100644 public/assets/scss/_preloader.scss create mode 100644 public/assets/scss/_pricing.scss create mode 100644 public/assets/scss/_project.scss create mode 100644 public/assets/scss/_section.scss create mode 100644 public/assets/scss/_service.scss create mode 100644 public/assets/scss/_team.scss create mode 100644 public/assets/scss/_testimonial.scss create mode 100644 public/assets/scss/_typography.scss create mode 100644 public/assets/scss/_variables.scss create mode 100644 public/assets/scss/custom.scss create mode 100644 public/assets/scss/main.scss create mode 100644 public/assets/scss/styles.scss create mode 100644 public/assets/webfonts/fa-brands-400.ttf create mode 100644 public/assets/webfonts/fa-brands-400.woff2 create mode 100644 public/assets/webfonts/fa-duotone-900.ttf create mode 100644 public/assets/webfonts/fa-duotone-900.woff2 create mode 100644 public/assets/webfonts/fa-light-300.ttf create mode 100644 public/assets/webfonts/fa-light-300.woff2 create mode 100644 public/assets/webfonts/fa-regular-400.ttf create mode 100644 public/assets/webfonts/fa-regular-400.woff2 create mode 100644 public/assets/webfonts/fa-solid-900.ttf create mode 100644 public/assets/webfonts/fa-solid-900.woff2 create mode 100644 public/assets/webfonts/fa-thin-100.ttf create mode 100644 public/assets/webfonts/fa-thin-100.woff2 create mode 100644 public/assets/webfonts/fa-v4compatibility.ttf create mode 100644 public/assets/webfonts/fa-v4compatibility.woff2 create mode 100644 utlis/addScrollSpy.js create mode 100644 utlis/scrollToElement.js create mode 100644 utlis/toggleMobilemenu.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd3dbb5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..0dc9ea2 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/app/(about)/about/page.jsx b/app/(about)/about/page.jsx new file mode 100644 index 0000000..78c517e --- /dev/null +++ b/app/(about)/about/page.jsx @@ -0,0 +1,85 @@ +import Achievments from "@/components/about/Achievments"; +import Team from "@/components/about/Team"; +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import About from "@/components/homes/home-1/About"; + +import Testimonials from "@/components/homes/home-1/Testimonials"; +import Image from "next/image"; +import Link from "next/link"; +import React from "react"; +export const metadata = { + title: "About || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; + +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ About Us +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • About Us
  • +
+
+
+ img +
+ img +
+
+
+
+
+ + + + + +
+ +
+ + + ); +} diff --git a/app/(blogs)/news-details/[id]/page.jsx b/app/(blogs)/news-details/[id]/page.jsx new file mode 100644 index 0000000..9f76e3d --- /dev/null +++ b/app/(blogs)/news-details/[id]/page.jsx @@ -0,0 +1,78 @@ +import BlogDetails from "@/components/blogs/BlogDetails"; +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import { allNews } from "@/data/blogs"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Blog Details || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page({ params }) { + const newsItem = + allNews.filter((elm) => elm.id == params.id)[0] || allNews[0]; + return ( + <> + +
+
+ img +
+
+
+
+
+

+ {newsItem.title} +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Blogs Details
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(blogs)/news-grid/page.jsx b/app/(blogs)/news-grid/page.jsx new file mode 100644 index 0000000..7db4144 --- /dev/null +++ b/app/(blogs)/news-grid/page.jsx @@ -0,0 +1,75 @@ +import Blogs from "@/components/blogs/Blogs"; +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Blog Grid || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Blogs Grid +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Blogs Grid
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(blogs)/news/page.jsx b/app/(blogs)/news/page.jsx new file mode 100644 index 0000000..cbf1e22 --- /dev/null +++ b/app/(blogs)/news/page.jsx @@ -0,0 +1,75 @@ +import Blogs2 from "@/components/blogs/Blogs2"; +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Blog Standard || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Blogs Standard +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Blogs Standard
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(contact)/contact/page.jsx b/app/(contact)/contact/page.jsx new file mode 100644 index 0000000..edec52d --- /dev/null +++ b/app/(contact)/contact/page.jsx @@ -0,0 +1,79 @@ +import Brands from "@/components/common/Brands"; +import ContactForm from "@/components/contact/ContactForm"; +import ContactInfo from "@/components/contact/ContactInfo"; +import Map from "@/components/contact/Map"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Contact || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Contact +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Contact
  • +
+
+
+ img +
+ img +
+
+
+
+
+ + + +
+ +
+ + + ); +} diff --git a/app/(homes)/home-1-one-page/page.jsx b/app/(homes)/home-1-one-page/page.jsx new file mode 100644 index 0000000..ec39abd --- /dev/null +++ b/app/(homes)/home-1-one-page/page.jsx @@ -0,0 +1,43 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header1Onepage from "@/components/headers/Header1Onepage"; +import HeaderTop1 from "@/components/headers/HeaderTop1"; +import About from "@/components/homes/home-1/About"; +import Blogs from "@/components/homes/home-1/Blogs"; + +import Contact from "@/components/homes/home-1/Contact"; +import Cta from "@/components/homes/home-1/Cta"; +import Faq from "@/components/homes/home-1/Faq"; +import Hero from "@/components/homes/home-1/Hero"; +import Projects from "@/components/homes/home-1/Projects"; +import Services from "@/components/homes/home-1/Services"; +import Skills from "@/components/homes/home-1/Skills"; +import Team from "@/components/homes/home-1/Team"; +import Testimonials from "@/components/homes/home-1/Testimonials"; +export const metadata = { + title: "Home 1 Onepage || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function Home() { + return ( + <> + + + + + + + + + + + + + +
+ +
+ + + ); +} diff --git a/app/(homes)/home-1/page.jsx b/app/(homes)/home-1/page.jsx new file mode 100644 index 0000000..f9b6781 --- /dev/null +++ b/app/(homes)/home-1/page.jsx @@ -0,0 +1,43 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header1 from "@/components/headers/Header1"; +import HeaderTop1 from "@/components/headers/HeaderTop1"; +import About from "@/components/homes/home-1/About"; +import Blogs from "@/components/homes/home-1/Blogs"; + +import Contact from "@/components/homes/home-1/Contact"; +import Cta from "@/components/homes/home-1/Cta"; +import Faq from "@/components/homes/home-1/Faq"; +import Hero from "@/components/homes/home-1/Hero"; +import Projects from "@/components/homes/home-1/Projects"; +import Services from "@/components/homes/home-1/Services"; +import Skills from "@/components/homes/home-1/Skills"; +import Team from "@/components/homes/home-1/Team"; +import Testimonials from "@/components/homes/home-1/Testimonials"; +export const metadata = { + title: "Home 1 || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function Home1() { + return ( + <> + + + + + + + + + + + + + +
+ +
+ + + ); +} diff --git a/app/(homes)/home-2-one-page/page.jsx b/app/(homes)/home-2-one-page/page.jsx new file mode 100644 index 0000000..46e72ab --- /dev/null +++ b/app/(homes)/home-2-one-page/page.jsx @@ -0,0 +1,63 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2Onepage from "@/components/headers/Header2Onepage"; +import About from "@/components/homes/home-2/About"; +import Achievements from "@/components/homes/home-2/Achievements"; +import Blogs from "@/components/homes/home-2/Blogs"; +import Cta from "@/components/homes/home-2/Cta"; +import Hero from "@/components/homes/home-2/Hero"; +import Pricing from "@/components/homes/home-2/Pricing"; +import Projects from "@/components/homes/home-2/Projects"; +import Team from "@/components/homes/home-2/Team"; +import Testimonials from "@/components/homes/home-2/Testimonials"; +import React from "react"; +import Image from "next/image"; +import Services from "@/components/homes/home-2/Services"; +export const metadata = { + title: "Home 2 Onepage || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> +
+ +
+ + + +
+ +
+ + +
+
+ img +
+
+ img +
+ +
+ + + + + + + ); +} diff --git a/app/(homes)/home-2/page.jsx b/app/(homes)/home-2/page.jsx new file mode 100644 index 0000000..fdb459f --- /dev/null +++ b/app/(homes)/home-2/page.jsx @@ -0,0 +1,61 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import About from "@/components/homes/home-2/About"; +import Achievements from "@/components/homes/home-2/Achievements"; +import Blogs from "@/components/homes/home-2/Blogs"; +import Cta from "@/components/homes/home-2/Cta"; +import Hero from "@/components/homes/home-2/Hero"; +import Pricing from "@/components/homes/home-2/Pricing"; +import Projects from "@/components/homes/home-2/Projects"; +import Team from "@/components/homes/home-2/Team"; +import Testimonials from "@/components/homes/home-2/Testimonials"; +import React from "react"; +import Image from "next/image"; +import Services from "@/components/homes/home-2/Services"; +export const metadata = { + title: "Home 2 || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + + + + +
+ +
+ + +
+
+ img +
+
+ img +
+ +
+ + + + + + + ); +} diff --git a/app/(othersPages)/404/page.jsx b/app/(othersPages)/404/page.jsx new file mode 100644 index 0000000..bccfcd1 --- /dev/null +++ b/app/(othersPages)/404/page.jsx @@ -0,0 +1,108 @@ +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Link from "next/link"; +import React from "react"; +import Image from "next/image"; +import AnimatedText from "@/components/common/AnimatedText"; +export const metadata = { + title: "404 || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Error Page +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Error Page
  • +
+
+
+ img +
+ img +
+
+
+
+
+
+
+
+
+
+
+ img +
+

+ + {" "} + + {" "} + +

+

+ The page you are looking for does not exist +

+ + Back to Home + + +
+
+
+
+
+ + + + ); +} diff --git a/app/(othersPages)/faq/page.jsx b/app/(othersPages)/faq/page.jsx new file mode 100644 index 0000000..64246dd --- /dev/null +++ b/app/(othersPages)/faq/page.jsx @@ -0,0 +1,77 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Faq from "@/components/homes/home-1/Faq"; +import Link from "next/link"; +import React from "react"; +import Image from "next/image"; +export const metadata = { + title: "Faq || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Faqs +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Faqs
  • +
+
+
+ img +
+ img +
+
+
+
+
+ + +
+ +
+ + + ); +} diff --git a/app/(othersPages)/pricing/page.jsx b/app/(othersPages)/pricing/page.jsx new file mode 100644 index 0000000..807cad5 --- /dev/null +++ b/app/(othersPages)/pricing/page.jsx @@ -0,0 +1,79 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Pricing from "@/components/homes/home-2/Pricing"; +import Link from "next/link"; +import React from "react"; +import Image from "next/image"; +export const metadata = { + title: "Pricing || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Pricing +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Pricing
  • +
+
+
+ img +
+ img +
+
+
+
+
+
+ +
+ +
+ +
+ + + ); +} diff --git a/app/(othersPages)/team-details/[id]/page.jsx b/app/(othersPages)/team-details/[id]/page.jsx new file mode 100644 index 0000000..6f49827 --- /dev/null +++ b/app/(othersPages)/team-details/[id]/page.jsx @@ -0,0 +1,79 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import TeamDetails from "@/components/team/TeamDetails"; +import Link from "next/link"; +import Image from "next/image"; +import { allTeammembers } from "@/data/team"; +export const metadata = { + title: "Team Details || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page({ params }) { + const teamMember = + allTeammembers.filter((elm) => elm.id == params.id)[0] || allTeammembers[0]; + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Team Details +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Team Details
  • +
+
+
+ img +
+ img +
+
+
+
+
+ + +
+ +
+ + + ); +} diff --git a/app/(othersPages)/team/page.jsx b/app/(othersPages)/team/page.jsx new file mode 100644 index 0000000..1529f75 --- /dev/null +++ b/app/(othersPages)/team/page.jsx @@ -0,0 +1,76 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Team from "@/components/team/Team"; +import Link from "next/link"; +import Image from "next/image"; +export const metadata = { + title: "Team || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Team +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Team
  • +
+
+
+ img +
+ img +
+
+
+
+
+ + +
+ +
+ + + ); +} diff --git a/app/(project)/project-details/[id]/page.jsx b/app/(project)/project-details/[id]/page.jsx new file mode 100644 index 0000000..22be038 --- /dev/null +++ b/app/(project)/project-details/[id]/page.jsx @@ -0,0 +1,78 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import ProjectDetails from "@/components/project/ProjectDetails"; +import Link from "next/link"; +import Image from "next/image"; +import { allProjects } from "@/data/projects"; +export const metadata = { + title: "Project Details || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page({ params }) { + const projectItem = + allProjects.filter((elm) => elm.id == params.id)[0] || allProjects[0]; + return ( + <> + +
+
+ img +
+
+
+
+
+

+ {projectItem.title} +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Project Details
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(project)/project/page.jsx b/app/(project)/project/page.jsx new file mode 100644 index 0000000..dd5608d --- /dev/null +++ b/app/(project)/project/page.jsx @@ -0,0 +1,76 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Projects from "@/components/project/Projects"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Project || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; + +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Project +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Project
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(service)/service-details/[id]/page.jsx b/app/(service)/service-details/[id]/page.jsx new file mode 100644 index 0000000..bb42587 --- /dev/null +++ b/app/(service)/service-details/[id]/page.jsx @@ -0,0 +1,78 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import ServiceDetails from "@/components/service/ServiceDetails"; +import { allServices } from "@/data/services"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Service Details || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page({ params }) { + const serviceItem = + allServices.filter((elm) => elm.id == params.id)[0] || allServices[0]; + return ( + <> + +
+
+ img +
+
+
+
+
+

+ {serviceItem.title} +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Service Details
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/(service)/service/page.jsx b/app/(service)/service/page.jsx new file mode 100644 index 0000000..a845905 --- /dev/null +++ b/app/(service)/service/page.jsx @@ -0,0 +1,76 @@ +import Brands from "@/components/common/Brands"; +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Services from "@/components/service/Services"; +import Image from "next/image"; +import Link from "next/link"; +export const metadata = { + title: "Service || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; + +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Services +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Services
  • +
+
+
+ img +
+ img +
+
+
+
+
+ +
+ +
+ + + ); +} diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c4091a5b3b4d6ab43e77d173ff1979bfd6f64de5 GIT binary patch literal 4286 zcmc&&dr%d16u$kPDOgh}f+%Jb&oD!@F*2uSnlj6*3{pw5%<{pb7^im`Vi7rIrPfqV z4q!HlGni;vN{aE)uwTtCYLMdx$|S;x9smb&+nYQF4raU z2@iMir>iK)<+{@4az)CLEmyKE?pq@FB4X`jZ@63tP`p0i=pR0Oy2Zfk0u8rit4Nrm zASzwKb&tBcU6E;S-1L+Z5c(0pU0ST;)+`mnr@Jv^nj3>3vR8;){aJ$_6dh;v4Bw*z zYj+q(&QuUeOgUp%svBdTR&f6-D&{QHknw>B*(?29FMQ(h+kUqSKpNup411ZsZo~@G{0?JN3w4r=#Et9q(+= zap;(iwZ%nPlADXAd3kudpa4xxP3`9d^2;fS@1*BdE6*oLebW~dLtK#lmWHbzuwxQ2 zL&28HHcXj(H~ROx6u|@fBP?_Xs;jC3fo*@L@@Fruml|cLih;oxHZ%;?)z!`;0bN&bH7wtg&vqZ^h&%Bg6Z;2A{fA0yMmYB0I|&0W z>xY3s128l+RPfKw{>5u_%lG3m6g2(ak?^eZMIY%%ny2CB1sWz~dr*@ls+j%H!g~y8VD%@_st=Z_rnE#%QKlN1=%ISUHHBA#)84D2~8;wyn z#9{21(b%zbH!@auku+b!xP=;S&(ZMX(GHy*o4Q`V{lUa7nW`1b2{rbJ=#JEHSJ;#C&CMsr^j?<%jGN9mdXA5F*c! z-&d9z7LPAmuUk2uD4circ;Deu#jQ0aZhTU7keXu66@6o1bCrn^;*;UR`z5%<_$Pk7u7{ zy{nzlskyls4Gj&}YHVzTqNr$Y0e)}xS?kzeKCo}~MA%c-Y%|1uo7YCkJd-TBLH>;t z4k-Pug9CbUE^BAsAunnqAF6-#o>9wP&tYw^++`bA-!q@mXXKG6 ziD_h-f;$(fs5^Y_Gw3(g0qcRb6W`H+{b29Gb3gCc)Z+G8J&QTSyh@s)KgzHN?lJ|tXZ~ohfUkrv)R8nFZGrj zZ1RD>9NDkvW5dFZs<03Zs zf-@=Kllof9_nQ`<5SRGuQLoE<+_^{ewGL&~CPvRytas3tR(q^>u)fCZd_Jk~v#$(r PPUEZ|h&bN^T&(NA%1H4+ literal 0 HcmV?d00001 diff --git a/app/layout.jsx b/app/layout.jsx new file mode 100644 index 0000000..a89e974 --- /dev/null +++ b/app/layout.jsx @@ -0,0 +1,63 @@ +"use client"; + +import { useEffect } from "react"; +import "../public/assets/scss/styles.scss"; +import BackToTop from "@/components/common/BackToTop"; +import Mouse from "@/components/common/Mouse"; +import { usePathname } from "next/navigation"; +import SearchWrap from "@/components/common/SearchWrap"; +import { ToastContainer } from "react-toastify"; + +export default function RootLayout({ children }) { + const path = usePathname(); + useEffect(() => { + window.addEventListener("scroll", function () { + const header = document.getElementById("header-sticky"); + if (window.scrollY > 250) { + header.classList.add("sticky"); + } else { + header.classList.remove("sticky"); + } + }); + + if (typeof window !== "undefined") { + // Import the script only on the client side + import("bootstrap/dist/js/bootstrap.esm").then(() => { + // Module is imported, you can access any exported functionality if + }); + } + }, []); + + useEffect(() => { + const { WOW } = require("wowjs"); + const wow = new WOW({ + animateClass: "animated", + offset: 100, + mobile: false, + live: false, + }); + wow.init(); + }, [path]); + + return ( + + + + {children} + + + + + + ); +} diff --git a/app/not-found.jsx b/app/not-found.jsx new file mode 100644 index 0000000..15cae63 --- /dev/null +++ b/app/not-found.jsx @@ -0,0 +1,108 @@ +import Footer1 from "@/components/footers/Footer1"; +import Header2 from "@/components/headers/Header2"; +import Link from "next/link"; +import React from "react"; +import Image from "next/image"; +import AnimatedText from "@/components/common/AnimatedText"; +export const metadata = { + title: "Not Found || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function page() { + return ( + <> + +
+
+ img +
+
+
+
+
+

+ Error Page +

+
+
    +
  • + Home +
  • +
  • + +
  • +
  • Error Page
  • +
+
+
+ img +
+ img +
+
+
+
+
+
+
+
+
+
+
+ img +
+

+ + {" "} + + {" "} + +

+

+ The page you are looking for does not exist +

+ + Back to Home + + +
+
+
+
+
+ + + + ); +} diff --git a/app/page.jsx b/app/page.jsx new file mode 100644 index 0000000..52a3f5a --- /dev/null +++ b/app/page.jsx @@ -0,0 +1,12 @@ +import Home1 from "./(homes)/home-1/page"; +export const metadata = { + title: "Home 1 || Xbuild - Constriction nextjs Template", + description: "Xbuild - Constriction nextjs Template", +}; +export default function Home() { + return ( + <> + + + ); +} diff --git a/components/about/Achievments.jsx b/components/about/Achievments.jsx new file mode 100644 index 0000000..52209b0 --- /dev/null +++ b/components/about/Achievments.jsx @@ -0,0 +1,109 @@ +import { achievements } from "@/data/facts"; +import Link from "next/link"; +import Image from "next/image"; +import AnimatedText from "../common/AnimatedText"; +export default function Achievments() { + return ( +
+
+
+
+ img +
+
+
+
+
+
+ ACHIVEMENTS + +
+

+
+ +

+
+ + MAKE AN APPOINTMENT + + +
+
+
+
+
+ img +
+
+ {achievements.slice(0, 2).map((elm, i) => ( +
+
+ img +
+
+

+ {elm.count}k+ +

+

{elm.description}

+
+
+ ))} +
+
+ {achievements.slice(2, 4).map((elm, i) => ( +
+
+ img +
+
+

+ {elm.count}k+ +

+

{elm.description}

+
+
+ ))} +
+
+
+
+
+
+
+ img +
+
+ ); +} diff --git a/components/about/Team.jsx b/components/about/Team.jsx new file mode 100644 index 0000000..7be24f3 --- /dev/null +++ b/components/about/Team.jsx @@ -0,0 +1,78 @@ +import { teamMembers2 } from "@/data/team"; +import Link from "next/link"; +import Image from "next/image"; +import AnimatedText from "../common/AnimatedText"; +export default function Team() { + return ( +
+
+ img +
+
+ img +
+
+
+
+ + our team members + +
+

+ +

+
+
+ {teamMembers2.map((member) => ( +
+
+
+ {member.socials.map((link, index) => ( + + + + ))} +
+
+ Team +
+
+
+ + {member.name} + +
+

{member.role}

+ + + +
+
+
+ ))} +
+
+
+ ); +} diff --git a/components/blogs/BlogDetails.jsx b/components/blogs/BlogDetails.jsx new file mode 100644 index 0000000..f8eb898 --- /dev/null +++ b/components/blogs/BlogDetails.jsx @@ -0,0 +1,245 @@ +"use client"; +import Image from "next/image"; +import Comments from "./Comments"; +import CommentForm from "./CommentForm"; +import { links, listItems, recentItems, socialLinks } from "@/data/blogs"; +import Link from "next/link"; +export default function BlogDetails({ newsItem }) { + return ( +
+
+
+
+
+
+
+
+
    +
  • + + By Admin +
  • +
  • + + 18 Dec, 2024 +
  • +
  • + + Technology +
  • +
+

{newsItem.title}

+

+ Consectetur adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore of magna aliqua. Ut enim ad + minim veniam, made of owl the quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea dolor commodo + consequat. Duis aute irure and dolor in reprehenderit. +

+

+ The is ipsum dolor sit amet consectetur adipiscing elit. + Fusce eleifend porta arcu In hac habitasse the is platea + augue thelorem turpoi dictumst. In lacus libero faucibus at + malesuada sagittis placerat eros sed istincidunt augue ac + ante rutrum sed the is sodales augue consequat. +

+

+ Nulla facilisi. Vestibulum tristique sem in eros eleifend + imperdiet. Donec quis convallis neque. In id lacus pulvinar + lacus, eget vulputate lectus. Ut viverra bibendum lorem, at + tempus nibh mattis in. Sed a massa eget lacus consequat + auctor. +

+
+

+ Pellentesque sollicitudin congue dolor non aliquam. Morbi + volutpat, nisi vel ultricies urnacondimentum, sapien neque + lobortis tortor, quis efficitur mi ipsum eu metus. + Praesent eleifend orci sit amet est vehicula. +

+ + + + +
+

+ Lorem ipsum dolor sit amet consectetur adipiscing elit Ut et + massa mi. Aliquam in hendrerit urna. Pellentesque sit amet + sapien fringilla, mattis ligula consectetur, ultrices + mauris. Maecenas vitae mattis tellus. Nullam quis imperdiet + augue. Vestibulum auctor ornare leo, non suscipit magna + interdum eu. Curabitur pellentesque nibh nibh, at maximus + ante fermentum sit amet. Pellentesque commodo lacus at + sodales sodales. Quisque sagittis orci ut diam condimentum, + vel euismod erat placerat. In iaculis arcu eros. +

+
+
+
+ img +
+
+
+
+ img +
+
+
+

+ Consectetur adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore of magna aliqua. Ut enim ad + minim veniam, made of owl the quis nostrud exercitation + ullamco laboris nisi ut aliquip ex ea dolor commodo + consequat. Duis aute irure and dolor in + reprehenderit.Consectetur adipisicing elit, sed do eiusmod + tempor incididunt ut labore et dolore of magna aliqua. Ut + enim ad minim veniam, made of owl the quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea dolor + commodo consequat. Duis aute irure and dolor in + reprehenderit. +

+
+
+
+
+
+ Tags: + Travel + Services + Agency +
+
+
+
+ Share: + {socialLinks.map((link, index) => ( + + + + ))} +
+
+
+
+
+

02 Comments

+
+ +
+
+

Leave a comments

+ +
+
+
+
+
+
+
+

Search

+
+
+
e.preventDefault()}> + + + +
+
+
+
+

Categories

+
+
+
    + {listItems.map((item, index) => ( +
  • + {item.text}{" "} + {item.count} +
  • + ))} +
+
+
+
+
+

Recent Post

+
+
+ {recentItems.map((item, index) => ( +
+
+ img +
+
+
    +
  • + + {item.date} +
  • +
+
+ +
+
+
+ ))} +
+
+
+
+

Popular Tag

+
+
+
+ {links.map((link, index) => ( + + {link.text} + + ))} +
+
+
+
+
+
+
+
+ ); +} diff --git a/components/blogs/Blogs.jsx b/components/blogs/Blogs.jsx new file mode 100644 index 0000000..527a05a --- /dev/null +++ b/components/blogs/Blogs.jsx @@ -0,0 +1,75 @@ +import React from "react"; +import Pagination from "../common/Pagination"; +import { newsItems3 } from "@/data/blogs"; +import Link from "next/link"; +import Image from "next/image"; +export default function Blogs() { + return ( +
+
+
+ {newsItems3.map((news) => ( +
+
+
+ {news.images.map((image, index) => ( + img + ))} +
+
+
    +
  • {news.category}
  • +
  • {news.date}
  • +
+

+ {news.title} +

+
+
+ img +
+
Admin
+

{news.author.name}

+
+
+ + Read More + +
+
+
+
+ ))} +
+
+
    + +
+
+
+
+ ); +} diff --git a/components/blogs/Blogs2.jsx b/components/blogs/Blogs2.jsx new file mode 100644 index 0000000..1804e5f --- /dev/null +++ b/components/blogs/Blogs2.jsx @@ -0,0 +1,231 @@ +"use client"; + +import { Swiper, SwiperSlide } from "swiper/react"; +import Pagination from "../common/Pagination"; +import { Autoplay, Navigation } from "swiper/modules"; +import Link from "next/link"; +import Image from "next/image"; +import ModalVideo from "react-modal-video"; +import { useState } from "react"; +import { links, listItems, newsItems4, recentItems } from "@/data/blogs"; + +export default function Blogs2() { + const [isOpen, setOpen] = useState(false); + const swiperOptions = { + // Corrected variable name from "newsPostPlider" + spaceBetween: 30, + speed: 2000, + loop: true, + autoplay: { + delay: 2000, + disableOnInteraction: false, + }, + modules: [Autoplay, Navigation], + navigation: { + nextEl: ".array-prev", + prevEl: ".array-next", + }, + }; + return ( + <> +
+
+
+
+
+ {newsItems4.map((item, index) => ( +
+ {item.type === "standard" && ( +
+ img +
+ )} + {item.type === "slider" && ( + <> +
+ + +
+ + {item.swiperSlides?.map((image, slideIndex) => ( + +
+ {`Slide +
+
+ ))} +
+ + )} + {item.type === "video" && ( + + )} +
+
    +
  • + + By Admin +
  • +
  • + + {item.date} +
  • +
  • + + {item.category} +
  • +
+

+ + {item.title} + +

+

{item.content}

+
+ + read more + +
+
+
+ ))} +
+
    + +
+
+
+
+
+
+
+
+

Search

+
+
+
e.preventDefault()}> + + + +
+
+
+
+

Categories

+
+
+
    + {listItems.map((item, index) => ( +
  • + {item.text}{" "} + {item.count} +
  • + ))} +
+
+
+
+
+

Recent Post

+
+
+ {recentItems.map((item, index) => ( +
+
+ img +
+
+
    +
  • + + {item.date} +
  • +
+
+ +
+
+
+ ))} +
+
+
+
+

Popular Tag

+
+
+
+ {links.map((link, index) => ( + + {link.text} + + ))} +
+
+
+
+
+
+
+
{" "} + setOpen(false)} + />{" "} + + ); +} diff --git a/components/blogs/CommentForm.jsx b/components/blogs/CommentForm.jsx new file mode 100644 index 0000000..3edc8cf --- /dev/null +++ b/components/blogs/CommentForm.jsx @@ -0,0 +1,44 @@ +"use client"; + +export default function CommentForm() { + return ( +
e.preventDefault()}> +
+
+
+ Your Name* + +
+
+
+
+ Your Email* + +
+
+
+
+ Message* +