// Stannox section components — Stannox DS aligned const Ribbon = () => (
✦ ของแท้ 100% · จัดส่งทั่วประเทศจาก marketplace · เทียบสเปกได้ทุก SKU LINE OA: @stannox
); const Nav = () => { const [openMega, setOpenMega] = React.useState(false); const mps = ["shopee", "lazada", "tiktok"]; return (
Stannox
{mps.map(mp => ( {MarketplaceLabel[mp]} ))}
); }; const Hero = () => { // Drop a real file at assets/hero-loop.mp4 (and optional .webm) and the placeholder gets out of the way. const VIDEO_SRC = "assets/hero-loop.mp4"; const [hasVideo, setHasVideo] = React.useState(false); return (
● Live Preview · Motion Placeholderdrop hero-loop.mp4 in /assets to replace
STX-AT102 Heavy-Duty Tire Inflator
LEAD THE INNOVATION · Catalog 2026

เครื่องมือช่าง
มืออาชีพ
ในราคาที่ทำงานได้

Stannox — เครื่องมือช่างระดับกลางสำหรับช่างที่ใช้งานจริง ครบทุกหมวด ทนทาน คุ้มราคา หาซื้อได้ทั่วประเทศ

ดูสินค้าทั้งหมด สนใจเป็นตัวแทน
217SKUs in catalog
218+ตัวแทนทั่วประเทศ
8หมวดสินค้า
); }; const Categories = () => (
02 / Catalog

เลือกหมวดที่ต้องการ

ดูทั้งหมด
{CATEGORIES.map(c => ( {c.idx} / 08

{c.name}

{c.skus} SKUs
))}
); const BestSellers = () => { const mps = ["shopee","lazada","tiktok"]; return (
03 / Best Sellers · Q1 2026

ขายดีตลอดทั้งปี

ดูสินค้าทั้งหมด
{BEST_SELLERS.map(p => ( ))}
); }; const WhyStannox = () => (
04 / Why Stannox

เหตุผลที่ช่างเลือก

{PILLARS.map(p => (
{p.idx}

{p.title}

{p.body}

))}
); const Trusted = () => (
05 / Distribution · ทั่วประเทศ

ยี่ปั๊วซาปั๊วทั่วประเทศไว้ใจ

เป็นตัวแทนจำหน่าย
Across Thailand · 2026
218+
ร้านค้า stock สินค้า Stannox 77 จังหวัด · 6 ภูมิภาค

เครือข่ายตัวแทนของเรากระจายครบทุกภูมิภาค — ยี่ปั๊วใหม่สั่งของได้จากศูนย์กระจายที่ใกล้ที่สุด พร้อมทีม sales ลงพื้นที่

หาตัวแทนใกล้คุณ
{REGIONS.map(r => (
{r.name}
{r.count}
{r.prov}
))}
{DEALER_LOGOS.map((name, i) => (
{name}
))}
); const InAction = () => (
06 / In Action · ใช้จริง ในงานจริง

เครื่องมือที่ลงไซต์ทุกวัน

); const WhereToBuy = () => (
07 / Where to Buy

ซื้อ Stannox ได้ที่ไหน?

Retail · ซื้อปลีก

ซื้อปลีกที่ marketplace ที่คุณใช้ประจำ

ทุก SKU มีจำหน่ายบน 3 marketplace หลัก — ของแท้จากแบรนด์ ส่งฟรีตามโปรของแต่ละแพลตฟอร์ม

Shopeestannox.official · 4.9 ★ · 12k followers
Lazadastannox.lazmall · LazMall verified
TikTok Shop@stannox.th · live ทุกเย็น
B2B · ตัวแทนจำหน่าย

เปิดร้าน? ขายให้คนอื่น?

เปิดรับยี่ปั๊ว ซาปั๊ว และร้านค้าปลีกที่ต้องการ stock สินค้า Stannox — margin ดี exclusive territory ทีม sales support

  • + Margin 25-40% สำหรับร้านปลีก
  • + Exclusive territory ในจังหวัดที่ตกลง
  • + ทีม Sales ลงพื้นที่ + POS materials
  • + เงื่อนไขเครดิตที่ยืดหยุ่น
สนใจเป็นตัวแทนจำหน่าย
); const Footer = () => ( ); Object.assign(window, { Nav, Hero, Categories, BestSellers, WhyStannox, Trusted, InAction, WhereToBuy, Footer }); /* ============================================================ HeroV2 — Product slider (yellow stage, slide L/R interaction) ============================================================ */ const HERO_SLIDES = [ { idx: "01", category: "Power Tools · เครื่องมือไฟฟ้า", titleLines: ["HAMMER", "DRILL", "20V MAX"], code: "STX-HD205", spec: "20V LITHIUM-ION · 3-SPEED HAMMER DRILL · ALL-METAL CHUCK", stat: { tag: "20V", figure: "MAX", plus: false }, desc: "สว่านกระแทกไร้สาย Stannox — แรง ทน ใช้งานหนัก เหมาะกับช่างมืออาชีพทุกประเภท", video: { title: "ดูสาธิตการใช้งาน", sub: "VIDEO · 1:42" }, img: "assets/hero/drill.png", }, { idx: "02", category: "Measuring · เครื่องมือวัด", titleLines: ["TAPE", "MEASURE", "8 METER"], code: "STX-MT826", spec: "8 M / 26 FT · AUTO-LOCK · NYLON COATED · IMPACT SHELL", stat: { tag: "AUTO", figure: "8M", plus: false }, desc: "ตลับเมตร 8 ม. ตัวเรือนยางกันกระแทก — เทป Nylon Coated ทนสึก อ่านง่ายในทุกสภาพแสง", video: { title: "วิธีอ่านสเกล", sub: "VIDEO · 0:48" }, img: "assets/hero/tape.png", }, { idx: "03", category: "Hand Tools · ไขควง", titleLines: ["PRO-GRIP", "SCREWDRIVER", "PH2"], code: "STX-SD200", spec: "S2 STEEL SHAFT · TPR DUAL-GRIP · MAGNETIC TIP · PHILLIPS PH2", stat: { tag: "S2", figure: "PH2", plus: false }, desc: "ไขควงด้าม Dual-Grip ปลายแม่เหล็ก ก้านเหล็ก S2 — ทนแรงบิด ใช้งานทุกวันไม่เสื่อมสภาพ", video: { title: "เทคนิคจับด้าม", sub: "VIDEO · 0:52" }, img: "assets/hero/screwdriver.png", }, { idx: "04", category: "Cutting · ใบตัด", titleLines: ["DIAMOND", "CUTTING", "DISC"], code: "STX-CD115", spec: "4.5\" / 115 MM · 13,300 RPM MAX · GRANITE · MARBLE · MASONRY", stat: { tag: "RPM", figure: "13.3K", plus: false }, desc: "ใบตัดเพชร 4.5 นิ้ว ฟันเทอร์โบ — สำหรับงานหิน แกรนิต และวัสดุก่อสร้างทุกประเภท", video: { title: "วิธีติดตั้ง", sub: "VIDEO · 1:05" }, img: "assets/hero/disc.png", }, ]; /* ============================================================ ProductArt — bold flat silhouette art for each hero slide. No photoreal — intentional industrial graphics on yellow stage. ============================================================ */ const ProductArt = ({ kind }) => { const INK = "#0E1A4F"; // brand deep navy const BLUE = "#1B2A78"; // primary const YEL = "#FFD60A"; // brand yellow accent const HI = "#FFFFFF"; // highlight const SHADE = "rgba(14,26,79,.18)"; const wrap = (children) => ( {children} ); if (kind === "inflator") return wrap( {/* Gauge dial */} {/* tick marks */} {Array.from({length:12}).map((_,n)=>{ const a = (n / 12) * Math.PI * 1.5 - Math.PI * 1.75; const x1 = 300 + Math.cos(a) * 64, y1 = 170 + Math.sin(a) * 64; const x2 = 300 + Math.cos(a) * 76, y2 = 170 + Math.sin(a) * 76; return ; })} {/* needle */} {/* Body cylinder */} {/* Trigger handle */} {/* Trigger */} {/* Hose nozzle going down */} {/* Wordmark detail */} STANNOX ); if (kind === "plier") return wrap( {/* Top jaw cluster */} {/* small teeth gap */} {/* pivot bolt */} {/* Handles (crossed) */} {/* Grip overmolds */} {/* Grip dots */} {Array.from({length:6}).map((_,n)=>( ))} {/* End caps */} ); if (kind === "tape") return wrap( {/* Body shell */} {/* Yellow inset front */} {/* Big dial circle */} {/* Inner ring */} 5M {/* Wordmark strip */} STANNOX {/* Lock button on top */} {/* Clip on bottom */} {/* Tape exit slot */} ); if (kind === "blade") return wrap( {/* Main blade body — slight perspective angle */} {/* Top edge highlight */} {/* Teeth strip on bottom */} { let d = "M80 380 "; for (let x = 80; x < 520; x += 18) d += `L${x+9} 410 L${x+18} 380 `; d += "L520 380 Z"; return d; })()} fill={INK}/> {/* Mount hole left */} {/* Mount hole right */} {/* Wordmark on blade */} STANNOX HSS · 24T {/* Second blade behind */} { let d = "M80 540 "; for (let x = 80; x < 520; x += 18) d += `L${x+9} 568 L${x+18} 540 `; d += "L520 540 Z"; return d; })()} fill={BLUE}/> {/* Pack count badge */} 10 PACK ); if (kind === "trimmer") return wrap( {/* Outer ring */} {/* Inner ring of nylon line — concentric rings */} {Array.from({length:14}).map((_,n)=>{ const r = 200 - n*12; return ; })} {/* End tail of line */} {/* Center label */} STANNOX 2.4 MM 15 METER SPOOL {/* Cross-hatch over coil suggesting texture */} ); return null; }; Object.assign(window, { ProductArt }); const HeroV2 = () => { const [i, setI] = React.useState(0); const total = HERO_SLIDES.length; const touchStart = React.useRef(null); const go = (next) => setI((next + total) % total); React.useEffect(() => { const t = setInterval(() => setI(x => (x + 1) % total), 7500); return () => clearInterval(t); }, [total]); React.useEffect(() => { const onKey = (e) => { if (e.key === "ArrowLeft") go(i - 1); if (e.key === "ArrowRight") go(i + 1); }; window.addEventListener("keydown", onKey); return () => window.removeEventListener("keydown", onKey); // eslint-disable-next-line react-hooks/exhaustive-deps }, [i]); const onTouchStart = (e) => { touchStart.current = e.touches[0].clientX; }; const onTouchEnd = (e) => { if (touchStart.current == null) return; const dx = e.changedTouches[0].clientX - touchStart.current; if (dx > 40) go(i - 1); else if (dx < -40) go(i + 1); touchStart.current = null; }; const slide = HERO_SLIDES[i]; return (
{/* Industrial backdrop — yellow stage + watermark wordmark texture */}
{slide.idx}
{String(i + 1).padStart(2, "0")} / {String(total).padStart(2, "0")}
{slide.idx} {slide.category}

{slide.titleLines.map((t, n) => {t})}

ดูสินค้าทั้งหมด เป็นตัวแทน
{slide.code}
{HERO_SLIDES.map((_, n) => (
{slide.code}
{slide.spec}
{slide.stat.tag} {slide.stat.figure}{slide.stat.plus && +}

{slide.desc}

); }; Object.assign(window, { HeroV2 });