From d220e3f509ff7e776cc0881ef588024f03840e7b Mon Sep 17 00:00:00 2001 From: Seth Trowbridge Date: Mon, 12 Dec 2022 15:57:49 -0500 Subject: [PATCH] menus --- logo.png | Bin 0 -> 16792 bytes src/app.js | 15 ++++++--- src/store.js | 13 ++++++++ src/twind.js | 7 ++-- src/ui.js | 90 ++++++++++++++++++++++++++++++++------------------- store.d.ts | 5 ++- 6 files changed, 89 insertions(+), 41 deletions(-) create mode 100644 logo.png diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0c43e16dadac6a65110a490abbf8074b8815ded1 GIT binary patch literal 16792 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 literal 0 HcmV?d00001 diff --git a/src/app.js b/src/app.js index 291e3dd..54c6113 100644 --- a/src/app.js +++ b/src/app.js @@ -15,11 +15,18 @@ TW.Init(ShadowCSS, ShadowDiv); React.render(html` <${Store.Provider}> - <${UI.Select}/> -
- <${UI.Controls}/> -
+
+
+ +
+
+ <${UI.Select}/> +
+
+ <${UI.Controls}/> +
+
<${UI.Chart}> <${UI.Audiogram}/> diff --git a/src/store.js b/src/store.js index 9abf000..b1fdcf9 100644 --- a/src/store.js +++ b/src/store.js @@ -146,6 +146,14 @@ export function Reducer(inState, inAction) clone.Live = Reselect(clone); } } + else if (Name == "ShowCursor") + { + clone.Show.Cursor = Data; + } + else if (Name == "ShowAnswer") + { + clone.Show.Answer = Data; + } return clone; } @@ -169,6 +177,11 @@ export const Initial = Reducer( TestL:{Points:[], Paths:[]}, TestR:{Points:[], Paths:[]} }, + Show: + { + Cursor:true, + Answer:false + }, TestIndex: 0, Test: [ { diff --git a/src/twind.js b/src/twind.js index 739e41c..6cbbdf2 100644 --- a/src/twind.js +++ b/src/twind.js @@ -52,7 +52,10 @@ export const Configure = { "bg-metal", { "background": "linear-gradient(159deg, rgb(228, 228, 228) 0%, rgb(243, 243, 243) 25%, rgb(236, 236, 236) 100%)" - } + }, + ], + [ + "bg-earmark", "bg-gradient-to-b from-[#107c79] to-[#115e67]" ], [ 'shadow-glow-(.*)', @@ -70,7 +73,7 @@ export const Configure = { [ 'text-shadow-lcd', {"text-shadow": "0px 2px 2px #00000055"} ], - [ 'box-notch', "border-t(1 [#ffffff]) border-b(1 [#00000033]) flex items-center justify-end gap-1 p-2" ], + [ 'box-notch', "border-t(1 [#ffffff]) border-r(1 [#ffffff]) border-b(1 [#00000033]) border-l(1 [#00000033]) flex items-center justify-end gap-1 p-2" ], [ "box-buttons", "flex gap-1 items-center p-2 rounded-lg bg-gradient-to-b from-[#00000022] border-b(1 [#ffffff]) border-t(1 [#00000033])"] ], presets: [TWPreTail(), TWPreAuto()] diff --git a/src/ui.js b/src/ui.js index de6436e..57ff275 100644 --- a/src/ui.js +++ b/src/ui.js @@ -19,7 +19,7 @@ export function Button({children, icon, light, disabled, inactive, onClick, clas return html`