From 2879495b8ab16a07d337965871e951f660fc1815 Mon Sep 17 00:00:00 2001 From: shpuld Date: Mon, 1 Apr 2019 22:41:34 +0300 Subject: [PATCH] remove window width copypasta --- src/App.js | 7 ++++--- src/boot/after_store.js | 4 ++-- src/services/window_utils/window_utils.js | 5 +++++ 3 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 src/services/window_utils/window_utils.js diff --git a/src/App.js b/src/App.js index 96954e72f9..46145b16a3 100644 --- a/src/App.js +++ b/src/App.js @@ -10,6 +10,7 @@ import MediaModal from './components/media_modal/media_modal.vue' import SideDrawer from './components/side_drawer/side_drawer.vue' import MobilePostStatusModal from './components/mobile_post_status_modal/mobile_post_status_modal.vue' import MobileNav from './components/mobile_nav/mobile_nav.vue' +import { windowWidth } from './services/window_utils/window_utils' export default { name: 'app', @@ -102,10 +103,10 @@ export default { this.finderHidden = hidden }, updateMobileState () { - const width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth - const changed = width <= 800 !== this.isMobileLayout + const mobileLayout = windowWidth() <= 800 + const changed = mobileLayout !== this.isMobileLayout if (changed) { - this.$store.dispatch('setMobileLayout', width <= 800) + this.$store.dispatch('setMobileLayout', mobileLayout) } } } diff --git a/src/boot/after_store.js b/src/boot/after_store.js index f86a65e344..e03b7f27b4 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -1,8 +1,8 @@ import Vue from 'vue' import VueRouter from 'vue-router' import routes from './routes' - import App from '../App.vue' +import { windowWidth } from '../services/window_utils/window_utils' const getStatusnetConfig = async ({ store }) => { try { @@ -230,7 +230,7 @@ const afterStoreSetup = async ({ store, i18n }) => { }) } - const width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth + const width = windowWidth() store.dispatch('setMobileLayout', width <= 800) const apiConfig = await getStatusnetConfig({ store }) diff --git a/src/services/window_utils/window_utils.js b/src/services/window_utils/window_utils.js new file mode 100644 index 0000000000..faff6cb9d0 --- /dev/null +++ b/src/services/window_utils/window_utils.js @@ -0,0 +1,5 @@ + +export const windowWidth = () => + window.innerWidth || + document.documentElement.clientWidth || + document.body.clientWidth