From 738c81b2c651bbce4a2ced7293b8efff9c3e55a9 Mon Sep 17 00:00:00 2001 From: KamyaPA Date: Thu, 14 Dec 2023 11:10:53 +0100 Subject: [PATCH 1/9] Added modal --- src/lib/components/modal/Modal.svelte | 62 +++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/lib/components/modal/Modal.svelte diff --git a/src/lib/components/modal/Modal.svelte b/src/lib/components/modal/Modal.svelte new file mode 100644 index 00000000..d30c0be5 --- /dev/null +++ b/src/lib/components/modal/Modal.svelte @@ -0,0 +1,62 @@ + + + + + { + closeModalOnBackdropClick(); + }} +> +
+ +
+
+ + From d507b7ac8881c64601c799e445a4a6be2958df68 Mon Sep 17 00:00:00 2001 From: KamyaPA Date: Thu, 14 Dec 2023 12:17:35 +0100 Subject: [PATCH 2/9] Implemented modals as stores --- src/lib/components/modal/Modal.svelte | 26 +++++++----------- .../modalContainer/ModalContainer.svelte | 5 ++++ src/lib/components/modalContainer/state.ts | 3 +++ .../components/settings/SettingsView.svelte | 27 ++++++++++--------- src/lib/components/topBar/TopBar.svelte | 6 ++--- src/routes/+page.svelte | 16 +++-------- 6 files changed, 39 insertions(+), 44 deletions(-) create mode 100644 src/lib/components/modalContainer/ModalContainer.svelte create mode 100644 src/lib/components/modalContainer/state.ts diff --git a/src/lib/components/modal/Modal.svelte b/src/lib/components/modal/Modal.svelte index d30c0be5..5c6a36db 100644 --- a/src/lib/components/modal/Modal.svelte +++ b/src/lib/components/modal/Modal.svelte @@ -1,28 +1,22 @@ diff --git a/src/lib/components/modalContainer/ModalContainer.svelte b/src/lib/components/modalContainer/ModalContainer.svelte new file mode 100644 index 00000000..5ba312ab --- /dev/null +++ b/src/lib/components/modalContainer/ModalContainer.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/modalContainer/state.ts b/src/lib/components/modalContainer/state.ts new file mode 100644 index 00000000..4deec4d1 --- /dev/null +++ b/src/lib/components/modalContainer/state.ts @@ -0,0 +1,3 @@ +import { writable } from "svelte/store"; + +export const showSettings = writable(false); diff --git a/src/lib/components/settings/SettingsView.svelte b/src/lib/components/settings/SettingsView.svelte index f35d4c40..5a6bbcde 100644 --- a/src/lib/components/settings/SettingsView.svelte +++ b/src/lib/components/settings/SettingsView.svelte @@ -1,11 +1,10 @@ -
- -
+ +
+ +
- + +
From 358a5902e834e6a09d9b24b8a9243487fa4346f7 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 14 Dec 2023 15:26:18 +0100 Subject: [PATCH 8/9] Remove unnecessary tests --- src/lib/components/modal/Modal.svelte | 4 +- .../lib/components/settings/settings.test.ts | 45 ------------------- 2 files changed, 2 insertions(+), 47 deletions(-) diff --git a/src/lib/components/modal/Modal.svelte b/src/lib/components/modal/Modal.svelte index 32929e1f..1c47c633 100644 --- a/src/lib/components/modal/Modal.svelte +++ b/src/lib/components/modal/Modal.svelte @@ -2,7 +2,7 @@ let dialog: HTMLDialogElement | undefined; /** - * Will allows the user to close the modal by clicking outside it. + * Allows the user to close the modal by clicking outside it. */ export let closeOnBackdrop: boolean = false; @@ -22,7 +22,7 @@ /** * Closes the modal if the user clicks outside it - * Only works if ModalCloseOnBackdrop is true + * Only works if closeOnBackdrop is true */ function closeOnBackdropClick(event: MouseEvent) { if (!closeOnBackdrop) return; diff --git a/tests/lib/components/settings/settings.test.ts b/tests/lib/components/settings/settings.test.ts index 16f137f9..46dd980f 100644 --- a/tests/lib/components/settings/settings.test.ts +++ b/tests/lib/components/settings/settings.test.ts @@ -81,48 +81,3 @@ test("change to color tab", async ({ page }) => { await expect(buttons[0]).toHaveClass(/active/); await expect(buttons[1]).not.toHaveClass(/active/); }); - -test("returns to svg-view when closing through top navbar", async ({ - page, -}) => { - await expect(page.locator(".canvas svg")).not.toBeVisible(); - - // Click the setting button in the nav-bar again - await page - .getByRole("button", { name: "settings Settings", exact: true }) - .click(); - - await expect(page.locator(".canvas svg")).toBeVisible(); -}); - -test("returns to svg-view when closing through button", async ({ page }) => { - await expect(page.locator(".canvas svg")).not.toBeVisible(); - - // Click the close button in setting view - await page - .getByRole("button", { name: "Close Settings", exact: true }) - .click(); - - await expect(page.locator(".canvas svg")).toBeVisible(); -}); - -test("can reopen settings after closing", async ({ page }) => { - await expect(page.locator(".canvas svg")).not.toBeVisible(); - - // Click the close button in setting view - await page - .getByRole("button", { name: "Close Settings", exact: true }) - .click(); - - await expect(page.locator(".canvas svg")).toBeVisible(); - - // Click the open settings button to reopen - await page.getByRole("button", { name: "Options", exact: true }).hover(); - await page - .getByRole("button", { name: "settings Settings", exact: true }) - .click(); - - // Check if the tab buttons are visible - const buttons = await getTabButtons(page); - expect(buttons).toHaveLength(2); -}); From 9f2db1706b38364f0385906b0a50b63009b33e52 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 14 Dec 2023 15:49:05 +0100 Subject: [PATCH 9/9] Add a default text color --- src/lib/components/modal/Modal.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/components/modal/Modal.svelte b/src/lib/components/modal/Modal.svelte index 1c47c633..c17c7b1d 100644 --- a/src/lib/components/modal/Modal.svelte +++ b/src/lib/components/modal/Modal.svelte @@ -57,6 +57,7 @@