import React from "@modules/react"; import Drawer from "./drawer"; import Switch from "./components/switch"; import Dropdown from "./components/dropdown"; import Number from "./components/number"; import Item from "./components/item"; import Textbox from "./components/textbox"; import Slider from "./components/slider"; import Radio from "./components/radio"; import Keybind from "./components/keybind"; import Color from "./components/color"; const {useCallback} = React; export default function Group({onChange, id, name, button, shown, onDrawerToggle, showDivider, collapsible, settings}) { const change = useCallback((settingId, value) => { if (id) onChange?.(id, settingId, value); else onChange?.(settingId, value); }, [id, onChange]); return {settings.filter(s => !s.hidden).map((setting) => { let component = null; const callback = value => change(setting.id, value); if (setting.type == "dropdown") component = ; if (setting.type == "number") component = ; if (setting.type == "switch") component = ; if (setting.type == "text") component = ; if (setting.type == "slider") component = ; if (setting.type == "radio") component = ; if (setting.type == "keybind") component = ; if (setting.type == "color") component = ; if (!component) return null; return {component}; })} ; }