From 18f30c8286f8240158643ade8b0ef4607a80fbb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= <43071496+adam-kov@users.noreply.github.com> Date: Thu, 26 Jan 2023 15:51:09 +0100 Subject: [PATCH] fix(frontend): Update app scripts pane (#1146) * fix(frontend): Update app scripts pane * fix wrapping content * import capitalize util Co-authored-by: Faton Ramadani --- .../EmptyInlineScript.svelte | 4 +- .../InlineScriptEditor.svelte | 66 ++++++++------ .../InlineScriptsPanelList.svelte | 90 ++++++++++--------- .../components/common/button/Button.svelte | 5 +- .../src/lib/components/common/button/model.ts | 27 ++++-- 5 files changed, 110 insertions(+), 82 deletions(-) diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte index 7a05e2b11c..f028256a07 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte @@ -4,7 +4,7 @@ import { Script, type Preview } from '$lib/gen' import { inferArgs } from '$lib/infer' import { initialCode } from '$lib/script_helpers' - import { emptySchema } from '$lib/utils' + import { capitalize, emptySchema } from '$lib/utils' import { createEventDispatcher, getContext } from 'svelte' import { fly } from 'svelte/transition' import { defaultCode } from '../../editorUtils' @@ -61,7 +61,7 @@
{#each langs as lang} { createInlineScriptByLanguage(lang, name) diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte index ec66a841c4..d510a7219f 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte @@ -4,7 +4,7 @@ import { faTrash } from '@fortawesome/free-solid-svg-icons' import { createEventDispatcher, getContext, onMount } from 'svelte' import type { AppEditorContext, InlineScript } from '../../types' - import { CheckCircle, Code2, X } from 'lucide-svelte' + import { CheckCircle, Code2, Maximize2, Trash2, X } from 'lucide-svelte' import InlineScriptEditorDrawer from './InlineScriptEditorDrawer.svelte' import { inferArgs } from '$lib/infer' import type { Schema } from '$lib/common' @@ -13,6 +13,7 @@ import Editor from '$lib/components/Editor.svelte' import { emptySchema, scriptLangToEditorLang } from '$lib/utils' import Tooltip from '$lib/components/Tooltip.svelte' + import Popover from '../../../Popover.svelte' let inlineScriptEditorDrawer: InlineScriptEditorDrawer @@ -57,21 +58,51 @@
-
+
{#if name !== undefined} {/if}
{#if validCode} - + {:else} - + {/if} + {#if id.startsWith('unused-') || id.startsWith('bg_')} + + + Delete + + {/if} + + + Open full editor + - {#if id.startsWith('unused-') || id.startsWith('bg_')} - {/if} - -
diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte index 00a6360c8f..3f3f827981 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte @@ -1,7 +1,5 @@ -
+
{#if runnables.inline.length > 0}
{#each runnables.inline as { name, id }, index (index)} - -
selectInlineScript(id)} > {name}
{id}
-
+ {/each}
{/if} @@ -78,17 +85,16 @@ {#if $app.unusedInlineScripts?.length > 0}
{#each $app.unusedInlineScripts as unusedInlineScript, index (index)} - -
selectInlineScript(`unused-${index}`)} + {@const id = `unused-${index}`} +
+ {/each}
{/if} @@ -104,17 +110,15 @@ {#if runnables.imported.length > 0}
{#each runnables.imported as { name, id }, index (index)} - -
selectInlineScript(id)} > {name} {id} -
+ {/each}
{:else} @@ -123,31 +127,31 @@
- + - - Background scripts are triggered upon global refresh or when their input changes. The result - of a background script can be shared among many components. -
{#if $app.hiddenInlineScripts?.length > 0}
{#each $app.hiddenInlineScripts as { name }, index (index)} - -
selectInlineScript(`bg_${index}`)} + {@const id = `bg_${index}`} +
+ {/each}
{:else} diff --git a/frontend/src/lib/components/common/button/Button.svelte b/frontend/src/lib/components/common/button/Button.svelte index 51de0cdacb..d0ccadc763 100644 --- a/frontend/src/lib/components/common/button/Button.svelte +++ b/frontend/src/lib/components/common/button/Button.svelte @@ -68,7 +68,7 @@ colorVariants?.[color]?.[variant], variant === 'border' ? 'border' : '', ButtonType.FontSizeClasses[size], - ButtonType.SpacingClasses[spacingSize], + ButtonType.SpacingClasses[spacingSize][variant], 'focus:ring-2 font-semibold', 'duration-200 rounded-md', 'justify-center items-center text-center whitespace-nowrap inline-flex', @@ -79,7 +79,8 @@ target, tabindex: disabled ? -1 : 0, type: buttonType, - title + title, + ...$$restProps } async function onClick(event: MouseEvent) { diff --git a/frontend/src/lib/components/common/button/model.ts b/frontend/src/lib/components/common/button/model.ts index 5813d0d0c1..c3d4fcae14 100644 --- a/frontend/src/lib/components/common/button/model.ts +++ b/frontend/src/lib/components/common/button/model.ts @@ -20,12 +20,27 @@ export namespace ButtonType { xl: 'text-xl' } as const - export const SpacingClasses: Record = { - xs: 'px-3 py-1.5', - sm: 'px-3 py-1.5', - md: 'px-3 py-1.5', - lg: 'px-4 py-2', - xl: 'px-4 py-2' + export const SpacingClasses: Record> = { + xs: { + border: 'px-3 py-[6px]', + contained: 'px-3 py-[7px]' + }, + sm: { + border: 'px-3 py-[6px]', + contained: 'px-3 py-[7px]' + }, + md: { + border: 'px-3 py-[6px]', + contained: 'px-3 py-[7px]' + }, + lg: { + border: 'px-4 py-[8px]', + contained: 'px-4 py-[9px]' + }, + xl: { + border: 'px-4 py-[8px]', + contained: 'px-4 py-[9px]' + }, } as const export const IconScale: Record = {