mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-04 03:03:18 -05: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;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								};
							 |