import { createPinia } from "pinia";
import { 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 {
  faArrowLeft,
  faArrowRight,
  faBan,
  faBitcoinSign,
  faBurst,
  faCalendar,
  faChevronLeft,
  faChevronRight,
  faCircle,
  faCircleCheck,
  faCircleInfo,
  faCircleQuestion,
  faCircleUser,
  faClock,
  faCoins,
  faComment,
  faCopy,
  faDollar,
  faEllipsisVertical,
  faEye,
  faEyeSlash,
  faFileLines,
  faFloppyDisk,
  faFolderOpen,
  faGift,
  faGlobe,
  faHand,
  faHouseChimney,
  faLocationDot,
  faLongArrowAltLeft,
  faLongArrowAltRight,
  faMagnifyingGlass,
  faMessage,
  faPen,
  faPersonCircleCheck,
  faPersonCircleQuestion,
  faPlus,
  faQuestion,
  faQrcode,
  faRotate,
  faShareNodes,
  faSpinner,
  faSquareCaretDown,
  faSquareCaretUp,
  faTrashCan,
  faTriangleExclamation,
  faUser,
  faUsers,
  faXmark,
} from "@fortawesome/free-solid-svg-icons";

library.add(
  faArrowLeft,
  faArrowRight,
  faBan,
  faBitcoinSign,
  faBurst,
  faCalendar,
  faChevronLeft,
  faChevronRight,
  faCircle,
  faCircleCheck,
  faCircleInfo,
  faCircleQuestion,
  faCircleUser,
  faClock,
  faCoins,
  faComment,
  faCopy,
  faDollar,
  faEllipsisVertical,
  faEye,
  faEyeSlash,
  faFileLines,
  faFloppyDisk,
  faFolderOpen,
  faGift,
  faGlobe,
  faHand,
  faHouseChimney,
  faLocationDot,
  faLongArrowAltLeft,
  faLongArrowAltRight,
  faMagnifyingGlass,
  faMessage,
  faPen,
  faPersonCircleCheck,
  faPersonCircleQuestion,
  faPlus,
  faQrcode,
  faQuestion,
  faRotate,
  faShareNodes,
  faSpinner,
  faSquareCaretDown,
  faSquareCaretUp,
  faTrashCan,
  faTriangleExclamation,
  faUser,
  faUsers,
  faXmark,
);

import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";

createApp(App)
  .component("fa", FontAwesomeIcon)
  .use(createPinia())
  .use(VueAxios, axios)
  .use(router)
  .use(Notifications)
  .mount("#app");
