import Vue from 'vue'
import ShipnityPlugin from '..'

Vue.use(ShipnityPlugin)
export default new ShipnityPlugin({})

// import _ from 'lodash'
// import Vue from 'vue'
// import store from '@/store'
// import router from '@/router/index'
// import vuetify from '@/plugins/vuetify'
// import { mapGetters, mapActions } from 'vuex'

// let instance

// export const getInstance = () => instance

// export const ShipnityTemplate = () => {
//   if (instance) return instance

//   instance = new Vue({
//     data () {
//       return {
//         scrollY: 0,
//         scrollUp: 0,
//         lastScrollTop: 0
//       }
//     },
//     computed: {
//       ...mapGetters({
//         purchasesQuantity: 'cart/purchasesQuantity',
//         subdomain: 'salePage/subdomain',
//         customer: 'salePage/customer',
//         theme: 'salePage/theme',
//         productBrands: 'salePage/productBrands',
//         productCategories: 'salePage/productCategories'
//       }),
//       isMobileDevice () {
//         return /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
//       },
//       isAuth () {
//         return this.customer?.id || false
//       },
//       customerName () {
//         return this.customer?.name || 'Guest'
//       },
//       breakpoint () {
//         return this.$vuetify.breakpoint
//       },
//       router () {
//         return this.$router
//       },
//       route () {
//         return this.$route
//       },
//       _ () {
//         return this.$_
//       }
//     },
//     beforeDestroy () {
//       if (typeof window !== 'undefined') {
//         window.removeEventListener('scroll', this.handleScroll)
//       }
//     },
//     created () {
//       this.handleScroll = _.throttle(() => {
//         const pageYOffset = window.pageYOffset || document.documentElement.scrollTop
//         this.scrollY = window.scrollY
//         this.scrollUp = this.lastScrollTop - pageYOffset
//         this.lastScrollTop = pageYOffset <= 0 ? 0 : pageYOffset
//       }, 30)
//       if (typeof window !== 'undefined') {
//         window.addEventListener('scroll', this.handleScroll)
//       }
//     },
//     methods: {
//       ...mapActions({
//         addToCart: 'cart/addToCart'
//       }),
//       goTo (target, options) {
//         this.$vuetify.goTo(target, options)
//       }
//     },
//     vuetify,
//     router,
//     store
//   })
//   return instance
// }

// const ShipnityTemplatePlugin = {
//   // eslint-disable-next-line no-shadow
//   install (Vue) {
//     Vue.prototype.$shipnity = new ShipnityTemplate()
//     console.log('Hello Shipnity Template!')
//   }
// }
