diff --git a/app/components/LighthouseMetrics.tsx b/app/components/LighthouseMetrics.tsx new file mode 100644 index 0000000..1ad6837 --- /dev/null +++ b/app/components/LighthouseMetrics.tsx @@ -0,0 +1,109 @@ +"use client"; + +import { motion, useReducedMotion } from "framer-motion"; +import { Section } from "./Section"; + +const METRICS = [ + { + score: 100, + label: "Performance", + description: + "Cada milissegundo conta. Tempos de carregamento instantâneos retêm mais usuários, aumentam a conversão e garantem que a interface pareça nativa.", + }, + { + score: 100, + label: "Acessibilidade", + description: + "Acesso universal. Contraste perfeito, navegação por teclado e semântica adequada garantindo o uso por todos os perfis e mitigando riscos.", + }, + { + score: 100, + label: "Best Practices", + description: + "Código seguro e moderno. Uso das APIs mais recentes, prevenção inteligente contra vulnerabilidades comuns e front-end limpo.", + }, + { + score: 100, + label: "SEO", + description: + "Rankeamento orgânico superior. Estrutura impecável para indexação precisa pelos motores de busca e otimização para crawlers sociais.", + }, +]; + +export default function LighthouseMetrics() { + const shouldReduceMotion = useReducedMotion(); + + return ( +
+
+ {METRICS.map((metric, i) => ( + + {/* The Ring Container */} +
+ +
+ {metric.score} +
+
+ + {/* Content Details */} +
+

+ {metric.label} +

+

+ {metric.description} +

+
+
+ ))} +
+
+ ); +} diff --git a/app/page.tsx b/app/page.tsx index e1dbbac..bae078c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -10,6 +10,7 @@ const Experience = dynamic(() => import("./components/Experience")); const WorkModalities = dynamic(() => import("./components/WorkModalities").then(mod => mod.WorkModalities)); const Contact = dynamic(() => import("./components/Contact")); const Projects = dynamic(() => import("./components/Projects")); +const LighthouseMetrics = dynamic(() => import("./components/LighthouseMetrics")); export default function Home() { return ( @@ -24,6 +25,7 @@ export default function Home() { > +