@setoelkahfi / svara / commits / 23d1c7c

feat: made modal components dynamic

mellbacon committed Jun 25, 2023 at 14:22 UTC 23d1c7c5306252b180a78282513b2d1979cbb9fc
1 file changed +11 -3
src/App.svelte
+11 -3
@@ -10,6 +10,7 @@
10 import { appWindow } from '@tauri-apps/api/window';
11 import { writable } from "svelte/store";
12 import InputModal from "./lib/Modals/InputModal.svelte";
13 + import RenameModal from "./lib/Modals/RenameModal.svelte";
14 let resolution = writable(0);
15
16 let minPanelSize = 10;
@@ -59,10 +60,17 @@
60 </script>
61 <script lang="ts" context="module">
62 const _openPopup = writable(false);
62 - const popupAtt = writable({});
63 + const popupProps = writable({});
64 + const popup = writable(null);
65
66 export function openInputModal(title: string, description: string, buttons: any[], options = undefined) {
65 - popupAtt.set({title: title, description: description, buttons: buttons, options:options});
67 + popup.set(InputModal);
68 + popupProps.set({title: title, description: description, buttons: buttons, options: options, open: true});
69 + _openPopup.set(true);
70 + }
71 + export function openRenameModal(title: string, description: string, buttons: any[]) {
72 + popup.set(RenameModal);
73 + popupProps.set({title: title, description: description, buttons: buttons, open: true});
74 _openPopup.set(true);
75 }
76 </script>
@@ -89,7 +97,7 @@
97 <Statusbar />
98
99 {#if $_openPopup}
92 - <InputModal bind:open={$_openPopup} title={$popupAtt.title} buttons={$popupAtt.buttons} description={$popupAtt.description} options={$popupAtt.options}></InputModal>
100 + <svelte:component this={$popup} {...$popupProps}></svelte:component>
101 {/if}
102
103 <style lang="scss">