Mobile queue

This commit is contained in:
space-nuko
2023-05-31 22:25:53 -05:00
parent 4547cc1a27
commit f0c01a66ce
13 changed files with 277 additions and 98 deletions

View File

@@ -1,21 +1,11 @@
<script lang="ts">
import ComfyApp, { type SerializedAppState } from "$lib/components/ComfyApp";
import queueState from "$lib/stores/queueState";
import workflowState, { ComfyBoxWorkflow } from "$lib/stores/workflowState";
import { getNodeInfo } from "$lib/utils"
import { Image, LayoutTextSidebarReverse } from "svelte-bootstrap-icons";
import { Link, Toolbar } from "framework7-svelte"
import ProgressBar from "$lib/components/ProgressBar.svelte";
import Progressbar from "$lib/components/f7/progressbar.svelte";
import Indicator from "./Indicator.svelte";
import interfaceState from "$lib/stores/interfaceState";
import type { WritableLayoutStateStore } from "$lib/stores/layoutStates";
export let subworkflowID: number = -1;
export let app: ComfyApp = undefined;
let layoutState: WritableLayoutStateStore = null;
let fileInput: HTMLInputElement = undefined;
let workflow: ComfyBoxWorkflow | null = null;
$: workflow = $workflowState.activeWorkflow;
@@ -24,41 +14,16 @@
navigator.vibrate(20)
app.runDefaultQueueAction()
}
async function refreshCombos() {
navigator.vibrate(20)
await app.refreshComboInNodes()
}
function doLoad(): void {
if (!fileInput)
return;
navigator.vibrate(20)
fileInput.value = null;
fileInput.click();
}
function loadWorkflow(): void {
app.handleFile(fileInput.files[0]);
}
function doSaveLocal(): void {
navigator.vibrate(20)
app.saveStateToLocalStorage();
}
</script>
<Toolbar bottom color="red" style="bottom: calc(var(--f7-toolbar-height))">
{#if workflow != null && workflow.attrs.queuePromptButtonName != ""}
<Link on:click={queuePrompt}>
{workflow.attrs.queuePromptButtonName}
</Link>
<div style:width="100%">
<Link on:click={queuePrompt}>
{workflow.attrs.queuePromptButtonName}
</Link>
</div>
{/if}
<Link on:click={refreshCombos}>🔄</Link>
<Link on:click={doSaveLocal}>Save Local</Link>
<Link on:click={doLoad}>Load</Link>
<input bind:this={fileInput} id="comfy-file-input" type="file" accept=".json" on:change={loadWorkflow} />
</Toolbar>
<style lang="scss">
@@ -66,6 +31,10 @@
display: none;
}
:global(.toolbar) {
--f7-toolbar-font-size: 13pt;
}
:global(.dark .toolbar.color-red) {
background: var(--neutral-700) !important;
}