From 6dd2627f2c97040b4efdfb8781cb317dc11cf41f Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Sun, 7 May 2023 16:10:44 -0500 Subject: [PATCH] Improve mobile app initialization and range widget corner indicator --- src/AppMobile.svelte | 38 ++++++++----- src/lib/ComfyGraphCanvas.ts | 5 +- src/lib/components/ComfyApp.svelte | 4 -- src/lib/components/ComfyApp.ts | 6 ++- src/lib/components/gradio/form/Range.svelte | 3 ++ src/lib/stores/interfaceState.ts | 48 +++++++++++++++++ src/lib/stores/uiState.ts | 3 -- src/lib/utils.ts | 10 ++++ src/lib/widgets/RangeWidget.svelte | 60 ++++++++++++++++++++- src/main-mobile.ts | 15 +++++- src/mobile/GenToolbar.svelte | 10 ++-- src/mobile/Indicator.svelte | 45 ++++++++++++++++ src/mobile/routes/graph.svelte | 15 +++--- src/mobile/routes/home.svelte | 21 +------- src/mobile/routes/list-subworkflows.svelte | 15 +----- src/mobile/routes/subworkflow.svelte | 2 + 16 files changed, 230 insertions(+), 70 deletions(-) create mode 100644 src/lib/stores/interfaceState.ts create mode 100644 src/mobile/Indicator.svelte diff --git a/src/AppMobile.svelte b/src/AppMobile.svelte index 7d4ebe8..d507691 100644 --- a/src/AppMobile.svelte +++ b/src/AppMobile.svelte @@ -1,17 +1,8 @@
@@ -77,9 +112,32 @@ // Prevent swiping on the slider track from accidentally changing the value &.mobile :global(input[type="range"]) { pointer-events: none; + -webkit-appearance: none; + appearance: none; + cursor: default; + height: 0.6rem; + padding: initial; + border: initial; + margin: 0.8rem 0; + width: 100%; + + background: linear-gradient(to right, var(--color-blue-600), var(--color-blue-600)), #D7D7D7; + background-size: var(--background-size, 0%) 100%; + background-repeat: no-repeat; + border-radius: 1rem; + border: 1px solid var(--neutral-400); &::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; pointer-events: all; + width: 1.75rem; + height: 1.75rem; + border-radius: 50%; + background: var(--color-blue-600); + cursor: pointer; + border: 2px solid var(--neutral-100); + box-shadow: 0px 0px 0px 1px var(--neutral-400); } } } diff --git a/src/main-mobile.ts b/src/main-mobile.ts index 4ba38cd..c62b15d 100644 --- a/src/main-mobile.ts +++ b/src/main-mobile.ts @@ -2,12 +2,23 @@ import AppMobile from './AppMobile.svelte'; import Framework7 from 'framework7/lite-bundle'; import Framework7Svelte from 'framework7-svelte'; import { f7 } from 'framework7-svelte'; - +import ComfyApp from '$lib/components/ComfyApp'; +import uiState from '$lib/stores/uiState'; +import { LiteGraph } from '@litegraph-ts/core'; Framework7.use(Framework7Svelte); +LiteGraph.dialog_close_on_mouse_leave = false; +LiteGraph.search_hide_on_mouse_leave = false; +LiteGraph.pointerevents_method = "pointer"; + +const comfyApp = new ComfyApp(); + +uiState.update(s => { s.app = comfyApp; return s; }) + const app = new AppMobile({ - target: document.getElementById('app'), + target: document.getElementById('app'), + props: { app: comfyApp } }) export default app; diff --git a/src/mobile/GenToolbar.svelte b/src/mobile/GenToolbar.svelte index 18d5113..4adfeeb 100644 --- a/src/mobile/GenToolbar.svelte +++ b/src/mobile/GenToolbar.svelte @@ -7,14 +7,13 @@ import { Link, Toolbar } from "framework7-svelte" import ProgressBar from "$lib/components/ProgressBar.svelte"; + import Indicator from "./Indicator.svelte"; + import interfaceState from "$lib/stores/interfaceState"; export let subworkflowID: number = -1; - let app: ComfyApp = undefined; + export let app: ComfyApp = undefined; let fileInput: HTMLInputElement = undefined; - $: if (!app) - app = $uiState.app - function queuePrompt() { app.queuePrompt(0, 1); notify("Prompt was queued", "Queued"); @@ -56,6 +55,9 @@ Load +{#if $interfaceState.showIndicator} +