From fa835d001033cd300e5b191d841d6aa970fa0373 Mon Sep 17 00:00:00 2001
From: wukko <me@wukko.me>
Date: Tue, 16 Jul 2024 14:00:56 +0600
Subject: [PATCH] web/dialog: css for small dialog

- moved backdrop to each dialog
- dialog is now closable by clicking the backdrop
- added meowbalt to dialogs
- added more meowbalt assets & components
- added "main" boolean to indicate the main action button in a list of buttons
---
 web/src/components/dialog/DialogHolder.svelte |  26 +-
 web/src/components/dialog/SmallDialog.svelte  | 232 ++++++++++++++++--
 .../components/meowbalt/MeowbaltError.svelte  |  19 ++
 .../components/meowbalt/MeowbaltLoaf.svelte   |   1 -
 .../save/buttons/DownloadButton.svelte        |   2 +
 web/src/lib/types/dialog.ts                   |   4 +-
 web/src/routes/+layout.svelte                 |  19 +-
 web/static/meowbalt/checking.png              | Bin 0 -> 15440 bytes
 web/static/meowbalt/error.png                 | Bin 0 -> 7767 bytes
 web/static/meowbalt/think.png                 | Bin 0 -> 4496 bytes
 10 files changed, 264 insertions(+), 39 deletions(-)
 create mode 100644 web/src/components/meowbalt/MeowbaltError.svelte
 create mode 100644 web/static/meowbalt/checking.png
 create mode 100644 web/static/meowbalt/error.png
 create mode 100644 web/static/meowbalt/think.png

diff --git a/web/src/components/dialog/DialogHolder.svelte b/web/src/components/dialog/DialogHolder.svelte
index b5496d65..7d6ef1dd 100644
--- a/web/src/components/dialog/DialogHolder.svelte
+++ b/web/src/components/dialog/DialogHolder.svelte
@@ -1,14 +1,17 @@
 <script lang="ts">
     import SmallDialog from "./SmallDialog.svelte";
     import dialogs from "$lib/dialogs";
+
+    $: dialogVisible = $dialogs.length > 0;
 </script>
 
-<div id="dialog-holder" aria-hidden="true">
+<div id="dialog-holder" class:visible={dialogVisible}>
     {#each $dialogs as dialog}
         {#if dialog.type === "small"}
             <SmallDialog
                 id={dialog.id}
                 title={dialog.title}
+                meowbalt={dialog.meowbalt}
                 bodyText={dialog.bodyText}
                 bodySubText={dialog.bodySubText}
                 buttons={dialog.buttons}
@@ -21,8 +24,25 @@
     #dialog-holder {
         position: absolute;
         padding-top: env(safe-area-inset-bottom);
-        height: calc(100%);
+        height: 100%;
         width: 100%;
-        pointer-events: none;
+
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        z-index: 99;
+
+        visibility: hidden;
+        backdrop-filter: blur(7px);
+        -webkit-backdrop-filter: blur(7px);
+    }
+
+    #dialog-holder.visible {
+        visibility: visible;
+    }
+
+    :global([data-reduce-transparency="true"]) #dialog-holder {
+        backdrop-filter: none !important;
+        -webkit-backdrop-filter: none !important;
     }
 </style>
diff --git a/web/src/components/dialog/SmallDialog.svelte b/web/src/components/dialog/SmallDialog.svelte
index 8ee30862..3ca087a1 100644
--- a/web/src/components/dialog/SmallDialog.svelte
+++ b/web/src/components/dialog/SmallDialog.svelte
@@ -2,7 +2,10 @@
     import { killDialog } from "$lib/dialogs";
     import type { DialogButton } from "$lib/types/dialog";
 
+    import MeowbaltError from "$components/meowbalt/MeowbaltError.svelte";
+
     export let id: string;
+    export let meowbalt: string = "";
     export let title: string = "";
     export let bodyText: string = "";
     export let bodySubText: string = "";
@@ -10,46 +13,227 @@
 
     let dialogParent: HTMLDialogElement;
 
+    let closing = false;
+
     const close = () => {
         if (dialogParent) {
-            dialogParent.close();
-            killDialog();
+            closing = true;
+            setTimeout(() => {
+                dialogParent.close();
+                killDialog();
+            }, 150)
         }
-    }
+    };
 
     $: if (dialogParent) {
         dialogParent.showModal();
     }
 </script>
 
