small UX updates to improve user addition and perceived loading of builder

This commit is contained in:
Martin McKeaveney 2023-03-01 22:51:52 +00:00
parent c49eb26377
commit 8c4deb1811
3 changed files with 87 additions and 79 deletions

View File

@ -24,7 +24,7 @@
let updateModal let updateModal
$: appId = $store.appId $: appId = $store.appId
$: updateAvailable = clientPackage.version !== $store.version $: updateAvailable = clientPackage.version && $store.version && clientPackage.version !== $store.version
$: revertAvailable = $store.revertableVersion != null $: revertAvailable = $store.revertableVersion != null
const refreshAppPackage = async () => { const refreshAppPackage = async () => {

View File

@ -25,6 +25,7 @@
let rendered = false let rendered = false
let inviting = false let inviting = false
let searchFocus = false let searchFocus = false
let userSearchInput
let appInvites = [] let appInvites = []
let filteredInvites = [] let filteredInvites = []
@ -346,8 +347,15 @@
onMount(() => { onMount(() => {
rendered = true rendered = true
searchFocus = true
}) })
function handleKeyDown(evt) {
if (evt.key === "Enter" && queryIsEmail && !inviting) {
onInviteUser()
}
}
const userTitle = user => { const userTitle = user => {
if (user.admin?.global) { if (user.admin?.global) {
return "Admin" return "Admin"
@ -370,6 +378,8 @@
} }
</script> </script>
<svelte:window on:keydown={handleKeyDown} />
<div <div
id="builder-side-panel-container" id="builder-side-panel-container"
class:open={$store.builderSidePanel} class:open={$store.builderSidePanel}
@ -403,6 +413,7 @@
autocomplete="off" autocomplete="off"
disabled={inviting} disabled={inviting}
value={query} value={query}
autofocus
on:input={e => { on:input={e => {
query = e.target.value.trim() query = e.target.value.trim()
}} }}

View File

@ -120,10 +120,6 @@
}) })
</script> </script>
{#await promise}
<!-- This should probably be some kind of loading state? -->
<div class="loading" />
{:then _}
<TourPopover /> <TourPopover />
{#if $store.builderSidePanel} {#if $store.builderSidePanel}
@ -146,8 +142,7 @@
Overview Overview
</MenuItem> </MenuItem>
<MenuItem <MenuItem
on:click={() => on:click={() => $goto(`../../portal/overview/${application}/access`)}
$goto(`../../portal/overview/${application}/access`)}
> >
Access Access
</MenuItem> </MenuItem>
@ -158,8 +153,7 @@
Automation history Automation history
</MenuItem> </MenuItem>
<MenuItem <MenuItem
on:click={() => on:click={() => $goto(`../../portal/overview/${application}/backups`)}
$goto(`../../portal/overview/${application}/backups`)}
> >
Backups Backups
</MenuItem> </MenuItem>
@ -171,13 +165,12 @@
Name and URL Name and URL
</MenuItem> </MenuItem>
<MenuItem <MenuItem
on:click={() => on:click={() => $goto(`../../portal/overview/${application}/version`)}
$goto(`../../portal/overview/${application}/version`)}
> >
Version Version
</MenuItem> </MenuItem>
</ActionMenu> </ActionMenu>
<Heading size="XS">{$store.name || "App"}</Heading> <Heading size="XS">{$store.name}</Heading>
</div> </div>
<div class="topcenternav"> <div class="topcenternav">
<Tabs {selected} size="M"> <Tabs {selected} size="M">
@ -198,11 +191,15 @@
<AppActions {application} /> <AppActions {application} />
</div> </div>
</div> </div>
{#await promise}
<!-- This should probably be some kind of loading state? -->
<div class="loading" />
{:then _}
<slot /> <slot />
</div>
{:catch error} {:catch error}
<p>Something went wrong: {error.message}</p> <p>Something went wrong: {error.message}</p>
{/await} {/await}
</div>
<style> <style>
.loading { .loading {