Update Konten & bahasa
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-09-28 16:48:14 +07:00
parent 566275348c
commit 183f36f634
29 changed files with 3285 additions and 1427 deletions
+19 -12
View File
@@ -4,12 +4,16 @@ import Brand from '@/components/site/brand';
import { ButtonLink } from '@/components/site/button';
import Container from '@/components/site/container';
import Icon from '@/components/site/icon';
import LanguageToggle from '@/components/site/language-toggle';
import ThemeToggle from '@/components/site/theme-toggle';
import { common } from '@/content/common';
import { company, consultationUrl, navigation, offices } from '@/data/site';
import { useCurrentUrl } from '@/hooks/use-current-url';
import { useContent } from '@/hooks/use-locale';
import { cn } from '@/lib/utils';
export default function SiteHeader() {
const t = useContent(common);
const { isCurrentUrl } = useCurrentUrl();
const [menuOpen, setMenuOpen] = useState(false);
const closeMenu = () => setMenuOpen(false);
@@ -20,12 +24,12 @@ export default function SiteHeader() {
<Brand />
<nav
aria-label="Navigasi utama"
aria-label={t.header.mainNav}
className="hidden items-center gap-8 lg:flex"
>
{navigation.map((item) => (
<Link
key={item.label}
key={item.key}
href={item.href}
className={cn(
'hover:border-primary hover:text-on-surface border-b-2 pb-1 text-sm font-medium transition-all',
@@ -34,12 +38,12 @@ export default function SiteHeader() {
: 'text-on-surface-variant border-transparent',
)}
>
{item.label}
{t.nav[item.key]}
</Link>
))}
</nav>
<div className="flex items-center gap-3">
<div className="flex items-center gap-2 sm:gap-3">
<div className="text-on-surface-variant hidden flex-col text-right font-mono text-[11px] 2xl:flex">
<a
href={offices[0].phone.href}
@@ -58,18 +62,21 @@ export default function SiteHeader() {
{company.email.busdev}
</a>
</div>
<LanguageToggle />
<ThemeToggle />
<ButtonLink
href={consultationUrl}
size="sm"
icon="support_agent"
className="hidden sm:inline-flex"
className="hidden md:inline-flex"
>
Konsultasi IT
{t.header.consult}
</ButtonLink>
<button
type="button"
aria-label={menuOpen ? 'Tutup menu' : 'Buka menu'}
aria-label={
menuOpen ? t.header.closeMenu : t.header.openMenu
}
aria-expanded={menuOpen}
onClick={() => setMenuOpen((open) => !open)}
className="border-outline-variant/50 bg-surface-container-low text-on-surface inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-xl border lg:hidden"
@@ -84,13 +91,13 @@ export default function SiteHeader() {
{menuOpen && (
<nav
aria-label="Navigasi utama"
aria-label={t.header.mainNav}
className="border-outline-variant/40 bg-surface border-t lg:hidden"
>
<Container className="flex flex-col gap-1 py-4">
{navigation.map((item) => (
<Link
key={item.label}
key={item.key}
href={item.href}
onClick={closeMenu}
className={cn(
@@ -100,7 +107,7 @@ export default function SiteHeader() {
: 'text-on-surface-variant hover:bg-surface-container hover:text-on-surface',
)}
>
{item.label}
{t.nav[item.key]}
</Link>
))}
<ButtonLink
@@ -108,9 +115,9 @@ export default function SiteHeader() {
size="sm"
icon="support_agent"
onClick={closeMenu}
className="mt-2 sm:hidden"
className="mt-2 md:hidden"
>
Konsultasi IT
{t.header.consult}
</ButtonLink>
</Container>
</nav>