Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
m1k1o
GitHub Repository: m1k1o/neko
Path: blob/master/client/src/lib.ts
1300 views
1
import { accessor as neko } from './store'
2
import { PluginObject } from 'vue'
3
4
// Plugins
5
import Logger from './plugins/log'
6
import Client from './plugins/neko'
7
import Axios from './plugins/axios'
8
import Swal from './plugins/swal'
9
import Anime from './plugins/anime'
10
import { i18n } from './plugins/i18n'
11
12
// Components
13
import Connect from '~/components/connect.vue'
14
import Video from '~/components/video.vue'
15
import Menu from '~/components/menu.vue'
16
import Side from '~/components/side.vue'
17
import Controls from '~/components/controls.vue'
18
import Members from '~/components/members.vue'
19
import Emotes from '~/components/emotes.vue'
20
import About from '~/components/about.vue'
21
import Header from '~/components/header.vue'
22
import Chat from '~/components/chat.vue'
23
import Clipboard from '~/components/clipboard.vue'
24
import Emoji from '~/components/emoji.vue'
25
import Emote from '~/components/emote.vue'
26
import Context from '~/components/context.vue'
27
import Markdown from '~/components/markdown'
28
import Avatar from '~/components/avatar.vue'
29
30
// Vue
31
import Vue from 'vue'
32
import ToolTip from 'v-tooltip'
33
34
Vue.use(ToolTip)
35
36
const exportMixin = {
37
computed: {
38
$accessor() {
39
return neko
40
},
41
$client() {
42
return window.$client
43
},
44
},
45
}
46
47
const plugini18n: PluginObject<undefined> = {
48
install(Vue) {
49
Vue.prototype.i18n = i18n
50
Vue.prototype.$t = i18n.t.bind(i18n)
51
Vue.prototype.$te = i18n.te.bind(i18n)
52
},
53
}
54
55
function extend(component: any) {
56
return component.use(plugini18n).use(Logger).use(Axios).use(Swal).use(Anime).use(Client).extend(exportMixin)
57
}
58
59
export const NekoConnect = extend(Connect)
60
export const NekoVideo = extend(Video)
61
export const NekoMenu = extend(Menu)
62
export const NekoSide = extend(Side)
63
export const NekoControls = extend(Controls)
64
export const NekoMembers = extend(Members)
65
export const NekoEmotes = extend(Emotes)
66
export const NekoAbout = extend(About)
67
export const NekoHeader = extend(Header)
68
export const NekoChat = extend(Chat)
69
export const NekoClipboard = extend(Clipboard)
70
export const NekoEmoji = extend(Emoji)
71
export const NekoEmote = extend(Emote)
72
export const NekoMarkdown = extend(Markdown)
73
export const NekoContext = extend(Context)
74
export const NekoAvatar = extend(Avatar)
75
76
neko.initialise()
77
export default neko
78
79