import { useState, useEffect, useRef } from "react"; import { useNavigate, useSearchParams } from "react-router-dom"; import Navbar from "@/components/Navbar"; import Footer from "@/components/Footer"; import { useLanguage } from "@/contexts/LanguageContext"; import { Button } from "@/components/ui/button"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useScrollAnimation } from "@/hooks/useScrollAnimation"; import Chatbot from "@/components/Chatbot"; import SEO from "@/components/SEO"; import { ArrowRight, Settings, ShieldCheck, Gauge, ArrowUpFromLine, Layers, ChevronDown, ChevronUp, X, Download, Calendar, Tag, Hash, Info } from "lucide-react"; // Import product images import pneumaticPds from "@/assets/products/pneumatic-pds.png"; import pneumaticHd from "@/assets/products/pneumatic-hd.jpg"; import pneumaticPlds from "@/assets/products/pls1-series.png"; import pneumaticMplds from "@/assets/products/mpld.png"; import electricalItq from "@/assets/products/electrical-itq.jpg"; import electricalIql from "@/assets/products/electrical-iql.jpg"; import electricalItl from "@/assets/products/electrical-itl.jpg"; import electricalItm from "@/assets/products/electrical-itm.png"; import mechanicalBevel from "@/assets/products/mechanical-bevel.png"; import mechanicalWorm from "@/assets/products/worm-gearboxes.png"; import accessoriesIt from "@/assets/products/accessories-it.png"; import accessoriesHandwheels from "@/assets/products/handwheels.png"; import hydraulicActuator from "@/assets/products/hydralic.png"; import heroVideo from "@/assets/susini tork.mp4"; /* =========================================================== INTERFACE UPDATE =========================================================== */ interface Product { id: string; name: string; type: string; image: string; models: string[]; description: string; torque?: string; thrust?: string; features?: string[]; applications?: string[]; certifications?: string[]; seriesLinks?: { label: string; path: string }[]; } /* =========================================================== MODEL DETAILS INTERFACE =========================================================== */ interface ModelDetails { modelNumber: string; productName: string; specifications: { torque?: string; thrust?: string; pressure?: string; temperature?: string; speed?: string; weight?: string; [key: string]: string | undefined; }; description: string; features: string[]; datasheetUrl?: string; cadUrl?: string; } /* =========================================================== MODEL DETAILS MODAL COMPONENT =========================================================== */ const ModelDetailsModal = ({ isOpen, onClose, details }: { isOpen: boolean; onClose: () => void; details: ModelDetails | null; }) => { if (!isOpen || !details) return null; return (
{/* Professional Header: Industrial Red Panel */}
Engineering Data Sheet

{details.productName} ID: {details.modelNumber}

{/* Main Scrollable Content */}
{/* Description Section: Clean & Focused */}

Product Overview

"{details.description}"

