hippofish/packages/client/src/components/MkSigninDialog.vue
2023-10-31 20:19:05 +09:00

49 lines
881 B
Vue

<template>
<XModalWindow
ref="dialog"
:width="400"
@close="onClose"
@closed="emit('closed')"
>
<template #header>{{ i18n.ts.login }}</template>
<MkSignin :auto-set="autoSet" :message="message" @login="onLogin" />
</XModalWindow>
</template>
<script lang="ts" setup>
import { ref } from "vue";
import MkSignin from "@/components/MkSignin.vue";
import XModalWindow from "@/components/MkModalWindow.vue";
import { i18n } from "@/i18n";
withDefaults(
defineProps<{
autoSet?: boolean;
message?: string;
}>(),
{
autoSet: false,
message: "",
},
);
const emit = defineEmits<{
(ev: "done"): void;
(ev: "closed"): void;
(ev: "cancelled"): void;
}>();
const dialog = ref<InstanceType<typeof XModalWindow>>();
function onClose() {
emit("cancelled");
dialog.value.close();
}
function onLogin(res) {
emit("done", res);
dialog.value.close();
}
</script>