From 042af07874dc0afb77b72aeff62a8c3a43c5da28 Mon Sep 17 00:00:00 2001
From: Oliver Bryan <04oliverbryan@gmail.com>
Date: Wed, 7 Jan 2026 15:52:33 +0000
Subject: [PATCH] konva Stage setup
---
src/App.css | 2 +-
src/Index.tsx | 23 ++++++++++++++++++++++-
src/Layout.tsx | 6 +++---
src/components/theme-toggle.tsx | 3 ++-
src/components/ui/button.tsx | 3 ++-
5 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/src/App.css b/src/App.css
index e23bd7a..877e638 100644
--- a/src/App.css
+++ b/src/App.css
@@ -61,7 +61,7 @@
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.577 0.245 27.325);
- --border: oklch(0.922 0 0);
+ --border: oklch(0.85 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--chart-1: oklch(0.646 0.222 41.116);
diff --git a/src/Index.tsx b/src/Index.tsx
index e26ff2e..4a72f50 100644
--- a/src/Index.tsx
+++ b/src/Index.tsx
@@ -1,5 +1,26 @@
+import { Stage, Layer, Circle } from "react-konva";
+
+const STAGE_SIZE = 0.6;
+const ASPECT_RATIO = 4 / 3;
+
function Index() {
- return
;
+ return (
+
+
+
+
+
+ );
}
export default Index;
diff --git a/src/Layout.tsx b/src/Layout.tsx
index 25ac1e8..180561c 100644
--- a/src/Layout.tsx
+++ b/src/Layout.tsx
@@ -7,17 +7,17 @@ export default function Layout({ children }: { children: React.ReactNode }) {
return (
-
+
The Shape of Sound
{router.pathname !== "/settings" && (
-
+
)}
{router.pathname !== "/" && (
-
+
)}
diff --git a/src/components/theme-toggle.tsx b/src/components/theme-toggle.tsx
index 56706ac..9d112fa 100644
--- a/src/components/theme-toggle.tsx
+++ b/src/components/theme-toggle.tsx
@@ -23,13 +23,14 @@ function ThemeToggle() {
);
}
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx
index f0dec4b..20aef65 100644
--- a/src/components/ui/button.tsx
+++ b/src/components/ui/button.tsx
@@ -16,10 +16,11 @@ const buttonVariants = cva(
"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
- dummy: "bg-transparent",
+ dummy: "bg-transparent px-0 py-0 mx-0 my-0",
link: "text-primary underline-offset-4 hover:underline",
},
size: {
+ none: "",
default: "h-9 px-4 py-2 has-[>svg]:px-3",
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",