diff --git a/public/images/data/testimonials/dext-by-iris.png b/public/images/data/testimonials/dext-by-iris.png new file mode 100644 index 0000000..fd8fc96 Binary files /dev/null and b/public/images/data/testimonials/dext-by-iris.png differ diff --git a/src/data/home/testimonials/enterprise-fortigate-migration.md b/src/data/home/testimonials/enterprise-fortigate-migration.md new file mode 100644 index 0000000..0b4cc06 --- /dev/null +++ b/src/data/home/testimonials/enterprise-fortigate-migration.md @@ -0,0 +1,6 @@ +--- +title: Dimitar D. +subtitle: Director of IT Infrastructure +--- + +Defguard may be a young product, but it already outperforms most commercial VPN solutions we evaluated. We migrated 300–400 employees from FortiGate and saw immediate gains in speed, security, and user experience, all at a lower cost. What stood out was the modern, open foundation built on WireGuard and Rust, plus seamless SSO enrollment through Google Workspace. Early onboarding UX had a few rough edges, but the team moved fast on our feedback, releasing updates that made adoption smooth. Today, it's a mature zero-trust compliant platform backed by a responsive team. diff --git a/src/pages/_home/components/client-side/Testimonials/Testimonials.tsx b/src/pages/_home/components/client-side/Testimonials/Testimonials.tsx index daefc3d..aa24d4e 100644 --- a/src/pages/_home/components/client-side/Testimonials/Testimonials.tsx +++ b/src/pages/_home/components/client-side/Testimonials/Testimonials.tsx @@ -62,22 +62,26 @@ const Testimonial = ({ data }: TestimonialProps) => {
-
- person image -
-
- logo image -
+ {data.imagePrimary && ( +
+ person image +
+ )} + {data.imageSecondary && ( +
+ logo image +
+ )}
diff --git a/src/pages/_home/components/client-side/Testimonials/type.ts b/src/pages/_home/components/client-side/Testimonials/type.ts index 1546c20..0feecd9 100644 --- a/src/pages/_home/components/client-side/Testimonials/type.ts +++ b/src/pages/_home/components/client-side/Testimonials/type.ts @@ -3,8 +3,8 @@ import { z } from "zod"; export const testimonialSchema = z.object({ title: z.string().min(1), subtitle: z.string().optional(), - imagePrimary: z.string().min(1), - imageSecondary: z.string().min(1), + imagePrimary: z.string().min(1).optional(), + imageSecondary: z.string().min(1).optional(), markdownRaw: z.string().optional(), }); diff --git a/src/pages/_home/components/client-side/TestimonialsGrid/TestimonialsGrid.astro b/src/pages/_home/components/client-side/TestimonialsGrid/TestimonialsGrid.astro index 08e8778..b00d276 100644 --- a/src/pages/_home/components/client-side/TestimonialsGrid/TestimonialsGrid.astro +++ b/src/pages/_home/components/client-side/TestimonialsGrid/TestimonialsGrid.astro @@ -17,26 +17,25 @@ const { data } = Astro.props;
"
-
- logo image -
+ {testimonial.imageSecondary && ( +
+ logo image +
+ )}
-
+
{testimonial.markdownRaw ? ( ) : (

No content available

)}
-
{testimonial.title}
@@ -52,7 +51,7 @@ const { data } = Astro.props; - - diff --git a/src/pages/index.astro b/src/pages/index.astro index 728161e..4781191 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -31,6 +31,14 @@ const testimonialsData: Array = testimonialsImportData.map((val return res; }); +// Swap placement of Dimitar D. and Jan Zajc (Sipro) testimonials +const enterpriseIdx = testimonialsData.findIndex((t) => t.title === "Dimitar D."); +const siproIdx = testimonialsData.findIndex((t) => t.title === "Jan Zajc"); +if (enterpriseIdx !== -1 && siproIdx !== -1) { + [testimonialsData[enterpriseIdx], testimonialsData[siproIdx]] = + [testimonialsData[siproIdx], testimonialsData[enterpriseIdx]]; +} + const title = "defguard - Zero-Trust WireGuard® 2FA/MFA VPN"; const featuredImage = "github.com/DefGuard/defguard.github.io/raw/main/public/images/product/core/hero-image.png";