Disable reverting to published app version when not the only builder

This commit is contained in:
Andrew Kingston 2023-07-04 15:31:13 +01:00
parent 236aca3489
commit 8f601a2c58
4 changed files with 56 additions and 5 deletions

View File

@ -1,6 +1,7 @@
<script> <script>
import "@spectrum-css/link/dist/index-vars.css" import "@spectrum-css/link/dist/index-vars.css"
import { createEventDispatcher } from "svelte" import { createEventDispatcher } from "svelte"
import Tooltip from "../Tooltip/Tooltip.svelte"
export let href = "#" export let href = "#"
export let size = "M" export let size = "M"
@ -10,18 +11,61 @@
export let overBackground = false export let overBackground = false
export let target export let target
export let download export let download
export let disabled = false
export let tooltip = null
const dispatch = createEventDispatcher() const dispatch = createEventDispatcher()
const onClick = e => {
if (!disabled) {
dispatch("click")
e.stopPropagation()
}
}
</script> </script>
<a <a
on:click={e => dispatch("click") && e.stopPropagation()} on:click={onClick}
{href} {href}
{target} {target}
{download} {download}
class:disabled
class:spectrum-Link--primary={primary} class:spectrum-Link--primary={primary}
class:spectrum-Link--secondary={secondary} class:spectrum-Link--secondary={secondary}
class:spectrum-Link--overBackground={overBackground} class:spectrum-Link--overBackground={overBackground}
class:spectrum-Link--quiet={quiet} class:spectrum-Link--quiet={quiet}
class="spectrum-Link spectrum-Link--size{size}"><slot /></a class="spectrum-Link spectrum-Link--size{size}"
> >
<slot />
{#if tooltip}
<div class="tooltip">
<Tooltip textWrapping direction="bottom" text={tooltip} />
</div>
{/if}
</a>
<style>
a {
position: relative;
}
a.disabled {
color: var(--spectrum-global-color-gray-500);
}
a.disabled:hover {
text-decoration: none;
cursor: default;
}
.tooltip {
position: absolute;
left: 50%;
top: 100%;
transform: translateX(-50%);
opacity: 0;
transition: 130ms ease-out;
pointer-events: none;
z-index: 100;
}
a:hover .tooltip {
opacity: 1;
}
</style>

View File

@ -90,6 +90,6 @@
.spectrum-Popover { .spectrum-Popover {
min-width: var(--spectrum-global-dimension-size-2000); min-width: var(--spectrum-global-dimension-size-2000);
border-color: var(--spectrum-global-color-gray-300); border-color: var(--spectrum-global-color-gray-300);
overflow: auto; overflow: visible;
} }
</style> </style>

View File

@ -1404,7 +1404,6 @@ export const getFrontendStore = () => {
}, },
metadata: { metadata: {
replace: metadata => { replace: metadata => {
console.log("NEW METADATA", metadata)
store.update(state => ({ store.update(state => ({
...state, ...state,
...metadata, ...metadata,

View File

@ -253,7 +253,15 @@
<Link quiet on:click={unpublishApp}>Unpublish</Link> <Link quiet on:click={unpublishApp}>Unpublish</Link>
</span> </span>
<span class="revert-link"> <span class="revert-link">
<Link quiet secondary on:click={revertApp}>Revert</Link> <Link
disabled={!$isOnlyUser}
quiet
secondary
on:click={revertApp}
tooltip="Unavailable - another user is editing your app"
>
Revert
</Link>
</span> </span>
{:else} {:else}
<span class="status-text unpublished">Not published</span> <span class="status-text unpublished">Not published</span>