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 (
+
+ );
+};
+
+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(
+
+