initial
This commit is contained in:
parent
aa7c30950c
commit
72716e1c28
41 changed files with 15461 additions and 0 deletions
48
frontend/app/components/ConfirmationModal.vue
Normal file
48
frontend/app/components/ConfirmationModal.vue
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<template>
|
||||
<u-modal
|
||||
title="Confirmation"
|
||||
description="Confirmation required for the selected action"
|
||||
:dismissible="false"
|
||||
>
|
||||
<template #body>
|
||||
<p class="my-3">
|
||||
Type <strong>{{ message }}</strong> to confirm.
|
||||
</p>
|
||||
|
||||
<div>
|
||||
<u-field-group class="w-full">
|
||||
<u-input
|
||||
v-model="inputMessage"
|
||||
name="user-input"
|
||||
autocomplete="false"
|
||||
type="text"
|
||||
class="w-full"
|
||||
/>
|
||||
<u-button color="error" :disabled="!matched" @click="onSubmit">
|
||||
Submit
|
||||
</u-button>
|
||||
</u-field-group>
|
||||
</div>
|
||||
</template>
|
||||
</u-modal>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { UModal, UInput, UButton } from "#components";
|
||||
|
||||
interface Props {
|
||||
message: string;
|
||||
}
|
||||
const props = defineProps<Props>();
|
||||
|
||||
const emit = defineEmits<{ close: [boolean] }>();
|
||||
|
||||
const inputMessage = ref("");
|
||||
|
||||
const matched = computed(() => {
|
||||
return inputMessage.value === props.message;
|
||||
});
|
||||
|
||||
function onSubmit() {
|
||||
emit("close", true);
|
||||
}
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue