text: import store from '@/store'
  
  const { body } = document
  const WIDTH = 1000
  const RATIO = 3
  
  export default {
    watch: {
      $route(route) {
        if (this.device === 'mobile' && this.sidebar.opened) {
          store.dispatch('closeSideBar', { withoutAnimation: false })
        }
      }
    },
    beforeMount() {
      window.addEventListener('resize', this.resizeHandler)
    },
    mounted() {
      const isMobile = this.isMobile()
      if (isMobile) {
        store.dispatch('toggleDevice', 'mobile')
        store.dispatch('closeSideBar', { withoutAnimation: true })
      }
    },
    methods: {
      isMobile() {
        const rect = body.getBoundingClientRect()
        return rect.width - RATIO < WIDTH
      },
      resizeHandler() {
        if (!document.hidden) {
          const isMobile = this.isMobile()
          store.dispatch('toggleDevice', isMobile ? 'mobile' : 'desktop')
  
          if (isMobile) {
            store.dispatch('closeSideBar', { withoutAnimation: true })
          }
        }
      }
    }
  }
  