mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-28 16:54:19 -04:00 
			
		
		
		
	
		
			
	
	
		
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|   | import { reactive } from "@nuxtjs/composition-api"; | ||
|  | 
 | ||
|  | interface Toast { | ||
|  |   open: boolean; | ||
|  |   text: string; | ||
|  |   title: string | null; | ||
|  |   color: string; | ||
|  | } | ||
|  | 
 | ||
|  | export const toastAlert = reactive<Toast>({ | ||
|  |   open: false, | ||
|  |   title: null, | ||
|  |   text: "Hello From The Store", | ||
|  |   color: "info", | ||
|  | }); | ||
|  | 
 | ||
|  | export const toastLoading = reactive<Toast>({ | ||
|  |   open: false, | ||
|  |   title: null, | ||
|  |   text: "Importing Backup", | ||
|  |   color: "success", | ||
|  | }); | ||
|  | 
 | ||
|  | function setToast(toast: Toast, text: string, title: string | null, color: string) { | ||
|  |   toast.open = true; | ||
|  |   toast.text = text; | ||
|  |   toast.title = title; | ||
|  |   toast.color = color; | ||
|  | } | ||
|  | 
 | ||
|  | export const loader = { | ||
|  |   info(text: string, title: string | null = null) { | ||
|  |     setToast(toastLoading, text, title, "info"); | ||
|  |   }, | ||
|  |   success(text: string, title: string | null = null) { | ||
|  |     setToast(toastLoading, text, title, "success"); | ||
|  |   }, | ||
|  |   error(text: string, title: string | null = null) { | ||
|  |     setToast(toastLoading, text, title, "error"); | ||
|  |   }, | ||
|  |   warning(text: string, title: string | null = null) { | ||
|  |     setToast(toastLoading, text, title, "warning"); | ||
|  |   }, | ||
|  |   close() { | ||
|  |     toastLoading.open = false; | ||
|  |   }, | ||
|  | }; | ||
|  | 
 | ||
|  | export const alert = { | ||
|  |   info(text: string, title: string | null = null) { | ||
|  |     setToast(toastAlert, text, title, "info"); | ||
|  |   }, | ||
|  |   success(text: string, title: string | null = null) { | ||
|  |     setToast(toastAlert, text, title, "success"); | ||
|  |   }, | ||
|  |   error(text: string, title: string | null = null) { | ||
|  |     setToast(toastAlert, text, title, "error"); | ||
|  |   }, | ||
|  |   warning(text: string, title: string | null = null) { | ||
|  |     setToast(toastAlert, text, title, "warning"); | ||
|  |   }, | ||
|  |   close() { | ||
|  |     toastAlert.open = false; | ||
|  |   }, | ||
|  | }; |