assembly/composables/useModal.ts

35 lines
749 B
TypeScript
Raw Normal View History

2021-07-27 21:43:51 +00:00
import { computed, ref } from "@nuxtjs/composition-api";
2021-08-07 23:22:42 +00:00
import NetworksMismatchDialog from "~/components/modal/NetworksMismatchDialog.vue";
2021-07-27 21:43:51 +00:00
const modal = ref(null);
const props = ref({});
export function useModal() {
function showNetworksMismatchDialog() {
modal.value = NetworksMismatchDialog;
}
function close() {
//@ts-ignore
if (props.value?.persistent) return;
modal.value = null;
props.value = null;
}
function closePersistent() {
modal.value = null;
props.value = null;
}
const isShown = computed(() => !!modal.value);
return {
showNetworksMismatchDialog,
close,
closePersistent,
isShown,
modal: computed(() => modal.value),
props: computed(() => props.value)
};
}