-<dialog id="dialog-{id}" bind:this={dialogParent} class="small-dialog">
-    <div class="popup-header">
-        <h2>{title}</h2>
-    </div>
-    <div class="popup-body">
-        {bodyText}
-        {#if bodySubText}
-            <div class="subtext">{bodySubText}</div>
+<dialog id="dialog-{id}" bind:this={dialogParent} class:closing>
+    <div class="dialog-body small-dialog" class:meowbalt-visible={meowbalt}>
+        {#if meowbalt === "error"}
+            <div class="meowbalt-container">
+                <MeowbaltError />
+            </div>
         {/if}
-    </div>
-    <div class="popup-buttons">
-        {#each buttons as button}
-            <button
-                on:click={
-                    (async() => {
+        <div class="popup-header">
+            {#if title}
+                <h2>{title}</h2>
+            {/if}
+        </div>
+        <div class="popup-body">
+            {#if bodyText}
+                <div class="body-text" tabindex="-1">{bodyText}</div>
+            {/if}
+            {#if bodySubText}
+                <div class="subtext">{bodySubText}</div>
+            {/if}
+        </div>
+        <div class="popup-buttons">
+            {#each buttons as button}
+                <button
+                    class="button popup-button"
+                    class:active={button.main}
+                    on:click={async () => {
                         await button.action();
                         close();
-                    })
-                }
-            >
-                {button.text}
-            </button>
-        {/each}
+                    }}
+                >
+                    {button.text}
+                </button>
+            {/each}
+        </div>
     </div>
+
+    <div
+        id="dialog-backdrop"
+        aria-hidden="true"
+        on:click={() => close()}
+    ></div>
 </dialog>
 
 <style>
+    dialog {
+        display: flex;
+        flex-direction: row;
+        justify-content: center;
+        align-items: center;
+        background: none;
+
+        max-height: 100%;
+        max-width: 100%;
+        height: 100%;
+        width: 100%;
+        margin: 0;
+        padding: 0;
+        border: none;
+        pointer-events: all;
+
+        inset-inline-start: unset;
+        inset-inline-end: unset;
+
+        overflow: hidden;
+    }
+
+    dialog:modal {
+        inset-block-start: 0;
+        inset-block-end: 0;
+    }
+
+    dialog:modal::backdrop {
+        display: none;
+    }
+
     .small-dialog {
-        max-width: 375px;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        text-align: center;
+        gap: var(--padding);
+        max-width: 340px;
+        width: 340px;
+        background: var(--popup-bg);
+        box-shadow: 0 0 0 2px var(--popup-stroke) inset,
+                    0 0 60px 10px var(--popup-bg);
+        padding: 18px;
+        margin: var(--padding);
+        border-radius: 29px;
+        animation: modal-in 0.3s;
+        position: relative;
+        will-change: transform;
+    }
+
+    .small-dialog.meowbalt-visible {
+        padding-top: 45px;
+    }
+
+    .meowbalt-container {
+        position: absolute;
+        top: -110px;
+    }
+
+    .closing .small-dialog {
+        animation: modal-out 0.15s;
+        opacity: 0;
+    }
+
+    .body-text {
+        font-size: 14.5px;
+        font-weight: 500;
+        line-height: 1.7;
+        color: var(--gray);
+    }
+
+    .body-text:focus-visible {
+        box-shadow: none !important;
+    }
+
+    .popup-buttons {
+        display: flex;
+        flex-direction: row;
+        width: 100%;
+        gap: calc(var(--padding) / 2)
+    }
+
+    .popup-button {
+        width: 100%;
+        height: 40px;
+    }
+
+    #dialog-backdrop {
+        --backdrop-opacity: 0.4;
+        background-color: var(--popup-backdrop);
+        position: absolute;
+        height: 100%;
+        width: 100%;
+        z-index: -1;
+        opacity: var(--backdrop-opacity);
+        animation: backdrop-in 0.15s;
+        backdrop-filter: blur(7px);
+    }
+
+    :global([data-reduce-transparency="true"]) #dialog-backdrop {
+        --backdrop-opacity: 0.5;
+    }
+
+    .closing #dialog-backdrop {
+        opacity: 0;
+        animation: backdrop-out 0.15s;
+    }
+
+    @keyframes modal-in {
+        from {
+            transform: scale(0.8);
+            opacity: 0;
+        }
+        50% {
+            transform: scale(1.005);
+            opacity: 1;
+        }
+        100% {
+            transform: scale(1);
+            opacity: 1;
+        }
+    }
+
+    @keyframes modal-out {
+        from {
+            opacity: 1;
+        }
+        to {
+            opacity: 0;
+            transform: scale(0.9);
+            visibility: hidden;
+        }
+    }
+
+    @keyframes backdrop-in {
+        from {
+            opacity: 0;
+        }
+        to {
+            opacity: var(--backdrop-opacity);
+        }
+    }
+
+    @keyframes backdrop-out {
+        from {
+            opacity: var(--backdrop-opacity);
+        }
+        to {
+            opacity: 0;
+        }
+    }
+
+    @media screen and (max-width: 535px) {
+        dialog {
+            align-items: end;
+        }
+
+        .small-dialog {
+            margin-bottom: calc(var(--padding) + env(safe-area-inset-bottom));
+            box-shadow: 0 0 0 2px var(--popup-stroke) inset;
+        }
     }
 </style>
diff --git a/web/src/components/meowbalt/MeowbaltError.svelte b/web/src/components/meowbalt/MeowbaltError.svelte
new file mode 100644
index 00000000..34ec570e
--- /dev/null
+++ b/web/src/components/meowbalt/MeowbaltError.svelte
@@ -0,0 +1,19 @@
+<script lang="ts">
+    import { t } from "$lib/i18n/translations";
+</script>
+
+<img
+    id="meowbalt-error"
+    src="/meowbalt/error.png"
+    height="160"
+    alt={$t("a11y.meowbalt.error")}
+/>
+
+<style>
+    #meowbalt-error {
+        display: block;
+        margin: 0;
+        object-fit: cover;
+        margin-left: 25px;
+    }
+</style>
diff --git a/web/src/components/meowbalt/MeowbaltLoaf.svelte b/web/src/components/meowbalt/MeowbaltLoaf.svelte
index 908b1ec8..3e8533e3 100644
--- a/web/src/components/meowbalt/MeowbaltLoaf.svelte
+++ b/web/src/components/meowbalt/MeowbaltLoaf.svelte
@@ -6,7 +6,6 @@
     id="meowbalt-loaf"
     src="/meowbalt/smile.png"
     height="152"
-    width="141"
     alt={$t("a11y.meowbalt.smile")}
 />
 
diff --git a/web/src/components/save/buttons/DownloadButton.svelte b/web/src/components/save/buttons/DownloadButton.svelte
index 718a9041..5201b3bc 100644
--- a/web/src/components/save/buttons/DownloadButton.svelte
+++ b/web/src/components/save/buttons/DownloadButton.svelte
@@ -18,11 +18,13 @@
     let defaultErrorPopup = {
         id: "save-error",
         type: "small",
+        meowbalt: "error",
         title: "",
         bodySubText: "",
         buttons: [{
             text: $t("general.gotit"),
             color: "gray",
+            main: true,
             action: () => {},
         }]
     }
diff --git a/web/src/lib/types/dialog.ts b/web/src/lib/types/dialog.ts
index b473acd1..20bea678 100644
--- a/web/src/lib/types/dialog.ts
+++ b/web/src/lib/types/dialog.ts
@@ -1,14 +1,16 @@
 export type DialogButton = {
     text: string,
     color: string,
+    main: boolean,
     action: () => unknown | Promise<unknown>
 }
 
 export type DialogInfo = {
     id: string,
     type: "small",
+    meowbalt: "error",
     title: string,
     bodyText: string,
     bodySubText: string,
-    buttons: DialogButton[]
+    buttons: DialogButton[],
 }
diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte
index 01f025fe..4af2d963 100644
--- a/web/src/routes/+layout.svelte
+++ b/web/src/routes/+layout.svelte
@@ -66,10 +66,14 @@
         --button: #f4f4f4;
         --button-hover: #e8e8e8;
         --button-hover-transparent: rgba(0, 0, 0, 0.06);
-        --button-stroke: rgba(0, 0, 0, 0.05);
+        --button-stroke: rgba(0, 0, 0, 0.06);
         --button-text: #282828;
         --button-box-shadow: 0 0 0 1.5px var(--button-stroke) inset;
 
+        --popup-bg: #f1f1f1;
+        --popup-backdrop: var(--primary);
+        --popup-stroke: rgba(0, 0, 0, 0.08);
+
         --sidebar-bg: #000000;
         --sidebar-highlight: #ffffff;
         --sidebar-hover: rgba(255, 255, 255, 0.1);
@@ -120,6 +124,10 @@
         --button-text: #e1e1e1;
         --button-box-shadow: 0 0 0 1.5px var(--button-stroke) inset;
 
+        --popup-bg: #191919;
+        --popup-backdrop: var(--primary);
+        --popup-stroke: rgba(255, 255, 255, 0.08);
+
         --sidebar-bg: #101010;
         --sidebar-highlight: #f2f2f2;
 
@@ -319,15 +327,6 @@
         font-size: 11px;
     }
 
-    :global(dialog) {
-        max-height: 100%;
-        max-width: 100%;
-        padding: var(--padding);
-        border-radius: var(--border-radius);
-        border: none;
-        pointer-events: all;
-    }
-
     :global(.subtext) {
         font-size: 12.5px;
         font-weight: 500;
diff --git a/web/static/meowbalt/checking.png b/web/static/meowbalt/checking.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d6a51c2bb32c9a246b79ebc13bb2753129af4dd
GIT binary patch
literal 15440
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
Cu#xWo

literal 0
HcmV?d00001

diff --git a/web/static/meowbalt/error.png b/web/static/meowbalt/error.png
new file mode 100644
index 0000000000000000000000000000000000000000..f20c1d63534fc416123bdd217659be78b46d5275
GIT binary patch
literal 7767
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

literal 0
HcmV?d00001

diff --git a/web/static/meowbalt/think.png b/web/static/meowbalt/think.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b06f0cc77162d69d85cd208ce4afd49fed3bc21
GIT binary patch
literal 4496
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

literal 0
HcmV?d00001