diff --git a/effects/animation.go b/effects/animation.go index 7244b65..4cc0e26 100644 --- a/effects/animation.go +++ b/effects/animation.go @@ -7,9 +7,9 @@ import ( ) type Solid struct { - States []device.State `json:"states,omitempty"` - AnimationMS int64 `json:"animationMs,omitempty"` - Interleave int `json:"interleave,omitempty"` + States []device.State `json:"states"` + AnimationMS int64 `json:"animationMs"` + Interleave int `json:"interleave"` } func (e Solid) State(_, length, round int) device.State { diff --git a/effects/gradient.go b/effects/gradient.go index 0a83374..4b2b2f2 100644 --- a/effects/gradient.go +++ b/effects/gradient.go @@ -7,10 +7,10 @@ import ( ) type Gradient struct { - States []device.State `json:"states,omitempty"` - AnimationMS int64 `json:"animationMs,omitempty"` - Reverse bool `json:"reverse,omitempty"` - Interpolate bool `json:"interpolate,omitempty"` + States []device.State `json:"states"` + AnimationMS int64 `json:"animationMs"` + Reverse bool `json:"reverse"` + Interpolate bool `json:"interpolate"` } func (e Gradient) State(index, length, round int) device.State { diff --git a/effects/pattern.go b/effects/pattern.go index 0c3f6c9..78ef3fc 100644 --- a/effects/pattern.go +++ b/effects/pattern.go @@ -7,8 +7,8 @@ import ( ) type Pattern struct { - States []device.State `json:"states,omitempty"` - AnimationMS int64 `json:"animationMs,omitempty"` + States []device.State `json:"states"` + AnimationMS int64 `json:"animationMs"` } func (e Pattern) State(index, _, round int) device.State { diff --git a/effects/random.go b/effects/random.go index d5e88e6..49982d7 100644 --- a/effects/random.go +++ b/effects/random.go @@ -8,9 +8,9 @@ import ( ) type Random struct { - States []device.State `json:"states,omitempty"` - Interpolate bool `json:"interpolate,omitempty"` - AnimationMS int64 `json:"animationMs,omitempty"` + States []device.State `json:"states"` + Interpolate bool `json:"interpolate"` + AnimationMS int64 `json:"animationMs"` } func (e Random) State(_, _, _ int) device.State { diff --git a/effects/vrange.go b/effects/vrange.go index 6fee806..ac6e257 100644 --- a/effects/vrange.go +++ b/effects/vrange.go @@ -7,7 +7,7 @@ import ( ) type VRange struct { - States []device.State `json:"states,omitempty"` + States []device.State `json:"states"` Variable string `json:"variable"` Min float64 `json:"min"` Max float64 `json:"max"` diff --git a/frontend/src/lib/components/Checkbox.svelte b/frontend/src/lib/components/Checkbox.svelte index db6c19e..21c2c8e 100644 --- a/frontend/src/lib/components/Checkbox.svelte +++ b/frontend/src/lib/components/Checkbox.svelte @@ -4,12 +4,13 @@ import Icon, { type IconName } from "./Icon.svelte"; export let tabIndex: number | undefined | null = void(0); - export let checked = false; + export let checked: boolean | string | number; export let centered = false; export let disabled = false; export let noLabel = false; export let noBorder = false; export let inline = false; + export let small = false; export let icon: IconName = "check"; export let label = "(Missing label property)"; @@ -35,6 +36,7 @@ class:centered class:noLabel class:inline + class:small role="checkbox" aria-checked={checked} aria-disabled={disabled} @@ -72,6 +74,10 @@ margin-bottom: 0 font-size: 0.75em + &.small + padding-top: 0 + font-size: 0.65em + div.checkbox.centered margin: auto diff --git a/frontend/src/lib/components/Icon.svelte b/frontend/src/lib/components/Icon.svelte index df2337f..2623abe 100644 --- a/frontend/src/lib/components/Icon.svelte +++ b/frontend/src/lib/components/Icon.svelte @@ -55,7 +55,13 @@ import { faMasksTheater } from "@fortawesome/free-solid-svg-icons/faMasksTheater"; import { faTag } from "@fortawesome/free-solid-svg-icons/faTag"; import { faFilter } from "@fortawesome/free-solid-svg-icons/faFilter"; + import { faSignature } from "@fortawesome/free-solid-svg-icons/faSignature"; + import { faAsterisk } from "@fortawesome/free-solid-svg-icons/faAsterisk"; + import { faPlay } from "@fortawesome/free-solid-svg-icons/faPlay"; + import { faClockRotateLeft } from "@fortawesome/free-solid-svg-icons/faClockRotateLeft"; + import { faNoteSticky } from "@fortawesome/free-solid-svg-icons/faNoteSticky"; + const icons = { "clock": faClock, "thumbtack": faThumbtack, @@ -90,6 +96,11 @@ "masks_theater": faMasksTheater, "tag": faTag, "filter": faFilter, + "signature": faSignature, + "asterisk": faAsterisk, + "play": faPlay, + "clock_rotate_left": faClockRotateLeft, + "note_sticky": faNoteSticky, }; export type IconName = keyof typeof icons; diff --git a/frontend/src/lib/components/Modal.svelte b/frontend/src/lib/components/Modal.svelte index 4504b7b..388d90e 100644 --- a/frontend/src/lib/components/Modal.svelte +++ b/frontend/src/lib/components/Modal.svelte @@ -6,6 +6,8 @@ export let submitText: string = "Submit"; export let cancelLabel: string = "Cancel"; export let wide: boolean = false; + export let ultrawide: boolean = false; + export let fullheight: boolean = false; export let error: string | null = null; export let closable: boolean = false; export let disabled: boolean = false; @@ -28,7 +30,7 @@ {#if show}