felicity-lims/webapp/main.ts

56 lines
2.4 KiB
TypeScript
Raw Normal View History

2023-11-10 14:05:15 +08:00
import { createApp, markRaw } from 'vue';
import urql from '@urql/vue';
import { MotionPlugin } from '@vueuse/motion';
import VueSweetalert2 from 'vue-sweetalert2';
import FloatingVue from 'floating-vue';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
import { library } from '@fortawesome/fontawesome-svg-core';
import {
faBell, faCog, faUser, faChevronDown, faBars, faMeteor, faTachometerAlt, faBullseye,
faUserInjured, faClinicMedical, faVial, faGripVertical, faDatabase, faTruck, faBoxesStacked,
faFlag, faFileMedical, faUsers, faCaravan, faLaptopMedical, faFill, faMicroscope, faGripHorizontal,
2024-03-23 16:25:02 +08:00
faCopy, faCodeBranch, faMoneyBill, faEdit, faLeftRight, faSort, faTimes, faEllipsis, faBarcode, faCheckCircle, faTimesCircle, faThumbsDown, faThumbsUp, faQuestion, faDownload, faBan
} from '@fortawesome/free-solid-svg-icons';
2023-11-10 14:05:15 +08:00
import LayoutDashboard from './views/layouts/LayoutDashboard.vue';
import LayoutEmpty from './views/layouts/LayoutEmpty.vue';
import LayoutMobile from './views/layouts/LayoutMobile.vue';
2024-02-16 23:48:19 +08:00
import 'vue-multiselect/dist/vue-multiselect.css';
2023-11-10 14:05:15 +08:00
import 'floating-vue/dist/style.css';
import 'sweetalert2/dist/sweetalert2.min.css';
import 'notyf/notyf.min.css';
import './index.css';
import './assets/css/style.css';
import App from './App.vue';
import router from './router';
import { createPinia } from 'pinia';
import { urqlClient } from './urql';
const icons = [
faBell, faCog, faUser, faChevronDown, faBars, faMeteor, faTachometerAlt, faBullseye,
faUserInjured, faClinicMedical, faVial, faGripVertical, faDatabase, faTruck, faBoxesStacked,
faFlag, faFileMedical, faUsers, faCaravan, faLaptopMedical, faFill, faMicroscope, faGripHorizontal,
2024-01-24 01:13:37 +08:00
faCopy, faCodeBranch, faMoneyBill, faEdit, faLeftRight, faSort, faTimes, faEllipsis, faBarcode,
2024-03-23 16:25:02 +08:00
faCheckCircle, faTimesCircle, faThumbsDown, faThumbsUp, faQuestion, faDownload, faBan
]
library.add(...icons);
2023-11-10 14:05:15 +08:00
const pinia = createPinia();
pinia.use(({ store }) => {
store.router = markRaw(router);
});
const app = createApp(App);
app.component('font-awesome-icon', FontAwesomeIcon);
app.component('default-layout', LayoutDashboard);
app.component('empty-layout', LayoutEmpty);
app.component('mobile-layout', LayoutMobile);
2024-01-23 01:42:18 +08:00
2023-11-10 14:05:15 +08:00
app.use(VueSweetalert2);
app.use(FloatingVue);
app.use(MotionPlugin);
2024-01-23 01:42:18 +08:00
app.use(pinia);
2023-11-10 14:05:15 +08:00
app.use(router);
2024-01-23 01:42:18 +08:00
app.use(urql, urqlClient);
2023-11-10 14:05:15 +08:00
app.mount('#felicityApp');