diff --git a/src/components/SettingsDialog/index.tsx b/src/components/SettingsDialog/index.tsx new file mode 100644 index 0000000..9ef91fb --- /dev/null +++ b/src/components/SettingsDialog/index.tsx @@ -0,0 +1,150 @@ +import React, { FunctionComponent } from "react"; + +import { + Box, + Button, + Dialog, + DialogTitle, + IconButton, + List, + ListItem, + ListItemText, + MenuItem, + Select, + Slider, + Stack, + Switch +} from "@mui/material"; +import { BsSpeakerFill } from "react-icons/bs"; +import { FaGamepad, FaPencilRuler } from "react-icons/fa"; +import { IoClose } from "react-icons/io5"; +import useSettings from "../../stores/settings"; + +const SettingsDialog: FunctionComponent = () => { + const settings = useSettings(); + + const [activeTab, setActiveTab] = React.useState(0); + + return ( + + Settings + + + + + + + + setActiveTab(0)} + active={activeTab === 0} + icon={} + text="Appearance" + /> + setActiveTab(1)} + active={activeTab === 1} + icon={} + text="Sound" + /> + setActiveTab(2)} + active={activeTab === 2} + icon={} + text="Game" + /> + + + + + + + + + + + ); +}; + +interface SettingsButtonProps { + icon: React.ReactNode; + text: string; + active?: boolean; + onClick?: () => void; +} + +const SettingsButton: FunctionComponent = ({ + icon, + text, + active, + onClick, +}) => { + return ( + + ); +}; + +export default SettingsDialog; diff --git a/src/main.tsx b/src/main.tsx index 58f40cd..6a7e790 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -5,6 +5,7 @@ import Routes from "./routes"; import { Helmet } from "react-helmet"; import ThemeProvider from "./theme/provider"; import { CardFlashProvider } from "./components/CardFlash"; +import SettingsDialog from "./components/SettingsDialog"; // Log all environment variables console.table(import.meta.env); @@ -18,6 +19,8 @@ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + +