import React, { useEffect, useState, useMemo } from "react"; // ⚡ REDUXHUB V5 FULL PLATFORM (NO SERVER) // Black/White Neon UI + iOS 26 style buttons + marketplace system + favorites + profile const DEFAULT_MODS = [ { id: 1, title: "ReduxHub FPS Boost", description: "Max FPS optimization + performance tuning pack", category: "FPS", featured: true, }, { id: 2, title: "Neon Graphics Ultra Pack", description: "Enhanced lighting, reflections and visual effects", category: "Graphics", featured: true, }, { id: 3, title: "Pro UI Overhaul", description: "Modern interface redesign with smooth animations", category: "UI", featured: false, }, { id: 4, title: "Competitive Input Fix", description: "Reduces input delay for competitive gameplay", category: "Performance", featured: false, }, ]; export default function ReduxHub() { const [mods, setMods] = useState([]); const [view, setView] = useState("market"); // market | create | profile | details const [selectedMod, setSelectedMod] = useState(null); const [category, setCategory] = useState("All"); const [search, setSearch] = useState(""); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [newCategory, setNewCategory] = useState(""); const [user, setUser] = useState(() => { return localStorage.getItem("reduxhub_user") || "Guest"; }); const [favorites, setFavorites] = useState(() => { return JSON.parse(localStorage.getItem("reduxhub_favs") || "[]"); }); useEffect(() => { const stored = localStorage.getItem("reduxhub_mods_v5"); if (stored) setMods(JSON.parse(stored)); else { setMods(DEFAULT_MODS); localStorage.setItem("reduxhub_mods_v5", JSON.stringify(DEFAULT_MODS)); } }, []); const saveMods = (data) => { setMods(data); localStorage.setItem("reduxhub_mods_v5", JSON.stringify(data)); }; const toggleFav = (id) => { let updated; if (favorites.includes(id)) { updated = favorites.filter((f) => f !== id); } else { updated = [...favorites, id]; } setFavorites(updated); localStorage.setItem("reduxhub_favs", JSON.stringify(updated)); }; const addMod = () => { if (!title || !description || !newCategory) return; const newMod = { id: Date.now(), title, description, category: newCategory, featured: false, }; saveMods([newMod, ...mods]); setTitle(""); setDescription(""); setNewCategory(""); setView("market"); }; const categories = useMemo(() => { return ["All", ...new Set(mods.map((m) => m.category))]; }, [mods]); const filtered = useMemo(() => { return mods.filter( (m) => (category === "All" || m.category === category) && m.title.toLowerCase().includes(search.toLowerCase()) ); }, [mods, category, search]); const featured = mods.filter((m) => m.featured); const openMod = (mod) => { setSelectedMod(mod); setView("details"); }; return (
{/* GLOBAL STYLE — BLACK / WHITE NEON iOS26 */} {/* TOP BAR */}
ReduxHub V5
User: {user}
{/* SIDEBAR */} {/* MAIN */}
{/* MARKET */} {view === "market" && ( <>
setSearch(e.target.value)} />
{/* FEATURED */}

Featured

{featured.map((m) => (
{m.title}
{m.description}
))}
{/* FILTER */}
{categories.map((c) => ( ))}
{/* LIST */}
{filtered.map((m) => (
openMod(m)} className="cursor-pointer">
{m.title}
{m.description}
))}
)} {/* CREATE */} {view === "create" && (

Create Mod

setTitle(e.target.value)} /> setDescription(e.target.value)} /> setNewCategory(e.target.value)} />
)} {/* DETAILS */} {view === "details" && selectedMod && (

{selectedMod.title}

{selectedMod.description}

Category: {selectedMod.category}
)} {/* PROFILE */} {view === "profile" && (

Profile

Username: {user}

Favorites: {favorites.length}

)}
); }