You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							190 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							190 lines
						
					
					
						
							3.5 KiB
						
					
					
				
								import { createPinia } from "pinia";
							 | 
						|
								import { App as VueApp, ComponentPublicInstance, createApp } from "vue";
							 | 
						|
								import App from "./App.vue";
							 | 
						|
								import "./registerServiceWorker";
							 | 
						|
								import router from "./router";
							 | 
						|
								import axios from "axios";
							 | 
						|
								import VueAxios from "vue-axios";
							 | 
						|
								import Notifications from "notiwind";
							 | 
						|
								
							 | 
						|
								import "./assets/styles/tailwind.css";
							 | 
						|
								
							 | 
						|
								import { library } from "@fortawesome/fontawesome-svg-core";
							 | 
						|
								import {
							 | 
						|
								  faArrowDown,
							 | 
						|
								  faArrowLeft,
							 | 
						|
								  faArrowRight,
							 | 
						|
								  faArrowRotateBackward,
							 | 
						|
								  faArrowUpRightFromSquare,
							 | 
						|
								  faArrowUp,
							 | 
						|
								  faBan,
							 | 
						|
								  faBitcoinSign,
							 | 
						|
								  faBurst,
							 | 
						|
								  faCalendar,
							 | 
						|
								  faCamera,
							 | 
						|
								  faCheck,
							 | 
						|
								  faChevronDown,
							 | 
						|
								  faChevronLeft,
							 | 
						|
								  faChevronRight,
							 | 
						|
								  faChevronUp,
							 | 
						|
								  faCircle,
							 | 
						|
								  faCircleCheck,
							 | 
						|
								  faCircleInfo,
							 | 
						|
								  faCircleQuestion,
							 | 
						|
								  faCircleUser,
							 | 
						|
								  faClock,
							 | 
						|
								  faCoins,
							 | 
						|
								  faComment,
							 | 
						|
								  faCopy,
							 | 
						|
								  faDollar,
							 | 
						|
								  faEllipsis,
							 | 
						|
								  faEllipsisVertical,
							 | 
						|
								  faEye,
							 | 
						|
								  faEyeSlash,
							 | 
						|
								  faFileLines,
							 | 
						|
								  faFloppyDisk,
							 | 
						|
								  faFolderOpen,
							 | 
						|
								  faForward,
							 | 
						|
								  faGift,
							 | 
						|
								  faGlobe,
							 | 
						|
								  faHammer,
							 | 
						|
								  faHand,
							 | 
						|
								  faHandHoldingDollar,
							 | 
						|
								  faHandHoldingHeart,
							 | 
						|
								  faHouseChimney,
							 | 
						|
								  faImagePortrait,
							 | 
						|
								  faLeftRight,
							 | 
						|
								  faLocationDot,
							 | 
						|
								  faLongArrowAltLeft,
							 | 
						|
								  faLongArrowAltRight,
							 | 
						|
								  faMagnifyingGlass,
							 | 
						|
								  faMessage,
							 | 
						|
								  faMinus,
							 | 
						|
								  faPen,
							 | 
						|
								  faPersonCircleCheck,
							 | 
						|
								  faPersonCircleQuestion,
							 | 
						|
								  faPlus,
							 | 
						|
								  faQuestion,
							 | 
						|
								  faQrcode,
							 | 
						|
								  faRotate,
							 | 
						|
								  faShareNodes,
							 | 
						|
								  faSpinner,
							 | 
						|
								  faSquare,
							 | 
						|
								  faSquareCaretDown,
							 | 
						|
								  faSquareCaretUp,
							 | 
						|
								  faSquarePlus,
							 | 
						|
								  faTrashCan,
							 | 
						|
								  faTriangleExclamation,
							 | 
						|
								  faUser,
							 | 
						|
								  faUsers,
							 | 
						|
								  faXmark,
							 | 
						|
								} from "@fortawesome/free-solid-svg-icons";
							 | 
						|
								
							 | 
						|
								library.add(
							 | 
						|
								  faArrowDown,
							 | 
						|
								  faArrowLeft,
							 | 
						|
								  faArrowRight,
							 | 
						|
								  faArrowRotateBackward,
							 | 
						|
								  faArrowUpRightFromSquare,
							 | 
						|
								  faArrowUp,
							 | 
						|
								  faBan,
							 | 
						|
								  faBitcoinSign,
							 | 
						|
								  faBurst,
							 | 
						|
								  faCalendar,
							 | 
						|
								  faCamera,
							 | 
						|
								  faCheck,
							 | 
						|
								  faChevronDown,
							 | 
						|
								  faChevronLeft,
							 | 
						|
								  faChevronRight,
							 | 
						|
								  faChevronUp,
							 | 
						|
								  faCircle,
							 | 
						|
								  faCircleCheck,
							 | 
						|
								  faCircleInfo,
							 | 
						|
								  faCircleQuestion,
							 | 
						|
								  faCircleUser,
							 | 
						|
								  faClock,
							 | 
						|
								  faCoins,
							 | 
						|
								  faComment,
							 | 
						|
								  faCopy,
							 | 
						|
								  faDollar,
							 | 
						|
								  faEllipsis,
							 | 
						|
								  faEllipsisVertical,
							 | 
						|
								  faEye,
							 | 
						|
								  faEyeSlash,
							 | 
						|
								  faFileLines,
							 | 
						|
								  faFloppyDisk,
							 | 
						|
								  faFolderOpen,
							 | 
						|
								  faForward,
							 | 
						|
								  faGift,
							 | 
						|
								  faGlobe,
							 | 
						|
								  faHammer,
							 | 
						|
								  faHand,
							 | 
						|
								  faHandHoldingDollar,
							 | 
						|
								  faHandHoldingHeart,
							 | 
						|
								  faHouseChimney,
							 | 
						|
								  faImagePortrait,
							 | 
						|
								  faLeftRight,
							 | 
						|
								  faLocationDot,
							 | 
						|
								  faLongArrowAltLeft,
							 | 
						|
								  faLongArrowAltRight,
							 | 
						|
								  faMagnifyingGlass,
							 | 
						|
								  faMessage,
							 | 
						|
								  faMinus,
							 | 
						|
								  faPen,
							 | 
						|
								  faPersonCircleCheck,
							 | 
						|
								  faPersonCircleQuestion,
							 | 
						|
								  faPlus,
							 | 
						|
								  faQrcode,
							 | 
						|
								  faQuestion,
							 | 
						|
								  faRotate,
							 | 
						|
								  faShareNodes,
							 | 
						|
								  faSpinner,
							 | 
						|
								  faSquare,
							 | 
						|
								  faSquareCaretDown,
							 | 
						|
								  faSquareCaretUp,
							 | 
						|
								  faSquarePlus,
							 | 
						|
								  faTrashCan,
							 | 
						|
								  faTriangleExclamation,
							 | 
						|
								  faUser,
							 | 
						|
								  faUsers,
							 | 
						|
								  faXmark,
							 | 
						|
								);
							 | 
						|
								
							 | 
						|
								import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
							 | 
						|
								import Camera from "simple-vue-camera";
							 | 
						|
								
							 | 
						|
								// Can trigger this with a 'throw' inside some top-level function, eg. on the HomeView
							 | 
						|
								function setupGlobalErrorHandler(app: VueApp) {
							 | 
						|
								  // @ts-expect-error 'cause we cannot see why config is not defined
							 | 
						|
								  app.config.errorHandler = (
							 | 
						|
								    err: Error,
							 | 
						|
								    instance: ComponentPublicInstance | null,
							 | 
						|
								    info: string,
							 | 
						|
								  ) => {
							 | 
						|
								    console.error(
							 | 
						|
								      "Ouch! Global Error Handler. Info:",
							 | 
						|
								      info,
							 | 
						|
								      "Error:",
							 | 
						|
								      err,
							 | 
						|
								      "Instance:",
							 | 
						|
								      instance,
							 | 
						|
								    );
							 | 
						|
								    // Want to show a nice notiwind notification but can't figure out how.
							 | 
						|
								    alert(
							 | 
						|
								      (err.message || "Something bad happened") +
							 | 
						|
								        " - Try reloading or restarting the app.",
							 | 
						|
								    );
							 | 
						|
								  };
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								const app = createApp(App)
							 | 
						|
								  .component("fa", FontAwesomeIcon)
							 | 
						|
								  .component("camera", Camera)
							 | 
						|
								  .use(createPinia())
							 | 
						|
								  .use(VueAxios, axios)
							 | 
						|
								  .use(router)
							 | 
						|
								  .use(Notifications);
							 | 
						|
								
							 | 
						|
								setupGlobalErrorHandler(app);
							 | 
						|
								
							 | 
						|
								app.mount("#app");
							 | 
						|
								
							 |