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 && (
{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 Details - Right Column */}
{/* HEADER SECTION */}
{product.type}
{product.name}
{/* Torque Spec */}
{product.torque && (
Torque: {product.torque}
)}
{/* Thrust Spec */}
{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.
)}
);
}