sakura/src/main.ts

31 lines
1.1 KiB
TypeScript

import { createApp } from 'vue'
import { VueSvgIconPlugin } from '@yzfe/vue3-svgicon'
import '@yzfe/svgicon/lib/svgicon.css'
import VueTippy from 'vue-tippy'
import 'tippy.js/dist/tippy.css'
import 'tippy.js/animations/scale.css'
import 'tippy.js/themes/material.css'
import 'animate.css/animate.css'
import App from './App.vue'
import router from './router'
import { storeProviderPlugin } from './hooks/store'
import { auth, init, posts, comments, messages } from './store'
import { intlPlugin } from './locales'
import UiIcon from '@/components/icon/UiIcon.vue'
import Image from '@/components/image/Image.vue'
import Link from '@/components/link/Link.vue'
const theWindow = window as any
theWindow.router = router
const app = createApp(App)
app.use(storeProviderPlugin, [auth, init, posts, comments, messages])
app.use(router)
app.use(intlPlugin)
app.use(VueSvgIconPlugin, { tagName: 'svg-icon' })
app.component('UiIcon', UiIcon)
app.component('Image', Image)
app.component('Link', Link)
app.use(VueTippy, { directive: 'tippy', component: 'tippy', componentSingleton: 'tippy-singleton' })
app.mount('#app')