Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 17:53:28 +00:00
2 changed files with 42 additions and 57 deletions

View File

@@ -49,18 +49,19 @@ export default function LandingPage() {
imageSrc="http://img.b2bpic.net/free-photo/colorful-natural-mineral-agate-decoration_53876-88525.jpg"
imageAlt="Camadas de solo em corte geológico"
mediaAnimation="slide-up"
background={{ variant: "plain" }}
testimonials={[
{
name: "Dr. Carlos Silva", handle: "Professor de Geotécnica", testimonial: "Este recurso revolucionou como ensinamos engenharia geotécnica aos nossos alunos.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg?_wi=1"
imageSrc: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg"
},
{
name: "Eng. Maria Santos", handle: "Engenheira Civil Sênior", testimonial: "Informações precisas e acessíveis sobre solos e drenagem - exatamente o que nossos projetos precisam.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg?_wi=1"
imageSrc: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg"
},
{
name: "Prof. João Oliveira", handle: "Pesquisador em Solos", testimonial: "A forma como explicam o intemperismo é clara e fundamentada cientificamente.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg?_wi=1"
imageSrc: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg"
}
]}
buttons={[
@@ -98,11 +99,11 @@ export default function LandingPage() {
},
{
id: "2", title: "Índices Físicos e Compacidade", author: "Propriedades Mecânicas", description: "Densidade relativa, porosidade e índice de vazios são indicadores críticos da compacidade do solo e sua capacidade de suportar cargas.", tags: ["Densidade", "Porosidade"],
imageSrc: "http://img.b2bpic.net/free-photo/constructors-consulting_1098-13717.jpg?_wi=1", imageAlt: "Medição de compacidade do solo"
imageSrc: "http://img.b2bpic.net/free-photo/constructors-consulting_1098-13717.jpg", imageAlt: "Medição de compacidade do solo"
},
{
id: "3", title: "Plasticidade e Consistência", author: "Comportamento de Umidade", description: "Limites de plasticidade definem como o solo responde à variação de umidade, afetando sua trabalhabilidade e estabilidade em campo.", tags: ["Plasticidade", "Consistência"],
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-mexican-mountains-from_181624-11512.jpg?_wi=1", imageAlt: "Teste de plasticidade em laboratório"
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-mexican-mountains-from_181624-11512.jpg", imageAlt: "Teste de plasticidade em laboratório"
}
]}
animationType="slide-up"
@@ -119,15 +120,15 @@ export default function LandingPage() {
features={[
{
id: "1", title: "Permeabilidade e Condutividade Hidráulica", author: "Fluxo de Água", description: "A capacidade do solo de permitir fluxo de água é quantificada pelo coeficiente de permeabilidade, essencial para design de drenagem.", tags: ["Permeabilidade", "Fluxo"],
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg?_wi=1", imageAlt: "Sistema de drenagem e percolação"
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg", imageAlt: "Sistema de drenagem e percolação"
},
{
id: "2", title: "Pressão de Poro e Fluxo Subterrâneo", author: "Análise Hidráulica", description: "O entendimento de pressões de poro e caminhos de fluxo é vital para prevenir falhas de base e liquefação em solos saturados.", tags: ["Pressão", "Saturação"],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg?_wi=1", imageAlt: "Teste de fluxo subterrâneo em campo"
imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg", imageAlt: "Teste de fluxo subterrâneo em campo"
},
{
id: "3", title: "Sistemas de Drenagem Vertical e Horizontal", author: "Projeto de Drenagem", description: "Diferentes configurações de drenagem são aplicadas conforme as condições do sítio, incluindo drenos verticais, horizontais e sistemas de bombeamento.", tags: ["Drenagem", "Projeto"],
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg?_wi=2", imageAlt: "Configurações de sistema de drenagem"
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg", imageAlt: "Configurações de sistema de drenagem"
}
]}
animationType="slide-up"
@@ -144,15 +145,15 @@ export default function LandingPage() {
features={[
{
id: "1", title: "Intemperismo Físico e Mecânico", author: "Desintegração de Rochas", description: "Processos mecânicos como congelamento-descongelamento e expansão térmica quebram rochas em fragmentos menores sem alterar sua composição química.", tags: ["Físico", "Mecânico"],
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg?_wi=1", imageAlt: "Intemperismo físico de rochas"
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg", imageAlt: "Intemperismo físico de rochas"
},
{
id: "2", title: "Intemperismo Químico e Alteração Mineral", author: "Transformação de Minerais", description: "Reações químicas com água, CO₂ e oxigênio alteram a composição dos minerais, produzindo novos minerais e solos residuais.", tags: ["Químico", "Alteração"],
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg?_wi=2", imageAlt: "Processo de intemperismo químico"
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg", imageAlt: "Processo de intemperismo químico"
},
{
id: "3", title: "Variações Regionais e Climáticas", author: "Contexto Geográfico", description: "Clima, vegetação e topografia influenciam os tipos e taxas de intemperismo, resultando em solos distintos em diferentes regiões.", tags: ["Regional", "Clima"],
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg?_wi=3", imageAlt: "Variações de intemperismo por região"
imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg", imageAlt: "Variações de intemperismo por região"
}
]}
animationType="slide-up"
@@ -168,13 +169,13 @@ export default function LandingPage() {
tag="Evidência do Impacto"
metrics={[
{
id: "1", value: "85%", title: "Redução em Falhas", description: "Projetos com análise geotécnica adequada", imageSrc: "http://img.b2bpic.net/free-photo/constructors-consulting_1098-13717.jpg?_wi=2", imageAlt: "Melhoria em segurança estrutural"
id: "1", value: "85%", title: "Redução em Falhas", description: "Projetos com análise geotécnica adequada", imageSrc: "http://img.b2bpic.net/free-photo/constructors-consulting_1098-13717.jpg", imageAlt: "Melhoria em segurança estrutural"
},
{
id: "2", value: "1000+", title: "Profissionais Treinados", description: "Engenheiros que aprimoraram seus conhecimentos", imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg?_wi=2", imageAlt: "Equipe de engenheiros em campo"
id: "2", value: "1000+", title: "Profissionais Treinados", description: "Engenheiros que aprimoraram seus conhecimentos", imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg", imageAlt: "Equipe de engenheiros em campo"
},
{
id: "3", value: "50+", title: "Projetos de Sucesso", description: "Aplicações bem-sucedidas dos princípios", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-mexican-mountains-from_181624-11512.jpg?_wi=2", imageAlt: "Análise de projetos completados"
id: "3", value: "50+", title: "Projetos de Sucesso", description: "Aplicações bem-sucedidas dos princípios", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-mexican-mountains-from_181624-11512.jpg", imageAlt: "Análise de projetos completados"
}
]}
animationType="blur-reveal"
@@ -190,13 +191,13 @@ export default function LandingPage() {
tag="Biblioteca Educacional"
blogs={[
{
id: "1", category: "Guia Técnico", title: "Métodos de Investigação Geotécnica em Campo", excerpt: "Aprenda as técnicas modernas para investigação de solos, coleta de amostras e testes in-situ.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg?_wi=3", imageAlt: "Investigação geotécnica em campo", authorName: "Eng. Roberto Costa", authorAvatar: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg", date: "15 de janeiro de 2025"
id: "1", category: "Guia Técnico", title: "Métodos de Investigação Geotécnica em Campo", excerpt: "Aprenda as técnicas modernas para investigação de solos, coleta de amostras e testes in-situ.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-construction-engineer-using-tablet_23-2148233729.jpg", imageAlt: "Investigação geotécnica em campo", authorName: "Eng. Roberto Costa", authorAvatar: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg", date: "15 de janeiro de 2025"
},
{
id: "2", category: "Pesquisa", title: "Avanços em Drenagem e Estabilização de Encostas", excerpt: "Novas tecnologias e metodologias para o manejo eficaz de água em terrenos inclinados.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg?_wi=3", imageAlt: "Sistemas avançados de drenagem", authorName: "Dra. Fernanda Nunes", authorAvatar: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg", date: "10 de janeiro de 2025"
id: "2", category: "Pesquisa", title: "Avanços em Drenagem e Estabilização de Encostas", excerpt: "Novas tecnologias e metodologias para o manejo eficaz de água em terrenos inclinados.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-shot-big-crack-stony-shore-turquoise-water_181624-4245.jpg", imageAlt: "Sistemas avançados de drenagem", authorName: "Dra. Fernanda Nunes", authorAvatar: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg", date: "10 de janeiro de 2025"
},
{
id: "3", category: "Aplicação Prática", title: "Intemperismo e Preparação de Fundações em Rocha", excerpt: "Como o intemperismo afeta a seleção de profundidade e métodos de fundação em rocha.", imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg?_wi=4", imageAlt: "Análise de intemperismo em fundações", authorName: "Prof. Henrique Martins", authorAvatar: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg", date: "5 de janeiro de 2025"
id: "3", category: "Aplicação Prática", title: "Intemperismo e Preparação de Fundações em Rocha", excerpt: "Como o intemperismo afeta a seleção de profundidade e métodos de fundação em rocha.", imageSrc: "http://img.b2bpic.net/free-photo/photo-wood-texture-pattern_58702-16244.jpg", imageAlt: "Análise de intemperismo em fundações", authorName: "Prof. Henrique Martins", authorAvatar: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg", date: "5 de janeiro de 2025"
}
]}
animationType="slide-up"
@@ -213,15 +214,15 @@ export default function LandingPage() {
testimonials={[
{
id: "1", name: "Dr. Carlos Silva", role: "Professor Universitário", company: "Universidade Federal de Engenharia", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg?_wi=2"
imageSrc: "http://img.b2bpic.net/free-photo/man-with-blueprint-copy-space_23-2148269819.jpg"
},
{
id: "2", name: "Eng. Maria Santos", role: "Engenheira Sênior", company: "Consultoria Geotécnica Brasil", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg?_wi=2"
imageSrc: "http://img.b2bpic.net/free-photo/pretty-tourist-holding-tablet-with-map-looking-away-caucasian-long-haired-woman-hiking-walking-nature-carrying-backpacks-backpacking-tourism-adventure-summer-vacation-concept_74855-11930.jpg"
},
{
id: "3", name: "Prof. João Oliveira", role: "Pesquisador Principal", company: "Instituto de Pesquisa Geológica", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg?_wi=2"
imageSrc: "http://img.b2bpic.net/free-photo/wind-farms-fields_23-2149154408.jpg"
},
{
id: "4", name: "Dra. Beatriz Ferreira", role: "Coordenadora de Projetos", company: "Engenharia de Fundações Ltd", rating: 5,

View File

@@ -1,51 +1,35 @@
"use client";
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
import React from 'react';
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
text: string;
className?: string;
textClassName?: string;
dominantBaseline?: 'auto' | 'baseline' | 'central' | 'middle' | 'hanging' | 'mathematical';
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
className = '',
textClassName = '',
dominantBaseline = 'central'
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox="0 0 200 100"
className={className}
xmlns="http://www.w3.org/2000/svg"
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="50%"
y="50%"
textAnchor="middle"
dominantBaseline={dominantBaseline}
className={textClassName}
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;