UNPKG

@chengkang/wildfire

Version:

A drop-in replacement for other comment systems.

87 lines (75 loc) 2.06 kB
import VueResource from 'vue-resource' import firebase from 'firebase' import VueFire from 'vuefire' import moment from 'moment' import i18next from 'i18next' import { langEn, langZhCN } from './common/translation' import iView from './common/loadiView' import Wildfire from './Wildfire' import './assets/style.css' import './assets/style.dark.css' import './assets/animation.css' const install = (_Vue, config) => { const { // databaseProvider = 'firebase', databaseConfig, // required pageTitle = document.title, pageURL = window.location.href, theme = 'light', locale = 'en', defaultAvatarURL = 'https://cdn.rawgit.com/cheng-kang/wildfire/088cf3de/resources/wildfire-avatar.svg' } = config const wf = { config: { databaseProvider: 'firebase', databaseConfig, pageTitle, pageURL: btoa(pageURL), // encode pageURL with base64 locale, theme, defaultAvatarURL, anonymousUserId: 'Anonymous' }, info: {ip: 'unknown', isBanned: false}, i18next, moment } if (!_Vue.http) { _Vue.use(VueResource) } _Vue.use(iView) if (!_Vue.$bindAsObject) { _Vue.use(VueFire) } wf.dbApp = firebase.initializeApp(databaseConfig) wf.db = wf.dbApp.database() wf.auth = wf.dbApp.auth() wf.authService = firebase.auth.EmailAuthProvider.credential _Vue.prototype.$_wf = wf // Dynamically update `pageTitle` & `pageURL` _Vue.prototype.$_updateWildfirePageInfo = function ({ pageTitle, pageURL }) { if (pageTitle) { this.$_wf.config.pageTitle = pageTitle } if (pageURL) { this.$_wf.config.pageURL = btoa(pageURL) } } moment.locale(locale.toLowerCase()) i18next.init({ lng: locale, fallbackLng: 'en', debug: true, resources: { en: { translation: langEn }, 'zh-CN': { translation: langZhCN } } }, (err, t) => { if (err) { console.error(err) } else { console.log('i18next Initialized!') } }) _Vue.component('wildfire', Wildfire) } export default {install}