From 65a1eb9fba65c84f92884307056d94daec808a77 Mon Sep 17 00:00:00 2001 From: Aditya-eddy Date: Mon, 28 Oct 2024 13:28:12 +0530 Subject: [PATCH 1/3] chore:adding new marquee and changing some button Signed-off-by: Aditya-eddy --- components/hero.tsx | 12 +++++++++++ components/trustedBy.tsx | 23 ++++++++++++++++++++++ public/images/users/GoogleStartupsSvgs.svg | 9 +++++++++ public/images/users/cncfSvg.svg | 9 +++++++++ public/images/users/g2review.svg | 9 +++++++++ public/images/users/gsocSvg.svg | 10 ++++++++++ 6 files changed, 72 insertions(+) create mode 100644 public/images/users/GoogleStartupsSvgs.svg create mode 100644 public/images/users/cncfSvg.svg create mode 100644 public/images/users/g2review.svg create mode 100644 public/images/users/gsocSvg.svg diff --git a/components/hero.tsx b/components/hero.tsx index e9df34e5..29d15210 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -16,6 +16,7 @@ export default function Hero() { {/* Illustration behind hero content */}
@@ -38,6 +40,16 @@ export default function Hero() { {/* Section header */}
+ +
+
+ Automate your integration tests now! + +
+
+

2 minutes to 90% test coverage! diff --git a/components/trustedBy.tsx b/components/trustedBy.tsx index 4991bda9..66f4970a 100644 --- a/components/trustedBy.tsx +++ b/components/trustedBy.tsx @@ -9,6 +9,10 @@ import NutanixLogo from "@/public/images/users/Nutanix_Logo.svg"; import LambdaTestTestimonial from "@/public/images/users/LambdaTest-320-180.png"; import LeadsquareTestimonial from "@/public/images/users/leadsquare.png"; import EdurekaTestimonial from "@/public/images/users/edureka_logo.png"; +import G2Reviews from "@/public/images/users/g2review.svg"; +import Google_For_Startups from "@/public/images/users/GoogleStartupsSvgs.svg"; +import CNCF from "@/public/images/users/cncfSvg.svg"; +import GSOC from "@/public/images/users/gsocSvg.svg"; import Marquee from "@/components/magicui/marquee"; const images = [ @@ -24,6 +28,12 @@ const images = [ { src: EdurekaTestimonial, alt: "Edureka Testimonial" }, ]; +const images_2 = [ + {src:G2Reviews,alt:"G2 Reviews"}, + {src:GSOC,alt:"Google Summer of Code"}, + {src:Google_For_Startups,alt:"Google for Startups"}, + {src:CNCF,alt:"Cloud Native Computing Foundation"}, +] export const TrustedBy = () => { return (

@@ -46,6 +56,19 @@ export const TrustedBy = () => { ))} + + + {images_2.map(({ src, alt }) => ( + + {alt} + + ))} +
); diff --git a/public/images/users/GoogleStartupsSvgs.svg b/public/images/users/GoogleStartupsSvgs.svg new file mode 100644 index 00000000..bffe5bdc --- /dev/null +++ b/public/images/users/GoogleStartupsSvgs.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/users/cncfSvg.svg b/public/images/users/cncfSvg.svg new file mode 100644 index 00000000..9fcf43d5 --- /dev/null +++ b/public/images/users/cncfSvg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/users/g2review.svg b/public/images/users/g2review.svg new file mode 100644 index 00000000..cc3bda6d --- /dev/null +++ b/public/images/users/g2review.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/users/gsocSvg.svg b/public/images/users/gsocSvg.svg new file mode 100644 index 00000000..3cffa0e6 --- /dev/null +++ b/public/images/users/gsocSvg.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file From ecb7759c44716b1ff9b09b7fcc6d913b4be0f3f6 Mon Sep 17 00:00:00 2001 From: Aditya-eddy Date: Wed, 30 Oct 2024 13:05:31 +0530 Subject: [PATCH 2/3] chore:adding new changes and making it responsive Signed-off-by: Aditya-eddy --- components/hero.tsx | 24 +++++++++++++++++++----- components/testimonial.tsx | 2 +- components/trustedBy.tsx | 4 ++-- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/components/hero.tsx b/components/hero.tsx index 29d15210..d7f022f4 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -41,11 +41,25 @@ export default function Hero() { {/* Section header */}
-
-
- Automate your integration tests now! -
diff --git a/components/testimonial.tsx b/components/testimonial.tsx index 7a6bd24c..4d9b8cd9 100644 --- a/components/testimonial.tsx +++ b/components/testimonial.tsx @@ -48,7 +48,7 @@ const Testimonial = ({ ); return ( -
+

" {content.split("").map((character, index) => { diff --git a/components/trustedBy.tsx b/components/trustedBy.tsx index 66f4970a..a5741e16 100644 --- a/components/trustedBy.tsx +++ b/components/trustedBy.tsx @@ -44,7 +44,7 @@ export const TrustedBy = () => {

{/* Marquee Component */} - + {images.map(({ src, alt }) => ( { ))} - + {images_2.map(({ src, alt }) => ( Date: Mon, 4 Nov 2024 18:05:24 +0530 Subject: [PATCH 3/3] chore:fixing lottie size Signed-off-by: Aditya-eddy --- components/LottiePlayer.tsx | 8 +- components/features.tsx | 426 ++++++++++++++++++------------------ components/hero.tsx | 4 +- components/testimonial.tsx | 2 +- 4 files changed, 221 insertions(+), 219 deletions(-) diff --git a/components/LottiePlayer.tsx b/components/LottiePlayer.tsx index 0685b97a..f0e6dbcb 100644 --- a/components/LottiePlayer.tsx +++ b/components/LottiePlayer.tsx @@ -1,14 +1,14 @@ import React from "react"; import { Player, Controls } from "@lottiefiles/react-lottie-player"; const LottiePlayer = ({VideoPath , className}:{VideoPath:any , className?:string}) => { - return ( + return (
- import("./LottiePlayer"), { ssr: false }); - gsap.registerPlugin(useGSAP); - gsap.registerPlugin(ScrollTrigger); - - const TestAndStubGenerationImage = () => { - return ( -
- {/* Features bg */} -
- -
- +"use client"; + +import React, {useRef} from "react"; +import testAndStubsGen from "@/public/images/TestGenHighlighted.json"; +import deDuplication from "@/public/images/CaptureAndReplayV2.json"; +import Link from "next/link"; +import gsap from "gsap"; // <-- import GSAP +import { useGSAP } from "@gsap/react"; // <-- import the hook +import { ScrollTrigger } from "gsap/all"; +import _ScrollTrigger from "gsap/ScrollTrigger"; +import FeaturesMobileView from "./FeatureMoblieView"; +import dynamic from "next/dynamic"; +const LottiePlayer = dynamic(() => import("./LottiePlayer"), { ssr: false }); +gsap.registerPlugin(useGSAP); +gsap.registerPlugin(ScrollTrigger); + +const TestAndStubGenerationImage = () => { + return ( +
+ {/* Features bg */} +
+
- ); - }; - - const TestDuplicationImage = () => { - return ( -
- {/* Features bg */} - {/*Element*/} - + +
+ ); +}; + +const TestDuplicationImage = () => { + return ( +
+ {/* Features bg */} +
+
- ); - }; - - - - - // const heightFix = () => { - // if (tabs.current && tabs.current.parentElement) - // tabs.current.parentElement.style.height = `${tabs.current.clientHeight}px`; - // }; - - - const TextSection = ({ - svg, - heading, - description, - btnDescription, - btnLink, - }: { - svg: any; - heading: string; - description: string; - btnDescription?: string; - btnLink?: any; - }) => { - return ( -
-
- {svg} -
-
- {heading} -
-
{description}
- {btnDescription && ( -
- - {btnDescription} - -
- )} + +
+ ); +}; + + + + + // const heightFix = () => { + // if (tabs.current && tabs.current.parentElement) + // tabs.current.parentElement.style.height = `${tabs.current.clientHeight}px`; + // }; + + +const TextSection = ({ + svg, + heading, + description, + btnDescription, + btnLink, +}: { + svg: any; + heading: string; + description: string; + btnDescription?: string; + btnLink?: any; +}) => { + return ( +
+
+ {svg}
- ); - }; +
+ {heading} +
+
{description}
+ {btnDescription && ( +
+ + {btnDescription} + +
+ )} +
+ ); +}; - export default function Features() { - const container = useRef(null); +export default function Features() { + const container = useRef(null); - useGSAP( - () => { - const details: any = gsap.utils.toArray(".detail"); +useGSAP( + () => { + const details: any = gsap.utils.toArray(".detail"); - const images: any = gsap.utils.toArray(".imageToShow"); + const images: any = gsap.utils.toArray(".imageToShow"); - gsap.set(images[1], { opacity: 0 }); + gsap.set(images[1], { opacity: 0 }); - ScrollTrigger.create({ - trigger: ".content-container", - start: "top top", - end: "bottom bottom", - pin: ".right-content", - }); + ScrollTrigger.create({ + trigger: ".content-container", + start: "top top", + end: "bottom bottom", + pin: ".right-content", + }); - ScrollTrigger.create({ - trigger: ".content-container", - start: "top top", - end: "bottom bottom", - pin: ".heading-text", - }); + ScrollTrigger.create({ + trigger: ".content-container", + start: "top top", + end: "bottom bottom", + pin: ".heading-text", + }); - details.forEach((detail: any) => { - gsap.set(detail, { opacity: 1 }); - - ScrollTrigger.create({ - trigger: detail, - start: "top 20%", - end: "center center", - onEnter: () => gsap.set(detail, { opacity: 0 }), - onLeaveBack: () => gsap.set(detail, { opacity: 1 }), - scrub: 1, - }); - }); + details.forEach((detail: any) => { + gsap.set(detail, { opacity: 1 }); - gsap.to(images[0], { - scrollTrigger: { - trigger: details[1], - start: "center center", - end: "center center", - scrub: 1, - }, - opacity: 0, - }); - gsap.to(images[1], { - scrollTrigger: { - trigger: details[1], - start: "center center", - end: "center center", - scrub: 1, - }, - opacity: 1, + ScrollTrigger.create({ + trigger: detail, + start: "top 20%", + end: "center center", + onEnter: () => gsap.set(detail, { opacity: 0 }), + onLeaveBack: () => gsap.set(detail, { opacity: 1 }), + scrub: 1, }); - }, - { scope: container } - ); - - return ( - <> - -
-
-

- Keploy for Developers -

-

- smart API testing, capture network calls and generate tests with stubs -

-
-
-
-
- - - - } - heading={"Record Replay API Flows"} - description=" Record and replay complex, distributed API flows as mocks and stubs. It's like time machine for tests!" - btnDescription="Explore More" - btnLink="https://keploy.io/docs/keploy-explained/introduction/" - /> -
-
- - - - } - heading={"Find Duplicate Tests"} - description="Find redundant tests that doesn't add to the test coverage. Automatically detect and remove duplicate tests, ideal for big-teams crowd-sourcing tests." - btnDescription="Explore More" - btnLink="https://keploy.io/docs/keploy-cloud/deduplication/" - /> -
-
- - - - } - heading={"Works with JUnit, PyTest, Jest, Go-Test in CI/CD"} - description="Merge Keploy tests coverage with unit testing libraries for combined test coverage gating in CI/CD pipelines like Jenkins, Github Actions." - btnDescription="Explore More" - btnLink=" https://keploy.io/docs/server/sdk-installation/go/" - /> -
+ }); + + gsap.to(images[0], { + scrollTrigger: { + trigger: details[1], + start: "center center", + end: "center center", + scrub: 1, + }, + opacity: 0, + }); + gsap.to(images[1], { + scrollTrigger: { + trigger: details[1], + start: "center center", + end: "center center", + scrub: 1, + }, + opacity: 1, + }); + }, + { scope: container } +); + + return ( + <> + +
+
+

+ Keploy for Developers +

+

+ smart API testing, capture network calls and generate tests with stubs +

+
+
+
+
+ + + + } + heading={"Record Replay API Flows"} + description=" Record and replay complex, distributed API flows as mocks and stubs. It's like time machine for tests!" + btnDescription="Explore More" + btnLink="https://keploy.io/docs/keploy-explained/introduction/" + /> +
+
+ + + + } + heading={"Find Duplicate Tests"} + description="Find redundant tests that doesn't add to the test coverage. Automatically detect and remove duplicate tests, ideal for big-teams crowd-sourcing tests." + btnDescription="Explore More" + btnLink="https://keploy.io/docs/keploy-cloud/deduplication/" + />
-
- - +
+ + + + } + heading={"Works with JUnit, PyTest, Jest, Go-Test in CI/CD"} + description="Merge Keploy tests coverage with unit testing libraries for combined test coverage gating in CI/CD pipelines like Jenkins, Github Actions." + btnDescription="Explore More" + btnLink=" https://keploy.io/docs/server/sdk-installation/go/" + />
-
- - ); - } \ No newline at end of file +
+ + +
+
+
+ + ); +} \ No newline at end of file diff --git a/components/hero.tsx b/components/hero.tsx index abd24ae9..9e43ade9 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -87,7 +87,7 @@ export default function Hero() { > Open Source Platform for converting API calls to Test Cases with Data Mocks

-
{/* Wrapping Link with NeonButton */} @@ -103,7 +103,7 @@ export default function Hero() {
{/* Wrapping Link with NeonButton */} Sign In to Keploy Console diff --git a/components/testimonial.tsx b/components/testimonial.tsx index 4d9b8cd9..7a6bd24c 100644 --- a/components/testimonial.tsx +++ b/components/testimonial.tsx @@ -48,7 +48,7 @@ const Testimonial = ({ ); return ( -
+

" {content.split("").map((character, index) => {