Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 1,142 Bytes
b2ecf7d 76d4920 9d298eb 76d4920 b2ecf7d 76d4920 b2ecf7d 76d4920 b2ecf7d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<script lang="ts">
import LogInPopover from "../../../LogInPopover/LogInPopover.svelte";
import IconSpin from "../../..//Icons/IconSpin.svelte";
import { isLoggedIn } from "../../stores.js";
import { createEventDispatcher } from "svelte";
export let classNames = "";
export let isDisabled = false;
export let isLoading: boolean;
export let label = "Compute";
export let onClick: () => void;
export let withParentLoginPopover = false;
let popOverOpen = false;
const dispatch = createEventDispatcher<{ logInPopover: void }>();
function _onClick() {
if (!$isLoggedIn) {
if (withParentLoginPopover) {
// tell parent element to show log in pop over
dispatch("logInPopover");
} else {
popOverOpen = true;
}
return;
}
onClick();
}
</script>
{#if !isDisabled}
<LogInPopover bind:open={popOverOpen}>
<button
class="btn-widget h-10 w-24 px-5 {classNames}"
disabled={isDisabled || isLoading}
on:click|preventDefault={_onClick}
type="submit"
>
{#if isLoading}
<IconSpin classNames="text-gray-600 animate-spin" />
{:else}
{label}
{/if}
</button>
</LogInPopover>
{/if}
|