import { useState, useEffect, useRef } from "react"; const FONTS = `@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Syne:wght@400;700;800&display=swap');`; const ITEMS = { tops: [ { id: "t1", name: "STATIC CREWNECK", price: "$89", color: "#1a1a1a", accent: "#00ff88", emoji: "๐Ÿ‘•", tag: "BESTSELLER" }, { id: "t2", name: "VOID HOODIE", price: "$129", color: "#0d0d2b", accent: "#ff3cff", emoji: "๐Ÿงฅ", tag: "NEW" }, { id: "t3", name: "CHROME TEE", price: "$59", color: "#e8e8e8", accent: "#ff2020", emoji: "๐Ÿ‘•", tag: "LIMITED" }, { id: "t4", name: "GRUNGE LONGSLEEVE", price: "$74", color: "#2a1a0a", accent: "#ffa500", emoji: "๐Ÿ‘•", tag: "HOT" }, { id: "t5", name: "ACID WASH ZIP", price: "$109", color: "#1a2a1a", accent: "#88ff00", emoji: "๐Ÿงฅ", tag: "SALE" }, { id: "t6", name: "NEON BOMBER", price: "$149", color: "#0a0a1a", accent: "#00ffff", emoji: "๐Ÿงฅ", tag: "NEW" }, ], bottoms: [ { id: "b1", name: "PHANTOM CARGOS", price: "$119", color: "#1a1a1a", accent: "#00ff88", emoji: "๐Ÿ‘–", tag: "BESTSELLER" }, { id: "b2", name: "GLITCH JEANS", price: "$99", color: "#0d1a2b", accent: "#4488ff", emoji: "๐Ÿ‘–", tag: "HOT" }, { id: "b3", name: "SHRED SHORTS", price: "$69", color: "#2b1a1a", accent: "#ff4444", emoji: "๐Ÿฉณ", tag: "SUMMER" }, { id: "b4", name: "UTILITY PANTS", price: "$109", color: "#1a2a0d", accent: "#88ff44", emoji: "๐Ÿ‘–", tag: "NEW" }, { id: "b5", name: "WIDE CORDS", price: "$89", color: "#2a1a2a", accent: "#dd88ff", emoji: "๐Ÿ‘–", tag: "LIMITED" }, { id: "b6", name: "MESH TRACK", price: "$79", color: "#0a1a1a", accent: "#00ffdd", emoji: "๐Ÿฉณ", tag: "SALE" }, ], shoes: [ { id: "s1", name: "STATIC LOWS", price: "$149", color: "#1a1a1a", accent: "#ff3cff", emoji: "๐Ÿ‘Ÿ", tag: "BESTSELLER" }, { id: "s2", name: "VOID CHUNKY", price: "$189", color: "#2b1a0d", accent: "#ff8800", emoji: "๐Ÿ‘Ÿ", tag: "NEW" }, { id: "s3", name: "CHROME RUNNER", price: "$169", color: "#e8e8e8", accent: "#0044ff", emoji: "๐Ÿ‘Ÿ", tag: "HOT" }, { id: "s4", name: "GRUNGE BOOT", price: "$209", color: "#1a0d0d", accent: "#ff2020", emoji: "๐Ÿ‘ข", tag: "COLLAB" }, { id: "s5", name: "MULE PLATFORM", price: "$129", color: "#1a1a2a", accent: "#8844ff", emoji: "๐Ÿฅฟ", tag: "LIMITED" }, { id: "s6", name: "Y2K SANDAL", price: "$89", color: "#2a1a0a", accent: "#ffdd00", emoji: "๐Ÿ‘ก", tag: "SUMMER" }, ], accessories: [ { id: "a1", name: "SIGNAL CAP", price: "$49", color: "#1a1a1a", accent: "#00ff88", emoji: "๐Ÿงข", tag: "NEW" }, { id: "a2", name: "STATIC CHAIN", price: "$79", color: "#c0c0c0", accent: "#ff3cff", emoji: "โ›“๏ธ", tag: "HOT" }, { id: "a3", name: "VOID SHADES", price: "$119", color: "#0a0a0a", accent: "#00ffff", emoji: "๐Ÿ•ถ๏ธ", tag: "COLLAB" }, { id: "a4", name: "GLITCH BEANIE", price: "$44", color: "#1a0d2a", accent: "#aa44ff", emoji: "๐Ÿงฃ", tag: "WINTER" }, { id: "a5", name: "CHROME BAG", price: "$159", color: "#c8c8c8", accent: "#ff2020", emoji: "๐Ÿ‘œ", tag: "LIMITED" }, { id: "a6", name: "NEON BELT", price: "$54", color: "#0a1a0a", accent: "#88ff00", emoji: "๐Ÿ”ง", tag: "BESTSELLER" }, ], }; const CATEGORY_LABELS = { tops: "TOPS", bottoms: "BOTTOMS", shoes: "SHOES", accessories: "EXTRAS" }; export default function ByxtraApp() { const [activeSection, setActiveSection] = useState("home"); const [activeCategory, setActiveCategory] = useState("tops"); const [outfit, setOutfit] = useState({ tops: null, bottoms: null, shoes: null, accessories: null }); const [glitch, setGlitch] = useState(false); const [ticker, setTicker] = useState(0); const [hoveredItem, setHoveredItem] = useState(null); useEffect(() => { const style = document.createElement("style"); style.textContent = ` ${FONTS} * { box-sizing: border-box; margin: 0; padding: 0; } body { background: #080808; } ::-webkit-scrollbar { width: 4px; } ::-webkit-scrollbar-track { background: #111; } ::-webkit-scrollbar-thumb { background: #00ff88; } @keyframes glitch1 { 0%,100% { clip-path: inset(0 0 95% 0); transform: translate(-2px,0); } 20% { clip-path: inset(30% 0 50% 0); transform: translate(2px,0); } 40% { clip-path: inset(70% 0 5% 0); transform: translate(-2px,0); } 60% { clip-path: inset(10% 0 80% 0); transform: translate(2px,0); } 80% { clip-path: inset(50% 0 30% 0); transform: translate(-2px,0); } } @keyframes glitch2 { 0%,100% { clip-path: inset(80% 0 5% 0); transform: translate(2px,0); color:#ff3cff; } 25% { clip-path: inset(20% 0 60% 0); transform: translate(-3px,0); color:#00ffff; } 50% { clip-path: inset(55% 0 25% 0); transform: translate(3px,0); color:#ff3cff; } 75% { clip-path: inset(5% 0 85% 0); transform: translate(-2px,0); color:#00ffff; } } @keyframes scanline { 0% { top: -10%; } 100% { top: 110%; } } @keyframes pulse-glow { 0%,100% { box-shadow: 0 0 20px #00ff8844, 0 0 40px #00ff8822; } 50% { box-shadow: 0 0 40px #00ff8888, 0 0 80px #00ff8844; } } @keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } @keyframes slide-in-left { from { opacity:0; transform: translateX(-30px); } to { opacity:1; transform: translateX(0); } } @keyframes slide-in-up { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform: translateY(0); } } @keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } } @keyframes blink { 0%,100% { opacity:1; } 50% { opacity:0; } } @keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes noise { 0%,100%{background-position:0 0} 10%{background-position:-5% -10%} 20%{background-position:-15% 5%} 30%{background-position:7% -25%} 40%{background-position:20% 25%} 50%{background-position:-25% 10%} 60%{background-position:15% 5%} 70%{background-position:0 15%} 80%{background-position:25% 35%} 90%{background-position:-10% 10%} } .glitch-text { position:relative; } .glitch-text::before, .glitch-text::after { content: attr(data-text); position: absolute; top:0; left:0; width:100%; height:100%; font: inherit; color: inherit; } .glitch-text::before { animation: glitch1 0.3s infinite linear; color:#00ffff; } .glitch-text::after { animation: glitch2 0.3s infinite linear; color:#ff3cff; } .card-hover { transition: transform 0.2s ease, box-shadow 0.2s ease; } .card-hover:hover { transform: translateY(-4px) scale(1.02); } .nav-btn { background: none; border: none; cursor: pointer; font-family: 'Space Mono', monospace; font-size: 12px; letter-spacing: 2px; padding: 8px 16px; transition: all 0.2s; position: relative; } .nav-btn::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: #00ff88; transition: width 0.2s; } .nav-btn:hover::after, .nav-btn.active::after { width: 100%; } .select-btn { background: none; border: 1px solid #333; color: #888; padding: 6px 12px; font-family: 'Space Mono', monospace; font-size: 10px; cursor: pointer; letter-spacing: 1px; transition: all 0.2s; } .select-btn:hover, .select-btn.selected { border-color: #00ff88; color: #00ff88; background: #00ff8811; } .tag { font-family: 'Space Mono', monospace; font-size: 9px; letter-spacing: 2px; padding: 3px 8px; } `; document.head.appendChild(style); return () => document.head.removeChild(style); }, []); useEffect(() => { const interval = setInterval(() => setTicker(t => t + 1), 30); return () => clearInterval(interval); }, []); const toggleOutfitItem = (category, item) => { setOutfit(prev => ({ ...prev, [category]: prev[category]?.id === item.id ? null : item, })); }; const clearOutfit = () => setOutfit({ tops: null, bottoms: null, shoes: null, accessories: null }); const outfitCount = Object.values(outfit).filter(Boolean).length; const outfitTotal = Object.values(outfit) .filter(Boolean) .reduce((sum, item) => sum + parseInt(item.price.replace("$", "")), 0); const tickerText = "BYXTRA โœฆ NEW DROP โœฆ COMBINE YOUR FIT โœฆ FREE SHIPPING OVER $200 โœฆ LIMITED EDITION โœฆ "; const repeated = (tickerText + tickerText + tickerText).repeat(3); return (
{/* Noise overlay */}
{/* NAV */} {/* TICKER */}
{repeated}
{/* MAIN CONTENT */}
{/* HOME */} {activeSection === "home" && (
{/* Hero */}
โ—‰ SS25 COLLECTION LIVE
DRESS THE SIGNAL

Clothing built for the static generation. Mix every piece. Create your own frequency. No rules, only fits.

{/* Hero visual */}
{/* Scanline */}
SS25 // ITEM #001
๐Ÿงฅ
VOID HOODIE
$129
LIMITED EDITION
NEW
{/* Corner decorations */}
{/* Floating badges */}
FRESH
DROP
โšก
{/* Categories strip */}
BROWSE BY DROP
{Object.entries(CATEGORY_LABELS).map(([cat, label], i) => (
{ setActiveSection("shop"); setActiveCategory(cat); }} style={{ background: `linear-gradient(135deg, #0d0d0d, #111)`, border: "1px solid #1a1a1a", padding: "32px 24px", cursor: "pointer", position: "relative", overflow: "hidden", animation: `slide-in-up 0.4s ease ${i * 0.1}s both`, }}>
{["๐Ÿ‘•", "๐Ÿ‘–", "๐Ÿ‘Ÿ", "โ›“๏ธ"][i]}
{label}
{ITEMS[cat].length} ITEMS
))}
{/* Combine CTA */}
โœฆ EXCLUSIVE FEATURE
BUILD YOUR
PERFECT FIT

Mix & match tops, bottoms, shoes, and extras. See your complete outfit, get the total price, and cop everything at once.

)} {/* SHOP */} {activeSection === "shop" && (
THE DROP
SS25 // {Object.values(ITEMS).flat().length} PIECES
{/* Category tabs */}
{Object.entries(CATEGORY_LABELS).map(([cat, label]) => ( ))}
{/* Items grid */}
{ITEMS[activeCategory].map((item, i) => { const inOutfit = outfit[activeCategory]?.id === item.id; return (
setHoveredItem(item.id)} onMouseLeave={() => setHoveredItem(null)} > {/* Item visual */}
{item.emoji}
{item.tag}
{inOutfit && (
โœ“ IN OUTFIT
)}
{item.name}
{item.price}
); })}
)} {/* COMBINE MAKER */} {activeSection === "combine" && (
โšก FIT MAKER
SELECT ONE FROM EACH CATEGORY โ€” BUILD YOUR PERFECT FIT
{/* Left: Selectors */}
{Object.entries(CATEGORY_LABELS).map(([cat, label]) => (
{label}
{outfit[cat] && (
{outfit[cat].name}
)}
{ITEMS[cat].map(item => { const selected = outfit[cat]?.id === item.id; return (
toggleOutfitItem(cat, item)} style={{ width: 110, cursor: "pointer", border: `1px solid ${selected ? item.accent : "#1a1a1a"}`, background: selected ? `${item.accent}11` : "#0d0d0d", padding: "12px 8px", transition: "all 0.2s", position: "relative", boxShadow: selected ? `0 0 16px ${item.accent}33` : "none", transform: selected ? "scale(1.05)" : "scale(1)", }}>
{item.emoji}
{item.name}
{item.price}
{selected && (
โœ“
)}
); })}
))}
{/* Right: Outfit preview */}
{/* Header */}
YOUR FIT
{outfitCount}/4 PIECES
{/* Outfit slots */}
{Object.entries(CATEGORY_LABELS).map(([cat, label]) => { const item = outfit[cat]; return (
{item ? item.emoji : +}
{item ? ( <>
{item.name}
{item.price}
) : ( <>
{label}
NOT SELECTED
)}
{item && ( )}
); })}
{/* Total + CTA */}
TOTAL
0 ? "#00ff88" : "#333", }}> ${outfitTotal}
{outfitCount > 0 ? (
) : (
โ† SELECT PIECES
TO BUILD YOUR FIT
)} {outfitCount === 4 && (
๐Ÿ”ฅ FULL FIT UNLOCKED
FREE SHIPPING INCLUDED
)}
{/* Scanline effect on card */}
{/* Stats below card */}
{[ ["PIECES SELECTED", `${outfitCount} / 4`], ["SAVINGS", outfitCount === 4 ? "FREE SHIP" : "โ€”"], ].map(([label, val]) => (
{label}
{val}
))}
)}
{/* Footer */}
BYXTRA
ยฉ 2025 BYXTRA โ€” ALL RIGHTS RESERVED
DRESSED IN STATIC
); }