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">