{/* Specifications Grid: Precision Thin-Border Layout */} {Object.keys(details.specifications).length > 0 && (

Technical Parameters

{Object.entries(details.specifications).map(([key, value], idx) => ( value && (
{key.replace(/_/g, ' ')}
{value}
) ))}
)} {/* Key Features: Two Column Checklist */} {details.features.length > 0 && (

Key Performance Features

    {details.features.map((feature, idx) => (
  • 0{idx + 1} {feature}
  • ))}
)} {/* Action Footer: Fixed at bottom for high visibility */}
); }; /* =========================================================== HD ACTUATOR – SERIES WISE MODELS =========================================================== */ const hdSeriesModels = [ { series: "A1 Series", models: ["A1-10", "A1-12", "A1-16", "A1-20"], }, { series: "01 Series", models: ["01-10", "01-12", "01-16", "01-18", "01-20", "01-25"], }, { series: "02 Series", models: ["02-20", "02-23", "02-25", "02-28", "02-30", "02-35", "02-38"], }, { series: "03 Series", models: ["03-35", "03-38", "03-43", "03-48"], }, { series: "04 Series", models: ["04-43", "04-48", "04-53", "04-58", "04-63"], }, { series: "05 Series", models: ["05-43", "05-48", "05-53", "05-58", "05-63", "05-73"], }, { series: "06 Series", models: ["06-53", "06-58", "06-63", "06-68", "06-73", "06-78", "06-83", "06-88"], }, { series: "07 Series", models: ["07-73", "07-78", "07-83", "07-88", "07-93"], }, ]; /* =========================================================== PRODUCT DATA =========================================================== */ const pneumaticProducts: Product[] = [ { id: "pds-rotary", name: "PDS Actuator (Rotary)", type: "Pneumatic", image: pneumaticPds, models: ["PDS 45", "PDS 50", "PDS 55", "PDS 70", "PDS 75", "PDS 85", "PDS 100", "PDS 125", "PDS 160", "PDS 200"], description: "We specialize in providing the best & reliable flow control solutions in the most challenging environments. PDS series Pneumatic Actuators are designed using Scotch-Yoke technology for superior torque.", torque: "5 Nm - 5,000 Nm", features: [ "Scotch-Yoke mechanism for high break-out torque", "Hard anodized aluminum body for corrosion resistance", "Operating pressure: 3.5 - 8 Bar", "Temperature range: -20°C to +80°C", "Adjustable travel stops ±5°", "Pre-compressed spring packages for safety", "ISO 5211, NAMUR & VDI/VDE 3845 compliant", "SIL 3 Capable (IEC 61508)" ], applications: ["Oil & Gas", "Chemical Processing", "Power Plants", "Water Treatment", "Food & Beverage"], certifications: ["ATEX", "SIL 3", "PED", "ISO 9001", "IP67"], seriesLinks: [ { label: "PD Series (Double Acting)", path: "/products/pds-rotary/pd-series" }, { label: "PS Series (Single Acting)", path: "/products/pds-rotary/ps-series" } ] }, { id: "hd-rotary", name: "HD Actuator (Rotary)", type: "Pneumatic", image: pneumaticHd, models: [ "02-20", "02-25", "02-30", "02-35", "03-35", "03-38", "03-43", "04-43", "04-48", "04-53", "05-53", "05-58", "05-63", "06-63", "06-68", "06-73" ], description: "Our flagship heavy-duty scotch yoke actuators deliver exceptional torque for the most demanding valve automation applications.", torque: "200 Nm - 120,867 Nm", features: [ "High torque capacity up to 120,867 Nm", "Extended service life (>2 million cycles)", "Operating pressure: 2.8 - 10 bar", "Spring return or double acting configurations", "Custom bracket designs for any valve", "Ideal for ball, butterfly & plug valves", "ATEX/IECEx certified for hazardous areas", "Corrosion-resistant coating options" ], applications: ["Oil & Gas", "Power Generation", "Petrochemical", "Offshore FPSO"], certifications: ["ISO 5211", "NAMUR", "ATEX", "API 609"], seriesLinks: [ { label: "ISD Series", path: "/products/hd-rotary/isd-series" }, { label: "ICD Series", path: "/products/hd-rotary/icd-series" }, { label: "ISR Series", path: "/products/hd-rotary/isr-series" }, { label: "ICR Series", path: "/products/hd-rotary/icr-series" } ] }, { id: "plds-linear", name: "PLDS Actuator (Linear)", type: "Pneumatic", image: pneumaticPlds, models: ["PLDS-100", "PLDS-125", "PLDS-160", "PLDS-200", "PLDS-250", "PLDS-300"], description: "The PLDS series of Pneumatic Linear Double Acting Cylinders are meticulously designed to provide superior performance for tasks requiring precise linear motion control.", thrust: "1 KN - 500 KN", features: [ "Double Acting & Spring Return configurations", "Bore sizes from 100mm to 980mm", "Operating Pressure: 2.8 to 10 Bar", "High thrust capability for Gate & Globe valves", "Standard Temp: -20°C to +80°C (Options up to +100°C)", "Hard chrome plated piston rod for durability", "Manual override options: Hydraulic or Gearbox", "Field reversible action (Fail Open/Close)" ], applications: ["Linear Valve Automation (Gate/Globe)", "Dampers", "Material Handling", "Power Generation"], certifications: ["SIL 3", "ATEX", "PED", "IP66/IP67"], seriesLinks: [ { label: "PLD Series", path: "/products/plds-linear/pld-series" }, { label: "PLS Series", path: "/products/plds-linear/pls-series" } ] }, { id: "mplds-linear", name: "MPLDS Actuator (Linear)", type: "Pneumatic", image: pneumaticMplds, models: ["50mm", "75mm", "100mm", "150mm", "200mm", "250mm"], description: "The MPLDS series of Micro Pneumatic Double Acting Linear Cylinders are designed for precision and compact applications where space is limited but performance cannot be compromised.", thrust: "1 KN - 50 KN", features: [ "Micro cylinder design for tight spaces", "Double Acting mechanism for controlled motion", "Operating Pressure: 2.1 to 6.2 Bar", "Standard Temperature: -10°C to +60°C", "IP66 Protection against dust and water", "High-quality construction for long service life", "Ideal for fine automation systems", "Modular design for easy maintenance" ], applications: ["Fine Automation", "Small-scale Machinery", "Linear Valve Control", "Material Handling"], certifications: ["IP66", "ISO 9001", "CE"], seriesLinks: [ { label: "MPLD Series", path: "/products/mplds-linear/mpld-series" }, { label: "MPLS Series", path: "/products/mplds-linear/mpls-series" } ] }, ]; const electricalProducts: Product[] = [ { id: "itq-rotary", name: "ITQ SERIES (Rotary)", type: "Electrical", image: electricalItq, models: ["ITQ 0020 (25Nm)", "ITQ 0040 (40Nm)", "ITQ 0080 (80Nm)"], description: "A compact and robust quarter-turn electric actuator designed for the automation of ball, butterfly, and plug valves. Features a self-locking double worm gear drive and advanced control options.", torque: "25 Nm - 9,000 Nm", features: [ "Hard anodized aluminum housing with powder coating", "Self-locking double worm gearing (no brake required)", "Auto-declutching manual override handwheel", "Weatherproof IP67 enclosure (IP68 optional)", "High starting torque induction motor", "Mechanical torque sensing system", "Modulating control options (4-20mA, 0-10V)", "ISO 5211 mounting base for easy installation" ], applications: ["Water Treatment", "Chemical Processing", "HVAC Automation", "Power Plants", "Oil & Gas"], certifications: ["IP67", "IP68", "ATEX", "ISO 9001", "CE"] }, { id: "iql-linear", name: "IQL SERIES (Linear)", type: "Electrical", image: electricalIql, models: ["IQL 04", "IQL 06", "IQL 08", "IQL 10", "IQL 12", "IQL 20", "IQL 25"], description: "A robust linear electric actuator designed for precise modulating control of globe and control valves. Features intelligent positioning, fail-safe options, and a high thrust capacity.", thrust: "4 KN - 25 KN", features: [ "Wide thrust range from 4 KN to 25 KN", "Stroke range: 40mm to 100mm", "Modulating control (4-20mA / 0-10V)", "Weatherproof IP66 enclosure (IP68 optional)", "Auto-declutching manual override handwheel", "Digital display for position monitoring", "Mechanical thrust sensing system for overload protection", "Battery backup for fail-safe operation" ], applications: ["Globe Control Valves", "Gate Valves", "Damper Automation", "Power Plants", "Water Treatment"], certifications: ["CE", "IP66", "IP68", "Ex d II B T4", "ISO 9001"] }, { id: "itl-linear", name: "ITL SERIES (Linear)", type: "Electrical", image: electricalItl, models: ["ITL01", "ITL02", "ITL04", "ITL06"], description: "A compact and powerful linear electric actuator featuring a 100% duty cycle motor. Designed for high-frequency modulating control in sophisticated automation systems.", thrust: "1 KN - 6 KN", features: [ "100% Duty Cycle (Continuous Duty) Motor", "Thrust range: 1 KN to 6 KN", "Stroke range: 20mm to 50mm", "Compact design with hard anodized aluminum housing", "Input/Output Isolation for signal safety", "Built-in manual override with storable handwheel", "Wide voltage support (AC 100-240V, DC 24V)", "High resolution position control (4-20mA / 0-10V)" ], applications: ["Control Valves (2-way/3-way)", "Industrial Dampers", "Process Automation", "High-Frequency Modulation"], certifications: ["IP67", "CE", "ISO 9001"] }, { id: "itm-multiturn", name: "ITM SERIES (Multiturn)", type: "Electrical", image: electricalItm, models: ["ITM 0180", "ITM 0450", "ITM 0750", "ITM 1800", "ITM 3000"], description: "A high-efficiency multi-turn electric actuator designed for gate and globe valves. Features a digitalized torque sensing system and robust IP68 watertight enclosure.", torque: "177 Nm - 3,000 Nm", features: [ "Digitalized torque sensing system (30-100% adjustable)", "Watertight IP68 enclosure (10m for 100 hours)", "High efficiency motor with thermal protection", "Top-mounted handwheel for easy manual operation", "Battery backup for position detecting system", "Fieldbus communication (Profibus, CANopen)", "Explosion-proof Ex d II C T4 option available", "Non-intrusive setting via remote control" ], applications: ["Gate Valves", "Globe Valves", "Sluice Gates", "Penstocks", "Power Plants"], certifications: ["IP68", "Ex d II C T4", "CE", "ISO 9001"] }, ]; const mechanicalProducts: Product[] = [ { id: "bevel-gear", name: "BEVEL GEAR ACTUATORS", type: "Mechanical", image: mechanicalBevel, models: [ "MAB-075 (2.5:1)", "MAB-100 (3.0:1)", "MAB-125 (3.5:1)", "MAB-150 (3.75:1)", "MAB-200 (4.0:1)", "MAB-300 (5.0:1)", "MAB-350 (5.5:1)", "MAB-400 (6.0:1)", "MAB-500 (6.5:1)" ], description: "Precision bevel gear actuator for manual multi-turn valve operation (Gate/Globe). Designed for high efficiency, smooth transmission, and heavy-duty industrial applications.", torque: "250 Nm - 18,000 Nm", thrust: "75 KN - 2,500 KN", features: [ "Ductile Iron housing for superior strength", "High tensile Aluminum Bronze stem nut", "Heavy-duty roller bearings for high thrust loads", "Totally enclosed watertight IP67 design (IP68 optional)", "Top-entry replaceable stem nut", "Operating Temp: -20°C to +80°C (Options: -45°C to +120°C)", "Machine cut, heat-treated gears for optimum operation", "Motorizable options with ISO mounting flanges" ], applications: ["Gate Valves", "Globe Valves", "Sluice Gates", "Penstocks", "Power Plants", "Oil & Gas"], certifications: ["IP67", "IP68", "ISO 5210"], seriesLinks: [ { label: "MAB Series", path: "/products/bevel-gear/mab-series" } ] }, { id: "worm-gear", name: "WORM GEAR ACTUATORS (MAW Series)", type: "Mechanical", image: mechanicalWorm, models: ["MAW-012", "MAW-025", "MAW-045", "MAW-080", "MAW-100", "MAW-200", "MAW-300", "MAW-400"], description: "A rugged, industrial-grade worm gear actuator designed for manual quarter-turn valve operations. Features a ductile iron housing and high-performance gearing for smooth, reliable torque transmission.", torque: "100 Nm - 32,000 Nm", features: [ "Rugged Ductile Iron housing for high strength", "Torque output range: 100 Nm to 32,000 Nm", "Self-locking worm gear design for safety", "IP67 Weatherproof protection (IP68 optional)", "Operating Temp: -20°C to +85°C (Options: -45°C to +120°C)", "Adjustable mechanical stoppers (±5°)", "High-performance roller bearings for smooth operation", "Epoxy/PU coating for corrosion resistance" ], applications: ["Ball Valves", "Butterfly Valves", "Plug Valves", "Dampers", "HVAC Systems", "Water Works"], certifications: ["IP67", "IP68", "ISO 5211", "ISO 9001"], seriesLinks: [ { label: "MAW Series", path: "/products/worm-gear/maw-series" }, { label: "ITG Series", path: "/products/worm-gear/itg-series" }, { label: "MTG Series", path: "/products/worm-gear/mtg-series" } ] }, ]; const accessoryProducts: Product[] = [ { id: "its-series", name: "ITS Series Components", type: "Accessories", image: accessoriesIt, models: ["ITS 100", "ITS 300", "ITS 500"], description: "Precision-engineered position monitoring switches for rotary actuators. Features robust weatherproof and explosion-proof housings with visual indicators for reliable valve status feedback.", features: [ "Rugged aluminum or stainless steel housing options", "Visual dome indicator for 0°-90° position", "Weatherproof (IP67) and Explosion-proof (Ex d IIC T6) versions", "2-SPDT mechanical switches or proximity sensors", "NAMUR standard shaft for easy mounting", "Corrosion-resistant epoxy-polyester coating", "Wide operating temperature range (-20°C to +80°C)", "Multiple cable entry options (NPT, PF, M20)" ], applications: ["Chemical Plants", "Oil & Gas", "Water Treatment", "Power Generation", "Process Automation"], certifications: ["IP67", "IP68", "ATEX (Ex d IIC T6)", "IECEx", "CE"], seriesLinks: [ { label: "View IT Series", path: "/products/it-series" } ] }, { id: "handwheels", name: "Handwheels", type: "Accessories", image: accessoriesHandwheels, models: ["100mm - 500mm (Chain)", "200mm - 400mm (Cast)", "200mm - 1000mm (Fab)"], description: "Ergonomic manual override handwheels available in Casting, Fabricated, and Chain Wheel designs. Engineered for smooth operation and durability in harsh industrial environments.", features: [ "Available in Casting, Fabricated, and Chain Wheel types", "Size range: 100mm to 1000mm (4\" to 40\")", "Epoxy or Powder coated finish (RAL 5015/3011)", "Stainless Steel chain options for corrosive areas", "Keyed, Pinned, or Squared drive connections", "Optional locking plates and visual indicators", "Rugged construction for high torque transmission" ], applications: ["Manual Valve Override", "Gearbox Operation", "High-Reach Valve Control (Chain Wheels)", "Industrial Automation"], certifications: ["ISO 9001", "ISO 12944-2 (Painting)"] }, ]; const hydraulicProducts: Product[] = [ { id: "hyd-rotary", name: "Electro-Hydraulic Rotary Actuator", type: "Hydraulic", image: hydraulicActuator, models: [ "PANDA D10 – D130 (Low Pressure)", "PA D10 – D60 (High Pressure)" ], description: "Electro-hydraulic rotary actuators designed as a high-performance alternative to pneumatic and electric actuators. These compact units deliver very high torque density, fast response times, and near wear-free operation, making them ideal for severe-duty and hazardous area applications.", torque: "46 Nm – 10,000 Nm (Higher on request)", features: [ "Electro-hydraulic compact actuator design", "Low pressure (PANDA) and high pressure (PA) variants", "Single acting (spring return – fail safe) or double acting", "Extremely high torque density with compact dimensions", "Near wear-free operation due to oil-lubricated components", "Fail-safe function via spring or hydraulic accumulator", "Adjustable stroke time via hydraulic throttle", "No gearbox – high efficiency, minimal power loss", "Block construction – no external piping required", "ISO 5211 & NAMUR mounting interface", "Suitable for continuous outdoor and marine environments" ], applications: [ "Oil & Gas Onshore / Offshore", "Power Plants", "Water & Wastewater Treatment", "Chemical & Petrochemical Plants", "Steel & Heavy Industries", "Emergency Shut Down (ESD) Valves" ], certifications: [ "ATEX (Zone 1 & 2)", "SIL 2 / SIL 3 (Configurable)", "Machinery Directive 2006/42/EC", "EN ISO 12100", "IP67 / IP68" ], seriesLinks: [ { label: "PANDA Series – Low Pressure (up to 8 bar)", path: "/products/hydraulic-rotary/panda-series" }, { label: "PA Series – High Pressure (up to 180 bar)", path: "/products/hydraulic-rotary/pa-series" } ] } ]; const allProducts = [ ...pneumaticProducts, ...electricalProducts, ...mechanicalProducts, ...hydraulicProducts, ...accessoryProducts, ]; /* =========================================================== GET MODEL DETAILS FUNCTION =========================================================== */ const getModelDetails = (product: Product, modelNumber: string): ModelDetails => { // Default specifications based on product type const baseSpecs: ModelDetails['specifications'] = { model: modelNumber, type: product.type, }; // Add product-specific specifications if (product.torque) baseSpecs.torque = product.torque; if (product.thrust) baseSpecs.thrust = product.thrust; // Add model-specific specifications based on model number switch (product.id) { case "pds-rotary": baseSpecs.pressure = "3.5 - 8 Bar"; baseSpecs.temperature = "-20°C to +80°C"; baseSpecs.weight = "Based on model size"; break; case "hd-rotary": baseSpecs.pressure = "2.8 - 10 Bar"; baseSpecs.temperature = "-20°C to +120°C"; baseSpecs.cycles = ">2 million cycles"; break; case "itq-rotary": baseSpecs.protection = "IP67 / IP68"; baseSpecs.mounting = "ISO 5211"; baseSpecs.control = "4-20mA / 0-10V"; break; case "iql-linear": baseSpecs.stroke = "40mm - 100mm"; baseSpecs.protection = "IP66 / IP68"; baseSpecs.control = "Modulating"; break; case "bevel-gear": baseSpecs.protection = "IP67 / IP68"; baseSpecs.temperature = "-20°C to +80°C"; baseSpecs.mounting = "ISO 5210"; break; case "worm-gear": baseSpecs.protection = "IP67 / IP68"; baseSpecs.temperature = "-20°C to +85°C"; baseSpecs.mounting = "ISO 5211"; break; case "hyd-rotary": baseSpecs.pressure = "8 - 180 Bar"; baseSpecs.mounting = "ISO 5211 & NAMUR"; baseSpecs.protection = "IP67 / IP68"; break; default: baseSpecs.pressure = "Consult datasheet"; baseSpecs.temperature = "Standard industrial range"; } return { modelNumber, productName: product.name, specifications: baseSpecs, description: `${modelNumber} is part of the ${product.name} series. ${product.description}`, features: product.features || [], datasheetUrl: `/datasheets/${product.id}-${modelNumber.toLowerCase().replace(/\s+/g, '-')}.pdf`, cadUrl: `/cad/${product.id}-${modelNumber.toLowerCase().replace(/\s+/g, '-')}.step`, }; }; /* =========================================================== PRODUCT ROW =========================================================== */ const ProductRow = ({ product, index }: { product: Product; index: number }) => { const navigate = useNavigate(); const { ref, isVisible } = useScrollAnimation(0.1); const isReversed = index % 2 === 1; const [showAllModels, setShowAllModels] = useState(false); const [activeHdSeries, setActiveHdSeries] = useState(null); const [selectedModelDetails, setSelectedModelDetails] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); // Determine how many models to show initially (max 6 for compact display) const initialModelCount = 6; const hasManyModels = product.models.length > initialModelCount; const displayModels = showAllModels ? product.models : product.models.slice(0, initialModelCount); const handleModelClick = (modelNumber: string) => { const details = getModelDetails(product, modelNumber); setSelectedModelDetails(details); setIsModalOpen(true); }; return ( <>
{/* Product Image */}
{product.name}
{/* Product Details - Right Column */}
{/* HEADER SECTION */}
{product.type}

{product.name}

{/* Torque Spec */} {product.torque && (
Torque: {product.torque}
)} {/* Thrust Spec */} {product.thrust && (
Thrust: {product.thrust}
)}

{product.description}

{/* NEW: SERIES SELECTION BUTTONS WITH PREMIUM RED DESIGN */} {product.seriesLinks && product.seriesLinks.length > 0 && (

Select Series

{product.seriesLinks.map((link, idx) => ( ))}
)}
{/* KEY FEATURES GRID */} {product.features && (

Key Features

    {product.features.map((feature, idx) => (
  • {feature}
  • ))}
)} {/* APPLICATIONS & CERTIFICATIONS ROW */} {(product.applications || product.certifications) && (
{/* Applications */} {product.applications && (

Applications

{product.applications.map((app, idx) => ( {app} ))}
)} {/* Certifications */} {product.certifications && (

Certifications

{product.certifications.map((cert, idx) => ( {cert} ))}
)}
)} {/* AVAILABLE MODELS */}
{/* ================= HD ACTUATOR – CLICK SERIES ================= */} {product.id === "hd-rotary" ? (

Available Models

{/* SERIES BUTTONS */}
{hdSeriesModels.map((group, idx) => { const isActive = activeHdSeries === group.series; return ( ); })}
{/* MODELS (SHOW ONLY WHEN SERIES CLICKED) */} {activeHdSeries && (
{hdSeriesModels .filter((g) => g.series === activeHdSeries) .map((group) => (
{group.models.map((model, idx) => ( ))}
))}
)}
) : ( /* ================= NORMAL PRODUCTS ================= */
Available Models ({product.models.length}) {product.models.length > 6 && ( )}
{(showAllModels ? product.models : product.models.slice(0, 6)).map( (model, idx) => ( ) )}
)}
{/* BUTTONS */}
{/* Request a Quote */}
{/* Model Details Modal */} { setIsModalOpen(false); setSelectedModelDetails(null); }} details={selectedModelDetails} /> ); }; /* =========================================================== MAIN PAGE =========================================================== */ export default function Products() { const { t } = useLanguage(); const [searchParams] = useSearchParams(); const [activeTab, setActiveTab] = useState("all"); const contentStartRef = useRef(null); useEffect(() => { const category = searchParams.get("category"); const productId = searchParams.get("id"); if (category) { setActiveTab(category); setTimeout(() => { if (contentStartRef.current) { const yOffset = -200; const element = contentStartRef.current; const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset; window.scrollTo({ top: y, behavior: 'smooth' }); } }, 100); } if (productId) { const product = allProducts.find(p => p.id === productId); if(product) { setActiveTab(product.type.toLowerCase()); setTimeout(() => { const element = document.getElementById(productId); if (element) { element.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }, 300); } } }, [searchParams]); const filteredProducts = activeTab === "all" ? allProducts : allProducts.filter( (p) => p.type.toLowerCase() === activeTab.toLowerCase() ); return (
({ "@type": "ListItem", position: index + 1, item: { "@type": "Product", name: product.name, description: product.description, url: `https://www.susingroup.com/products/${product.id}`, }, })), }, }} /> {/* Video Hero Section */}
{/* Filter Tabs - Relative */}
All Collection Pneumatic Electrical Mechanical Accessories Hydraulic
{/* Product List */}
{filteredProducts.map((product, index) => ( ))} {filteredProducts.length === 0 && (
No products found in this category.
)}
); }