Merge version_1 into main #2
@@ -12,7 +12,7 @@ import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCar
|
||||
import FaqDouble from '@/components/sections/faq/FaqDouble';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { BarChart3, Package, Quote, Shield, Sparkles, Store, TrendingUp } from 'lucide-react';
|
||||
import { BarChart3, Package, Shield, Sparkles, Store, TrendingUp } from 'lucide-react';
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -64,7 +64,6 @@ export default function LandingPage() {
|
||||
names={["Retail Chain Pro", "Urban Groceries", "MultiStore Logistics", "Fresh Market Networks", "Hypermart Solutions", "ChainStore Plus", "Retail Nexus", "Smart Supermarkets"]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
animationType="slide-up"
|
||||
speed={40}
|
||||
showCard={true}
|
||||
/>
|
||||
@@ -77,7 +76,7 @@ export default function LandingPage() {
|
||||
description="Unified Management"
|
||||
subdescription="One platform for all operations"
|
||||
icon={Package}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-analytics-dashboard-showing-sal-1773310314114-e5f83e90.png?_wi=1"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-analytics-dashboard-showing-sal-1773310314114-e5f83e90.png"
|
||||
imageAlt="Koutix comprehensive retail management features"
|
||||
mediaAnimation="slide-up"
|
||||
useInvertedBackground={false}
|
||||
@@ -92,11 +91,11 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Chain Management", author: "Centralized Control", description: "Manage unlimited branches from one dashboard. Real-time visibility across all locations.", tags: ["Multi-Branch", "Real-Time"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-supermarket-interior-with-self--1773310313980-814cbf71.png?_wi=1", imageAlt: "Multi-branch retail chain coordination"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-supermarket-interior-with-self--1773310313980-814cbf71.png", imageAlt: "Multi-branch retail chain coordination"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Smart Inventory Tracking", author: "Automated Updates", description: "Real-time inventory sync, low-stock alerts, and automated reordering. Never run out of critical items.", tags: ["Automation", "Alerts"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-focused-illustration-of-smart-inventor-1773310314329-455de0cc.png?_wi=1", imageAlt: "Smart inventory management system"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-focused-illustration-of-smart-inventor-1773310314329-455de0cc.png", imageAlt: "Smart inventory management system"
|
||||
},
|
||||
{
|
||||
id: "3", title: "POS & Billing Integration", author: "Seamless Checkout", description: "Unified billing system across all branches. Multiple payment methods, instant reconciliation.", tags: ["Integration", "Payments"],
|
||||
@@ -116,7 +115,7 @@ export default function LandingPage() {
|
||||
description="Complete Visibility"
|
||||
subdescription="All metrics at your fingertips"
|
||||
icon={BarChart3}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-comprehensive-product-demo-screenshot--1773310314150-8df18521.png?_wi=1"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-comprehensive-product-demo-screenshot--1773310314150-8df18521.png"
|
||||
imageAlt="Koutix complete dashboard with all retail metrics"
|
||||
mediaAnimation="slide-up"
|
||||
useInvertedBackground={false}
|
||||
@@ -131,15 +130,15 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Connect Your Stores", author: "Step 1", description: "Link all your retail locations in minutes. Koutix auto-configures for your existing systems.", tags: ["Setup", "Quick"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-large-hypermarket-space-showing-multip-1773310313691-7b557d13.png?_wi=1", imageAlt: "Connected retail stores setup"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-large-hypermarket-space-showing-multip-1773310313691-7b557d13.png", imageAlt: "Connected retail stores setup"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Manage Products & Inventory", author: "Step 2", description: "Upload your product catalog and inventory levels. Automated synchronization across all branches.", tags: ["Automation", "Sync"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-focused-illustration-of-smart-inventor-1773310314329-455de0cc.png?_wi=2", imageAlt: "Inventory management setup"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-focused-illustration-of-smart-inventor-1773310314329-455de0cc.png", imageAlt: "Inventory management setup"
|
||||
},
|
||||
{
|
||||
id: "3", title: "Monitor Sales & Growth", author: "Step 3", description: "Watch real-time analytics, identify trends, and optimize operations with AI-driven insights.", tags: ["Analytics", "AI"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-analytics-dashboard-showing-sal-1773310314114-e5f83e90.png?_wi=2", imageAlt: "Sales analytics and performance tracking"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-analytics-dashboard-showing-sal-1773310314114-e5f83e90.png", imageAlt: "Sales analytics and performance tracking"
|
||||
}
|
||||
]}
|
||||
animationType="slide-up"
|
||||
@@ -156,11 +155,11 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Supermarkets", author: "Day-to-Day Operations", description: "Manage inventory, staffing, and POS systems across multiple departments. Real-time sales tracking and customer insights.", tags: ["Multi-Dept", "Analytics"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-supermarket-interior-with-self--1773310313980-814cbf71.png?_wi=2", imageAlt: "Supermarket retail operations"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-modern-supermarket-interior-with-self--1773310313980-814cbf71.png", imageAlt: "Supermarket retail operations"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Hypermarkets", author: "Large-Scale Control", description: "Coordinate vast product ranges, manage high transaction volumes, and optimize staffing across massive retail spaces.", tags: ["Scale", "Volume"],
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-large-hypermarket-space-showing-multip-1773310313691-7b557d13.png?_wi=2", imageAlt: "Large hypermarket management"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-large-hypermarket-space-showing-multip-1773310313691-7b557d13.png", imageAlt: "Large hypermarket management"
|
||||
},
|
||||
{
|
||||
id: "3", title: "Retail Chains", author: "Centralized Management", description: "Unify operations across locations, standardize processes, and gain competitive intelligence from aggregated data.", tags: ["Unification", "Intelligence"],
|
||||
@@ -287,7 +286,7 @@ export default function LandingPage() {
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "Tell us about your business...", rows: 4, required: false }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-comprehensive-product-demo-screenshot--1773310314150-8df18521.png?_wi=2"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AqBTs2uTGIxmOyBLQ5zNwNEBuW/a-comprehensive-product-demo-screenshot--1773310314150-8df18521.png"
|
||||
imageAlt="Koutix platform features"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
|
||||
@@ -1,51 +1,43 @@
|
||||
"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;
|
||||
}
|
||||
|
||||
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 = '',
|
||||
}) => {
|
||||
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 1000 200"
|
||||
className={`w-full h-auto ${className}`}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
>
|
||||
<defs>
|
||||
<linearGradient id="textGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stopColor="currentColor" />
|
||||
<stop offset="100%" stopColor="currentColor" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
x="50%"
|
||||
y="50%"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="middle"
|
||||
className={`text-5xl font-bold fill-current ${textClassName}`}
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
fontSize: 'clamp(2rem, 8vw, 8rem)',
|
||||
}}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user