diff --git a/src/App.vue b/src/App.vue index 96649f36..ec9f6b47 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,18 +1,56 @@ @@ -23,16 +61,27 @@ import axios from 'axios' import UIkit from 'uikit'; // Import components -import panelLeft from './components/panelLeft.vue' -import panelDisplay from './components/panelDisplay.vue' +import paneConnect from './components/paneConnect.vue' +import paneNavigate from './components/paneNavigate.vue' +import paneCapture from './components/paneCapture.vue' +import panePlugins from './components/panePlugins.vue' +import paneSettings from './components/paneSettings.vue' +// Import components +import streamDisplay from './components/paneDisplayComponents/streamDisplay.vue' +import galleryDisplay from './components/paneDisplayComponents/galleryDisplay.vue' // Export main app export default { name: 'app', components: { - panelLeft, - panelDisplay + streamDisplay, + galleryDisplay, + paneConnect, + paneNavigate, + paneCapture, + panePlugins, + paneSettings }, data: function () { @@ -67,6 +116,29 @@ export default { window.addEventListener('beforeunload', this.handleExit) }, + mounted() { + // Attach methods to UIkit events for tab switching + var context = this; + // Gallery tab + UIkit.util.on('#galleryDisplayTab', 'shown', function(event, area) { + console.log("Gallery tab entered") + if (context.$store.state.globalSettings.trackWindow == true) { + context.$root.$emit('globalTogglePreview', false) + } + context.$root.$emit('globalUpdateCaptureList'); + }); + + // Stream tab + UIkit.util.on('#streamDisplayTab', 'shown', function(event, area) { + console.log("Stream tab entered") + UIkit.update() + if (context.$store.state.globalSettings.trackWindow == true) { + context.$root.$emit('globalTogglePreview', true) + } + }); + + }, + beforeDestroy: function () { window.removeEventListener('resize', this.handleResize) }, @@ -89,6 +161,14 @@ export default { 'uk-light': this.$store.state.globalSettings.darkMode, 'uk-background-secondary': this.$store.state.globalSettings.darkMode } + }, + disableIfDisconnected: function () { + return { + 'uk-disabled': !this.$store.getters.ready + } + }, + onMobile: function () { + return (this.window.width >= 800) ? true : false } } @@ -148,4 +228,18 @@ body, html { opacity: 0.5; } +.uk-tab { + padding-left: 0; +} +.panel-content { + width: 300px; + overflow: auto; +} + +#panelLeft { + border-width: 0 1px 0 0; + border-style: solid; + border-color: rgba(180, 180, 180, 0.25) +} + diff --git a/src/components/panelDisplay.vue b/src/components/panelDisplay.vue deleted file mode 100644 index f07c2efe..00000000 --- a/src/components/panelDisplay.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/src/components/panelLeft.vue b/src/components/panelLeft.vue deleted file mode 100644 index 6997d46b..00000000 --- a/src/components/panelLeft.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - - -