diff --git a/src/components/dialogs/SetScale.tsx b/src/components/dialogs/SetScale.tsx
new file mode 100644
index 0000000..668b0f1
--- /dev/null
+++ b/src/components/dialogs/SetScale.tsx
@@ -0,0 +1,40 @@
+import { useContext, useState } from "react";
+
+import { CanvasContext } from "@/context/Canvas";
+
+import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
+import { Button } from "@/components/ui/button";
+import { Input } from "@/components/ui/input";
+
+function SetScale({ close }: DialogProps) {
+ const { scale, setScale } = useContext(CanvasContext);
+
+ const [newScale, setNewScale] = useState(scale * 100);
+
+ const onSubmit = () => {
+ setScale(newScale / 100);
+ close();
+ };
+
+ return (
+
+
+ Set Scale
+ Set your scale to a particular percentage
+
+
+ setNewScale(parseInt(e.target.value))} />
+
+
+
+
+
+
+ );
+}
+
+export default SetScale;
diff --git a/src/components/menubar/ViewMenu.tsx b/src/components/menubar/ViewMenu.tsx
index 6894e84..9d17656 100644
--- a/src/components/menubar/ViewMenu.tsx
+++ b/src/components/menubar/ViewMenu.tsx
@@ -1,8 +1,11 @@
import { useContext } from "react";
-import { MenubarCheckboxItem, MenubarContent, MenubarMenu, MenubarTrigger } from "@/components/ui/menubar";
+import { MenubarCheckboxItem, MenubarContent, MenubarItem, MenubarMenu, MenubarSeparator, MenubarTrigger } from "@/components/ui/menubar";
+
+import { DialogContext } from "@/context/Dialog";
import { SettingsContext } from "@/context/Settings";
function ViewMenu() {
+ const openDialog = useContext(DialogContext);
const { settings, setSetting } = useContext(SettingsContext);
const onCheckedChange = (key: keyof Settings) => (value: boolean) => {
@@ -13,6 +16,8 @@ function ViewMenu() {
View
+ openDialog("SetScale")}>Set Scale
+
Grid