diff --git a/src/css/style.css b/src/css/style.css
index ffacd76..f32320b 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -2,4 +2,10 @@ body {
background-color: #56a0d1;
padding: 30px;
font-family: sans-serif !important;
+ overflow: hidden;
+}
+@media (pointer:coarse) {
+ body {
+ overflow: scroll;
+ }
}
\ No newline at end of file
diff --git a/src/js/drag.js b/src/js/drag.js
new file mode 100644
index 0000000..decfaee
--- /dev/null
+++ b/src/js/drag.js
@@ -0,0 +1,56 @@
+// wow i love being fake programmer
+// source: https://jams.hackclub.com/batch/webOS/part-3
+function dragElement(element) {
+ // Step 2: Set up variables to keep track of the element's position.
+ var initialX = 0;
+ var initialY = 0;
+ var currentX = 0;
+ var currentY = 0;
+
+ // Step 3: Check if there is a special header element associated with the draggable element.
+ if (document.getElementById("title-bar")) {
+ // Step 4: If present, assign the `dragMouseDown` function to the header's `onmousedown` event.
+ // This allows you to drag the window around by its header.
+ document.getElementById("title-bar").onmousedown = startDragging;
+ } else {
+ // Step 5: If not present, assign the function directly to the draggable element's `onmousedown` event.
+ // This allows you to drag the window by holding down anywhere on the window.
+ element.onmousedown = startDragging;
+ }
+
+ // Step 6: Define the `startDragging` function to capture the initial mouse position and set up event listeners.
+ function startDragging(e) {
+ e = e || window.event;
+ e.preventDefault();
+ // Step 7: Get the mouse cursor position at startup.
+ initialX = e.clientX;
+ initialY = e.clientY;
+ // Step 8: Set up event listeners for mouse movement (`elementDrag`) and mouse button release (`closeDragElement`).
+ document.onmouseup = stopDragging;
+ document.onmousemove = dragElement;
+ }
+
+ // Step 9: Define the `elementDrag` function to calculate the new position of the element based on mouse movement.
+ function dragElement(e) {
+ e = e || window.event;
+ e.preventDefault();
+ // Step 10: Calculate the new cursor position.
+ currentX = initialX - e.clientX;
+ currentY = initialY - e.clientY;
+ initialX = e.clientX;
+ initialY = e.clientY;
+ // Step 11: Update the element's new position by modifying its `top` and `left` CSS properties.
+ console.log(element.offsetTop);
+ console.log(currentX);
+ element.style.top = (element.offsetTop - currentY) + "px";
+ element.style.left = (element.offsetLeft - currentX) + "px";
+ }
+
+ // Step 12: Define the `stopDragging` function to stop tracking mouse movement by removing the event listeners.
+ function stopDragging() {
+ document.onmouseup = null;
+ document.onmousemove = null;
+ console.log(element.offsetTop - currentY);
+ console.log(element.offsetLeft - currentX);
+ }
+}
\ No newline at end of file
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 4df0f30..cdfe77c 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -6,14 +6,75 @@ const {tabTitle} = Astro.props;
---
-
-
-
-
-
- {tabTitle}
-
-
-
-
+
+
+
+
+
+ {tabTitle}
+
+
+
+
+