<script>
    import { onMount } from 'svelte';
    import { draw, fade } from 'svelte/transition';

    import { appState, cleanupRequest } from '../lib/state.js';
    
    let success = false;
    let error = null;

    let drawDuration = $appState.config.rehide_ms >= 750 ? 500 : 0;
    let fadeDuration = drawDuration * 0.6;
    let fadeDelay = drawDuration * 0.4;

    onMount(() => {
        window.setTimeout(
            cleanupRequest,
            // Extra 50ms so the window can finish disappearing before the redraw
            Math.min(5000, $appState.config.rehide_ms + 50),
        )
    })
</script>


<div class="flex flex-col h-screen items-center justify-center max-w-max m-auto">
    {#if $appState.currentRequest.response.approval === 'Approved'}
        <svg xmlns="http://www.w3.org/2000/svg" class="w-36 h-36" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor">
          <path in:draw="{{duration: drawDuration}}" stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
        </svg>
    {:else}
        <svg xmlns="http://www.w3.org/2000/svg" class="w-36 h-36" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor">
            <path in:draw="{{duration: 500}}" stroke-linecap="round" stroke-linejoin="round" d="M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
        </svg>
    {/if}

    <div in:fade="{{duration: fadeDuration, delay: fadeDelay}}" class="text-2xl font-bold">
        {$appState.currentRequest.response.approval}!
    </div>
</div>