Files
zeekay 0c84acc0d8 about, analytics, affiliate, agents, api: the words go through @hanzo/i18n
The about sections, the analytics page and its demo's labels, the
affiliate and agents pages, the API page and the account forwards wrap
their copy. Copy handed to a shared component from a client page is
translated at the call site; arrays written outside a component are
marked with phrase(). Commands and figures inside a sentence are
values, the mock dashboard's sample rows stay as they are, and the
forward arrows mirror under dir="rtl".
2026-10-22 18:13:04 -07:00

51 lines
1.5 KiB
TypeScript

'use client'
import React from "react";
import { AlertTriangle, Eye, Zap } from "lucide-react";
import AIFeatureCard from "./AIFeatureCard";
import { Grid } from '@hanzo/ui/grid'
import { ink } from '../kit'
import { phrase } from '@hanzo/i18n'
const DIM = ink(70)
const AIFeatureList = () => {
const features = [
{
icon: <Eye size={40} color="var(--foreground)" />,
title: phrase("Real-time anomaly detection"),
description: phrase("Automatically identify unusual patterns and potential issues before they impact your business."),
delay: 0
},
{
icon: <AlertTriangle size={40} color={DIM} />,
title: phrase("Predictive alerts and proactive monitoring"),
description: phrase("Get alerted about potential problems before they occur with AI-powered predictive monitoring."),
delay: 0.1
},
{
icon: <Zap size={40} color={DIM} />,
title: phrase("Deep integration with Hanzo Cloud and Base"),
description: phrase("Connect your analytics with your entire infrastructure for comprehensive visibility."),
delay: 0.2
}
];
return (
<Grid columns={{ min: 320, max: 3 }} gap={32} mb={64}>
{features.map((feature, index) => (
<AIFeatureCard
key={feature.title}
icon={feature.icon}
title={feature.title}
description={feature.description}
delay={feature.delay}
index={index}
/>
))}
</Grid>
);
};
export default AIFeatureList;