From 988e171f223d236e9b07b3ae15cda199cc0233b4 Mon Sep 17 00:00:00 2001 From: kts of kettek Date: Wed, 21 Feb 2024 21:07:22 -0800 Subject: [PATCH] Add some wip stub for HSV color picker --- frontend/src/App.svelte | 15 ++- frontend/src/components/ColorSelector.svelte | 71 +++++++++++ frontend/src/sections/Palette.svelte | 1 + frontend/src/types/colors.ts | 122 +++++++++++++++++++ frontend/src/types/palette.ts | 7 ++ 5 files changed, 213 insertions(+), 3 deletions(-) create mode 100644 frontend/src/components/ColorSelector.svelte create mode 100644 frontend/src/types/colors.ts diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 38e28c0..7d8b5f6 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -4,7 +4,7 @@ import Importer from './sections/Importer.svelte'; import PaletteSection from './sections/Palette.svelte' import FloatingPanel from './components/FloatingPanel.svelte' - import { Palette, PaletteEntry, defaultPalette } from './types/palette' + import { Palette, PaletteEntry, defaultPalette, type Color } from './types/palette' import { LoadedFile, PixelsPlaceUndoable, SelectionClearUndoable, SelectionSetUndoable } from './types/file' @@ -23,12 +23,19 @@ import Shortcuts from './components/Shortcuts.svelte' import { CopyPaste } from './types/copypaste' import type { PixelPosition } from './types/shapes.js'; + import ColorSelector from './components/ColorSelector.svelte'; let theme: 'white'|'g10'|'g80'|'g90'|'g100' = 'g90' let palette: Palette = defaultPalette() let primaryColorIndex: number = 1 let secondaryColorIndex: number = 0 + + let primaryColor: Color = {r: 0, g: 0, b: 0, a: 0} + let secondaryColor: Color = {r: 0, g: 0, b: 0, a: 0} + + $: primaryColor = palette?.[primaryColorIndex] + $: secondaryColor = palette?.[secondaryColorIndex] // Oh no, what are you doing, step palette~ function stepPalette(step: number, primary: boolean) { @@ -163,6 +170,7 @@
+
@@ -271,8 +279,9 @@ } .left { display: flex; - flex-direction: row; - align-items: flex-start; + flex-direction: column; + align-items: stretch; + justify-content: space-between; } .toolbar { display: flex; diff --git a/frontend/src/components/ColorSelector.svelte b/frontend/src/components/ColorSelector.svelte new file mode 100644 index 0000000..987b754 --- /dev/null +++ b/frontend/src/components/ColorSelector.svelte @@ -0,0 +1,71 @@ + + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/frontend/src/sections/Palette.svelte b/frontend/src/sections/Palette.svelte index 7cb800f..7911af2 100644 --- a/frontend/src/sections/Palette.svelte +++ b/frontend/src/sections/Palette.svelte @@ -1,4 +1,5 @@