X-Git-Url: https://git.r.bdr.sh/rbdr/canvas/blobdiff_plain/c336b229424eeb95b29a2d450b298c5d2f44fc01..f106543fe9cf1def42f2af9f011acf0c83ddd411:/src/routes/index.svelte?ds=inline

diff --git a/src/routes/index.svelte b/src/routes/index.svelte
index f2544cf..22ad5e4 100644
--- a/src/routes/index.svelte
+++ b/src/routes/index.svelte
@@ -1,10 +1,12 @@
 <script>
 
   import { browser } from '$app/env';
+	import { blink } from '$lib/animations/blink';
 
   const dotSize = 24;
   $: x = 0;
   $: y = 0;
+  $: shouldShowPalette = false;
 
   if (browser) {
     document.documentElement.style.setProperty('--dot-size', dotSize + 'px');
@@ -47,15 +49,47 @@
     return sign + value;
   }
 
+  const showPalette = function showPalette(event) {
+    event.preventDefault();
+    dragging = null;
+    document.documentElement.style.setProperty('--palette-x', event.clientX + 'px');
+    document.documentElement.style.setProperty('--palette-y', event.clientY + 'px');
+    shouldShowPalette = true;
+  }
+
+  const hidePalette = function hidePalette() {
+    event.preventDefault();
+    shouldShowPalette = false;
+  }
 </script>
 
-<div class="canvas" on:mousedown={startDragging} on:mouseup={stopDragging} on:mousemove={moveCanvas}>
+<div
+  class="canvas"
+  on:contextmenu={showPalette}
+  on:mousedown={startDragging}
+  on:mouseup={stopDragging}
+  on:mousemove={moveCanvas}>
 </div>
 
 <div class="hud">
   ({ formatCoordinate(x) }, { formatCoordinate(y) })
 </div>
 
+{#if shouldShowPalette }
+  <div class="palette-container" on:click={hidePalette}>
+  </div>
+  <div class="palette" transition:blink>
+    <p>
+      palette palette palette palette palette palette <br/>
+      palette palette palette palette palette palette <br/>
+      palette palette palette palette palette palette <br/>
+      palette palette palette palette palette palette <br/>
+      palette palette palette palette palette palette <br/>
+      palette palette palette palette palette palette <br/>
+    </p>
+  </div>
+{/if}
+
 <style>
   .canvas {
     user-select: none;
@@ -77,4 +111,23 @@
     font-smooth: never;
     -webkit-font-smoothing : none;
   }
+
+  .palette {
+    position: fixed;
+    top: var(--palette-y);
+    left: var(--palette-x);
+    border: 1px solid black;
+    background-color: #fff;
+    overflow: hidden;
+  }
+
+  .palette-container {
+    width: 100vw;
+    height: 100vh;
+    background-color: #f0f;
+    position: fixed;
+    top: 0;
+    left: 0;
+  }
+
 </style>
