From b58c5dabbcec08f0dc7a382eba30e8ba3a40524c Mon Sep 17 00:00:00 2001 From: Evandro Fonseca Junior Date: Mon, 12 Jan 2026 16:29:54 -0300 Subject: [PATCH] feat(about, skills, workModalities): update content and improve styling - Revamped the About component with new titles and descriptions for core values, enhancing clarity and engagement. - Updated the Skills component by removing unnecessary type handling and improving animation effects for better user experience. - Adjusted styling in the WorkModalities component, refining color variants and badge presentation for improved visual consistency. --- app/components/About.tsx | 37 ++++++++++++++++++++++--------- app/components/Skills.tsx | 29 +++++------------------- app/components/WorkModalities.tsx | 10 ++++----- 3 files changed, 37 insertions(+), 39 deletions(-) diff --git a/app/components/About.tsx b/app/components/About.tsx index aaefd3a..0c24833 100644 --- a/app/components/About.tsx +++ b/app/components/About.tsx @@ -23,26 +23,41 @@ interface CoreValue { const STORY_DATA: StoryStep[] = [ { icon: Brain, - title: "A Curiosidade que Me Define", - content: "Sempre fui fascinado por problemas complexos. Minha abordagem foca em transformar caos em sistemas elegantes e escaláveis.", - gradient: "from-blue-500 to-cyan-400", + title: "Engenharia de Fundamentos", + content: "Minha mentalidade é pautada pela redução de entropia. Não apenas escrevo código; projeto sistemas onde a escalabilidade é uma propriedade intrínseca da arquitetura, não um ajuste posterior.", + gradient: "from-blue-600 to-cyan-500", accent: "text-blue-400", }, { icon: Zap, - title: "Três Anos de Transformação", - content: "Enfrentei desafios técnicos de alta criticidade, desde arquiteturas distribuídas até integrações legadas complexas.", - gradient: "from-purple-500 to-pink-500", + title: "Entrega sob Restrições", + content: "Em 3 anos de atuação profissional, especializei-me em cenários de alta criticidade. Atuei na ponte entre sistemas legados e microserviços, garantindo a resolução do problema.", + gradient: "from-purple-600 to-pink-600", accent: "text-purple-400", }, - // Adicione os demais itens aqui mantendo a estrutura... ]; const VALUES_DATA: CoreValue[] = [ - { icon: Code, title: "Excelência Técnica", description: "Código limpo e arquiteturas resilientes." }, - { icon: Brain, title: "Aprendizado Constante", description: "Evolução contínua baseada em fundamentos sólidos." }, - { icon: Users, title: "Colaboração", description: "Equipes de alto desempenho através de empatia e técnica." }, - { icon: Shield, title: "Ética", description: "Integridade em cada linha de código produzida." }, + { + icon: Code, + title: "Pragmatismo Arquitetural", + description: "Priorizo a manutenibilidade e a resiliência. Código limpo é o meio, sistemas que geram ROI são o fim." + }, + { + icon: Brain, + title: "Fundacionalismo Técnico", + description: "Domínio profundo de estruturas de dados e protocolos. Tecnologias mudam, fundamentos são perenes." + }, + { + icon: Users, + title: "Propriedade e Ownership", + description: "Comunicação de baixa latência e responsabilidade radical sobre cada entrega e decisão técnica." + }, + { + icon: Shield, + title: "Security by Design", + description: "Integridade e conformidade técnica (GDPR/LGPD) tratadas como requisitos funcionais, não opcionais." + }, ]; // --- Micro-componentes (Feynman Technique: Simplicidade e Reuso) --- diff --git a/app/components/Skills.tsx b/app/components/Skills.tsx index d74871d..530b126 100644 --- a/app/components/Skills.tsx +++ b/app/components/Skills.tsx @@ -1,27 +1,13 @@ "use client"; import React from "react"; -import { motion } from "framer-motion"; // Ajustado para o padrão estável -import { MagicCard } from "@/components/magicui/magic-card"; +import { motion } from "framer-motion"; import { Code, Database, Cloud, Cpu, Smartphone, Zap, GitBranch, TestTube, Terminal, Layers } from "lucide-react"; import { usePortfolioData } from "@/lib/usePortfolioData"; -// --- RESOLUÇÃO DE TIPAGEM (Wrapper) --- -// Estendemos a interface original para aceitar as props de gradiente que a lib pode ter omitido nos tipos -interface FixedMagicCardProps extends React.ComponentProps { - gradientColor?: string; - gradientSize?: number; - gradientOpacity?: number; -} - -const FixedMagicCard = (props: FixedMagicCardProps) => { - // @ts-ignore - Forçamos o cast para o componente original aceitar as props em runtime - return ; -}; - const ICON_MAP: Record = { Code, Database, Cloud, Cpu, Smartphone, Zap, GitBranch, TestTube, Terminal, Layers }; @@ -74,20 +60,17 @@ export default function Skills() { return ( -
@@ -112,7 +95,7 @@ export default function Skills() { ))}
- +
); })} diff --git a/app/components/WorkModalities.tsx b/app/components/WorkModalities.tsx index 496f77f..67a3e42 100644 --- a/app/components/WorkModalities.tsx +++ b/app/components/WorkModalities.tsx @@ -96,13 +96,13 @@ const WorkModalitiesData = [ // --- 2. DESIGN TOKENS --- const COLOR_VARIANTS: Record = { - blue: "border-blue-500/30 bg-blue-500/5 text-blue-400 hover:border-blue-500/60 shadow-blue-500/5", + blue: "border-blue-500/15 bg-blue-500/3 text-blue-300 hover:border-blue-500/30 shadow-blue-500/3", green: - "border-green-500/30 bg-green-500/5 text-green-400 hover:border-green-500/60 shadow-green-500/5", + "border-green-500/15 bg-green-500/3 text-green-300 hover:border-green-500/30 shadow-green-500/3", purple: - "border-purple-500/30 bg-purple-500/5 text-purple-400 hover:border-purple-500/60 shadow-purple-500/5", + "border-purple-500/15 bg-purple-500/3 text-purple-300 hover:border-purple-500/30 shadow-purple-500/3", orange: - "border-orange-500/30 bg-orange-500/5 text-orange-400 hover:border-orange-500/60 shadow-orange-500/5", + "border-orange-500/15 bg-orange-500/3 text-orange-300 hover:border-orange-500/30 shadow-orange-500/3", }; export function WorkModalities() { @@ -191,7 +191,7 @@ export function WorkModalities() { className={`relative p-8 rounded-[2.5rem] border-2 backdrop-blur-xl transition-all duration-500 shadow-xl ${style}`} > {modality.badge && ( - + {modality.badge} )}