@@ -3,7 +3,9 @@ import Glow from '@/components/site/glow';
|
||||
import Icon from '@/components/site/icon';
|
||||
import Pill from '@/components/site/pill';
|
||||
import Section from '@/components/site/section';
|
||||
import { common } from '@/content/common';
|
||||
import { company, offices } from '@/data/site';
|
||||
import { useContent } from '@/hooks/use-locale';
|
||||
|
||||
type ConsultationSectionProps = {
|
||||
id: string;
|
||||
@@ -17,6 +19,7 @@ export default function ConsultationSection({
|
||||
title,
|
||||
description,
|
||||
}: ConsultationSectionProps) {
|
||||
const t = useContent(common);
|
||||
const contacts = offices.map((office) => ({
|
||||
icon: office.icon,
|
||||
title: office.name,
|
||||
@@ -24,7 +27,7 @@ export default function ConsultationSection({
|
||||
office.building,
|
||||
`${office.street}, ${office.area}`,
|
||||
office.city,
|
||||
`Telp: ${office.phone.label}`,
|
||||
`${t.consultation.tel}: ${office.phone.label}`,
|
||||
],
|
||||
}));
|
||||
|
||||
@@ -39,7 +42,7 @@ export default function ConsultationSection({
|
||||
<div className="grid grid-cols-1 items-center gap-10 lg:grid-cols-12">
|
||||
<div className="flex flex-col gap-6 lg:col-span-7">
|
||||
<Pill tone="brand" icon="verified_user">
|
||||
KONSULTASI TEKNIS & AUDIT INFRASTRUKTUR
|
||||
{t.consultation.badge}
|
||||
</Pill>
|
||||
<div className="flex flex-col gap-3">
|
||||
<h2 className="font-display text-on-surface lg:text-headline-xl text-3xl leading-tight font-extrabold tracking-tight">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import FeatureCard from '@/components/site/feature-card';
|
||||
import { officialServices } from '@/data/site';
|
||||
import { common } from '@/content/common';
|
||||
import { useContent } from '@/hooks/use-locale';
|
||||
|
||||
type ServiceGridProps = {
|
||||
/** `summary` for overviews, `description` for the official wording. */
|
||||
@@ -8,16 +9,18 @@ type ServiceGridProps = {
|
||||
|
||||
/** The eight official PAJ services as a 4-column card grid. */
|
||||
export default function ServiceGrid({ detail = 'summary' }: ServiceGridProps) {
|
||||
const t = useContent(common);
|
||||
|
||||
return (
|
||||
<div className="grid grid-cols-1 gap-5 md:grid-cols-2 lg:grid-cols-4">
|
||||
{officialServices.map((service, index) => {
|
||||
{t.services.map((service, index) => {
|
||||
const number = String(index + 1).padStart(2, '0');
|
||||
|
||||
return (
|
||||
<FeatureCard
|
||||
key={service.title}
|
||||
icon={service.icon}
|
||||
tag={`${number} / JASA RESMI`}
|
||||
tag={`${number} / ${t.serviceTag}`}
|
||||
title={`${index + 1}. ${service.title}`}
|
||||
description={
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user