Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 19:48:58 +00:00
2 changed files with 27 additions and 50 deletions

View File

@@ -20,7 +20,7 @@ export default function LandingPage() {
borderRadius="rounded"
contentWidth="compact"
sizing="largeSmallSizeLargeTitles"
background="fluid"
background="circleGradient"
cardStyle="glass-depth"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="solid"
@@ -51,25 +51,25 @@ export default function LandingPage() {
{ text: "Learn More", href: "#data-layers" }
]}
buttonAnimation="slide-up"
background={{ variant: "fluid" }}
background={{ variant: "plain" }}
carouselItems={[
{
id: "1", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/a-stunning-3d-interactive-globe-visualiz-1773258444049-f44eabb8.png", imageAlt: "3D Interactive Globe Visualization"
},
{
id: "2", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/a-detailed-visualization-showing-aircraf-1773258444159-04a27a99.png?_wi=1", imageAlt: "Real-Time Aircraft Tracking"
id: "2", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/a-detailed-visualization-showing-aircraf-1773258444159-04a27a99.png", imageAlt: "Real-Time Aircraft Tracking"
},
{
id: "3", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/maritime-vessel-tracking-visualization-s-1773258444128-ad53ee6b.png?_wi=1", imageAlt: "Global Maritime Vessel Tracking"
id: "3", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/maritime-vessel-tracking-visualization-s-1773258444128-ad53ee6b.png", imageAlt: "Global Maritime Vessel Tracking"
},
{
id: "4", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/satellite-tracking-visualization-display-1773258444003-0b0aeb54.png?_wi=1", imageAlt: "Satellite Orbital Visualization"
id: "4", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/satellite-tracking-visualization-display-1773258444003-0b0aeb54.png", imageAlt: "Satellite Orbital Visualization"
},
{
id: "5", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/weather-data-overlay-on-global-map-showi-1773258443702-61c0360d.png?_wi=1", imageAlt: "Weather System Monitoring"
id: "5", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/weather-data-overlay-on-global-map-showi-1773258443702-61c0360d.png", imageAlt: "Weather System Monitoring"
},
{
id: "6", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/seismic-activity-monitoring-interface-sh-1773258444272-07a2aebd.png?_wi=1", imageAlt: "Real-Time Seismic Activity"
id: "6", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/seismic-activity-monitoring-interface-sh-1773258444272-07a2aebd.png", imageAlt: "Real-Time Seismic Activity"
}
]}
autoPlay={true}
@@ -125,19 +125,19 @@ export default function LandingPage() {
tagAnimation="slide-up"
products={[
{
id: "aircraft", name: "Live Aircraft Tracking", price: "OpenSky API", variant: "15,000+ active aircraft", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/a-detailed-visualization-showing-aircraf-1773258444159-04a27a99.png?_wi=2", imageAlt: "Aircraft Tracking Layer"
id: "aircraft", name: "Live Aircraft Tracking", price: "OpenSky API", variant: "15,000+ active aircraft", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/a-detailed-visualization-showing-aircraf-1773258444159-04a27a99.png", imageAlt: "Aircraft Tracking Layer"
},
{
id: "maritime", name: "Global Maritime Traffic", price: "AIS Network", variant: "100,000+ vessels monitored", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/maritime-vessel-tracking-visualization-s-1773258444128-ad53ee6b.png?_wi=2", imageAlt: "Ship Tracking Layer"
id: "maritime", name: "Global Maritime Traffic", price: "AIS Network", variant: "100,000+ vessels monitored", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/maritime-vessel-tracking-visualization-s-1773258444128-ad53ee6b.png", imageAlt: "Ship Tracking Layer"
},
{
id: "satellites", name: "Satellite Coverage", price: "TLE Database", variant: "7,000+ satellites tracked", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/satellite-tracking-visualization-display-1773258444003-0b0aeb54.png?_wi=2", imageAlt: "Satellite Tracking"
id: "satellites", name: "Satellite Coverage", price: "TLE Database", variant: "7,000+ satellites tracked", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/satellite-tracking-visualization-display-1773258444003-0b0aeb54.png", imageAlt: "Satellite Tracking"
},
{
id: "weather", name: "Weather Systems", price: "NOAA & OpenWeather", variant: "Global coverage real-time", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/weather-data-overlay-on-global-map-showi-1773258443702-61c0360d.png?_wi=2", imageAlt: "Weather Monitoring"
id: "weather", name: "Weather Systems", price: "NOAA & OpenWeather", variant: "Global coverage real-time", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/weather-data-overlay-on-global-map-showi-1773258443702-61c0360d.png", imageAlt: "Weather Monitoring"
},
{
id: "seismic", name: "Earthquake Events", price: "USGS Real-time Feed", variant: "Magnitude 2.5+ coverage", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/seismic-activity-monitoring-interface-sh-1773258444272-07a2aebd.png?_wi=2", imageAlt: "Earthquake Tracking"
id: "seismic", name: "Earthquake Events", price: "USGS Real-time Feed", variant: "Magnitude 2.5+ coverage", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/seismic-activity-monitoring-interface-sh-1773258444272-07a2aebd.png", imageAlt: "Earthquake Tracking"
},
{
id: "news", name: "Global News Events", price: "Multi-source Integration", variant: "Real-time headlines geotagged", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoUJK3HhHoCMm8jna1GdTITNBu/breaking-news-event-markers-distributed--1773258444235-4f1e0b3c.png", imageAlt: "News Event Tracking"
@@ -224,7 +224,7 @@ export default function LandingPage() {
{ text: "Documentation", href: "#" }
]}
buttonAnimation="slide-up"
background={{ variant: "fluid" }}
background={{ variant: "plain" }}
useInvertedBackground={false}
/>
</div>

View File

@@ -1,51 +1,28 @@
"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;
}
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 = '' }) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
className={className}
viewBox="0 0 200 50"
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="10"
y="35"
fontSize="28"
fontWeight="bold"
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;