mirror of
https://github.com/versia-pub/frontend.git
synced 2026-06-14 15:39:15 +02:00
chore: ⬆️ Upgrade to Nuxt 4
Some checks failed
Some checks failed
This commit is contained in:
parent
8debe97f63
commit
7f7cf20311
386 changed files with 2376 additions and 2332 deletions
34
app/components/modals/composable.ts
Normal file
34
app/components/modals/composable.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
export type ConfirmModalOptions = {
|
||||
title?: string;
|
||||
message?: string;
|
||||
confirmText?: string;
|
||||
cancelText?: string;
|
||||
inputType?: "none" | "text" | "textarea" | "url";
|
||||
defaultValue?: string;
|
||||
};
|
||||
|
||||
export type ConfirmModalResult = {
|
||||
confirmed: boolean;
|
||||
value?: string;
|
||||
};
|
||||
|
||||
class ConfirmModalService {
|
||||
private modalRef = ref<{
|
||||
open: (options: ConfirmModalOptions) => Promise<ConfirmModalResult>;
|
||||
} | null>(null);
|
||||
|
||||
register(modal: {
|
||||
open: (options: ConfirmModalOptions) => Promise<ConfirmModalResult>;
|
||||
}) {
|
||||
this.modalRef.value = modal;
|
||||
}
|
||||
|
||||
confirm(options: ConfirmModalOptions): Promise<ConfirmModalResult> {
|
||||
if (!this.modalRef.value) {
|
||||
throw new Error("Confirmation modal not initialized");
|
||||
}
|
||||
return this.modalRef.value.open(options);
|
||||
}
|
||||
}
|
||||
|
||||
export const confirmModalService = new ConfirmModalService();
|
||||
Loading…
Add table
Add a link
Reference in a new issue