Skip to content

Commit 92255af

Browse files
authored
Add: Add Voxa to the product list page (#130)
1 parent 4abe2c2 commit 92255af

File tree

10 files changed

+84
-56
lines changed

10 files changed

+84
-56
lines changed

app/[lang]/(hyperjump)/data.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ type Content = {
367367
backgroundImageUrl: string;
368368
clients: { imageUrl: string; name: string }[];
369369
} & ListSection;
370-
ourProduct: {
370+
products: {
371371
slug: string;
372372
title: string;
373373
description: string;
@@ -505,7 +505,7 @@ export function services(lang: SupportedLanguage): Service[] {
505505
aiWhyUsReasons2(lang)
506506
]
507507
},
508-
ourProduct: []
508+
products: []
509509
},
510510
description: aiDescription(lang),
511511
iconUrl: `/images/services/${ServiceSlug.InferenceAI}/icon.svg`,
@@ -619,7 +619,7 @@ export function services(lang: SupportedLanguage): Service[] {
619619
erpWhyUsReasons2(lang)
620620
]
621621
},
622-
ourProduct: []
622+
products: []
623623
},
624624
description: erpDescription(lang),
625625
iconUrl: `/images/services/${ServiceSlug.ErpImplementation}/icon.svg`,
@@ -758,7 +758,7 @@ export function services(lang: SupportedLanguage): Service[] {
758758
ctoaasWhyUsReasons3(lang)
759759
]
760760
},
761-
ourProduct: []
761+
products: []
762762
},
763763
description: ctoaasDescription(lang),
764764
iconUrl: `/images/services/${ServiceSlug.CtoAsAService}/icon.svg`,
@@ -879,7 +879,7 @@ export function services(lang: SupportedLanguage): Service[] {
879879
saasWhyUsReasons2(lang)
880880
]
881881
},
882-
ourProduct: []
882+
products: []
883883
},
884884
description: saasDescription(lang),
885885
iconUrl: `/images/services/${ServiceSlug.SoftwareAsAService}/icon.svg`,
@@ -1009,7 +1009,7 @@ export function services(lang: SupportedLanguage): Service[] {
10091009
tddWhyUsReasons2(lang)
10101010
]
10111011
},
1012-
ourProduct: []
1012+
products: []
10131013
},
10141014
description: tddDescription(lang),
10151015
iconUrl: `/images/services/${ServiceSlug.TechDueDiligence}/icon.svg`,

app/[lang]/(hyperjump)/products/data.ts

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,63 @@
11
import {
2-
mainProject0Text,
3-
mainProject0Title,
4-
mainProject2Text,
5-
mainProject2Title,
6-
ourProductsCommercialData1Text,
7-
ourProductsCommercialData1Title,
8-
ourProductsCommercialData2Text,
9-
ourProductsCommercialData2Title,
10-
ourProductsCommercialData3Text,
11-
ourProductsCommercialData3Title
2+
productsOpenSourceData1Text,
3+
productsOpenSourceData1Title,
4+
productsOpenSourceData2Text,
5+
productsOpenSourceData2Title,
6+
productsOpenSourceData3Title,
7+
productsOpenSourceData3Text,
8+
productsCommercialData1Text,
9+
productsCommercialData1Title,
10+
productsCommercialData2Text,
11+
productsCommercialData2Title,
12+
productsCommercialData3Text,
13+
productsCommercialData3Title
1214
} from "@/locales/.generated/server";
1315
import type { SupportedLanguage } from "@/locales/.generated/types";
1416

1517
export function getCommercialProduct(lang: SupportedLanguage) {
1618
return [
1719
{
18-
title: ourProductsCommercialData2Title(lang),
19-
description: ourProductsCommercialData2Text(lang),
20+
title: productsCommercialData2Title(lang),
21+
description: productsCommercialData2Text(lang),
2022
image: "/images/products/media-pulse.svg"
2123
},
2224
{
23-
title: ourProductsCommercialData1Title(lang),
24-
description: ourProductsCommercialData1Text(lang),
25+
title: productsCommercialData1Title(lang),
26+
description: productsCommercialData1Text(lang),
2527
image: "/images/products/startGPT.svg"
2628
},
29+
2730
{
28-
title: ourProductsCommercialData3Title(lang),
29-
description: ourProductsCommercialData3Text(lang),
30-
image: "/images/open-source/monika.svg",
31-
url: "https://monika.hyperjump.tech/",
32-
repoUrl: "https://github.com/hyperjumptech/monika",
33-
button: true,
34-
repo: "monika"
31+
title: productsCommercialData3Title(lang),
32+
description: productsCommercialData3Text(lang),
33+
image: "/images/products/voxa.svg"
3534
}
3635
];
3736
}
3837

3938
export function getOpenSource(lang: SupportedLanguage) {
4039
return [
4140
{
42-
title: mainProject0Title(lang),
43-
description: mainProject0Text(lang),
41+
title: productsOpenSourceData1Title(lang),
42+
description: productsOpenSourceData1Text(lang),
43+
image: "/images/open-source/monika.svg",
44+
url: "https://monika.hyperjump.tech/",
45+
repoUrl: "https://github.com/hyperjumptech/monika",
46+
button: true,
47+
repo: "monika"
48+
},
49+
{
50+
title: productsOpenSourceData2Title(lang),
51+
description: productsOpenSourceData2Text(lang),
4452
image: "/images/open-source/grule.svg",
4553
url: "https://github.com/hyperjumptech/grule-rule-engine",
4654
repoUrl: "https://github.com/hyperjumptech/grule-rule-engine",
4755
button: true,
4856
repo: "grule-rule-engine"
4957
},
5058
{
51-
title: mainProject2Title(lang),
52-
description: mainProject2Text(lang),
59+
title: productsOpenSourceData3Title(lang),
60+
description: productsOpenSourceData3Text(lang),
5361
image: "/images/open-source/whatsapp-chatbot-connector.svg",
5462
url: "https://github.com/hyperjumptech/whatsapp-chatbot-connector",
5563
repoUrl: "https://github.com/hyperjumptech/whatsapp-chatbot-connector",

app/[lang]/(hyperjump)/products/page.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import {
33
type SupportedLanguage
44
} from "@/locales/.generated/types";
55
import {
6-
ourProductsHeroDesc,
7-
ourProductsHeroHeading
6+
productsHeroDesc,
7+
productsHeroHeading
88
} from "@/locales/.generated/server";
99
import { Metadata } from "next";
1010
import { dynamicOpengraph } from "@/lib/default-metadata";
@@ -15,18 +15,18 @@ export const generateStaticParams = async () => {
1515
return supportedLanguages.map((lang) => ({ lang }));
1616
};
1717

18-
type OurProductsProps = {
18+
type productsProps = {
1919
params: Promise<{ lang: SupportedLanguage }>;
2020
};
2121

2222
export async function generateMetadata({
2323
params
24-
}: OurProductsProps): Promise<Metadata> {
24+
}: productsProps): Promise<Metadata> {
2525
const { lang } = await params;
2626

2727
const meta = {
28-
title: `Our Products - ${ourProductsHeroHeading(lang)}`,
29-
description: ourProductsHeroDesc(lang),
28+
title: `Our Products - ${productsHeroHeading(lang)}`,
29+
description: productsHeroDesc(lang),
3030
alternates: {
3131
canonical: `https://hyperjump.tech/${lang}/products`,
3232
languages: supportedLanguages.reduce(
@@ -42,7 +42,7 @@ export async function generateMetadata({
4242
return dynamicOpengraph(meta);
4343
}
4444

45-
export default async function OurProductsPage({ params }: OurProductsProps) {
45+
export default async function productsPage({ params }: productsProps) {
4646
const { lang } = await params;
4747

4848
return (
@@ -65,11 +65,11 @@ function Hero({ lang }: { lang: SupportedLanguage }) {
6565
<h1
6666
className="text-hyperjump-black mb-4 text-3xl font-medium sm:text-4xl md:text-[40px]"
6767
dangerouslySetInnerHTML={{
68-
__html: ourProductsHeroHeading(lang)
68+
__html: productsHeroHeading(lang)
6969
}}
7070
/>
7171
<p className="text-hyperjump-gray text-base sm:text-lg">
72-
{ourProductsHeroDesc(lang)}
72+
{productsHeroDesc(lang)}
7373
</p>
7474
</div>
7575
</section>

app/[lang]/(hyperjump)/services/[slug]/page.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import {
1717
servicesCaseStudies,
1818
caseStudyButton,
1919
aiLearnMore,
20-
aiOurProductsTitle,
21-
aiOurProductsDescription
20+
aiProductsTitle,
21+
aiProductsDescription
2222
} from "@/locales/.generated/server";
2323

2424
import type { CaseStudy, Service } from "../../data";
@@ -86,7 +86,7 @@ export default async function ServiceDetail({ params }: ServiceDetailProps) {
8686
<About service={service} />
8787
<WhoIsIt lang={lang} service={service} />
8888
<WhatWeDeliver lang={lang} service={service} />
89-
<OurProduct lang={lang} service={service} />
89+
<Product lang={lang} service={service} />
9090
<HowItWorks lang={lang} service={service} />
9191
<WhatYouGet lang={lang} service={service} />
9292
<WhyUs lang={lang} service={service} />
@@ -450,23 +450,23 @@ function Recommendation({ caseStudies, lang }: RecommendationProps) {
450450
);
451451
}
452452

453-
function OurProduct({ lang, service }: LangProps & ServiceProps) {
454-
if (!service.content?.ourProduct || service.content.ourProduct.length === 0) {
453+
function Product({ lang, service }: LangProps & ServiceProps) {
454+
if (!service.content?.products || service.content.products.length === 0) {
455455
return null;
456456
}
457457

458458
return (
459459
<section className="flex bg-white px-4 py-8 md:px-20 md:py-16">
460460
<div className="mx-auto flex w-full flex-col items-center md:max-w-4xl">
461461
<h2 className="text-hyperjump-black max-w-3/4 text-center text-[34px] font-medium md:text-[40px]">
462-
{aiOurProductsTitle(lang)}
462+
{aiProductsTitle(lang)}
463463
</h2>
464464
<p
465465
className="text-hyperjump-gray mt-2 mb-10 text-center md:max-w-xl"
466-
dangerouslySetInnerHTML={{ __html: aiOurProductsDescription(lang) }}
466+
dangerouslySetInnerHTML={{ __html: aiProductsDescription(lang) }}
467467
/>
468468
<div className="mt-5 grid gap-6 md:grid-cols-2">
469-
{service.content.ourProduct.map(
469+
{service.content.products.map(
470470
({ description, slug, title, basePath }) => (
471471
<div
472472
key={slug}

app/components/grid-items.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import type { SupportedLanguage } from "@/locales/.generated/types";
2020
import {
2121
mainCaseStudiesButton,
2222
mainSeeMore,
23-
ourProductsLearnMore
23+
productsLearnMore
2424
} from "@/locales/.generated/server";
2525

2626
type GridItemsTitleProps = {
@@ -284,7 +284,7 @@ export function GridItems({
284284
asChild
285285
variant="outline"
286286
className="text-hyperjump-blue hover:bg-hyperjump-blue w-full border-gray-300 hover:text-white">
287-
<Link href={urlLearnMore}>{ourProductsLearnMore(lang)}</Link>
287+
<Link href={urlLearnMore}>{productsLearnMore(lang)}</Link>
288288
</Button>
289289
)}
290290

locales/en/ai.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
}
100100
},
101101
"learn_more": "Learn More",
102-
"our_products": {
102+
"products": {
103103
"title": "Our Products",
104104
"description": "Innovative products tailored to support your goals and scale with your needs."
105105
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"text": "MediaPulse is your always-on AI analyst — cutting through market noise to give you clarity, context, and confidence. Stay informed. Stay ahead."
1717
},
1818
"3": {
19-
"title": "Monika",
20-
"text": "Monika is a command line application to monitor every part of your web app using a simple JSON configuration file. Get alert not only when your site is down but also when it's slow."
19+
"title": "Voxa",
20+
"text": "Short description: Voxa helps you reach prospects over the phone with natural AI voices, smart lead targeting, and automated call flows."
2121
}
2222
}
2323
},

locales/id/ai.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
}
100100
},
101101
"learn_more": "Pelajari Lebih Lanjut",
102-
"our_products": {
102+
"products": {
103103
"title": "Produk Kami",
104104
"description": "Produk inovatif yang dirancang untuk mendukung tujuan Anda dan berkembang sesuai kebutuhan Anda."
105105
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"text": "MediaPulse adalah analis AI Anda yang selalu aktif — memotong kebisingan pasar untuk memberi Anda kejelasan, konteks, dan kepercayaan diri. Tetap terinformasi. Tetap unggul."
1717
},
1818
"3": {
19-
"title": "Monika",
20-
"text": "Monika adalah aplikasi command line untuk memantau setiap bagian dari web app Anda menggunakan konfigurasi JSON sederhana. Dapatkan peringatan tidak hanya saat situs Anda down tetapi juga saat lambat."
19+
"title": "Voxa",
20+
"text": "Deskripsi singkat: Voxa membantu Anda menjangkau prospek melalui panggilan telepon dengan suara AI yang natural, penargetan prospek cerdas, dan alur panggilan otomatis."
2121
}
2222
}
2323
},

0 commit comments

Comments
 (0)