From 996b18fb233ff0350c77736c430f8548582de276 Mon Sep 17 00:00:00 2001 From: herteleo Date: Sun, 28 Apr 2019 20:11:36 +0200 Subject: [PATCH] feat: introduced cleaner layout strategy --- package-lock.json | 5 ++ package.json | 1 + src/App.vue | 102 +++------------------ src/components/AppIcon.vue | 4 + src/components/AppLayout.vue | 142 ++++++++++++++++++++++++++++++ src/components/SideBarButton.vue | 40 +++++++++ src/components/TabHeader.vue | 36 +++----- src/components/TabsList.vue | 2 +- src/components/TabsNav.vue | 32 ++++++- src/components/TheSideBar.vue | 13 +++ src/components/TheTitleBar.vue | 32 +++++++ src/components/TitleBar.vue | 43 +-------- src/components/TitleBarButton.vue | 6 +- src/components/TitleBarText.vue | 12 +++ src/components/WindowControls.vue | 58 +++--------- src/main.js | 5 +- src/views/Notifications.vue | 34 ++++--- src/views/Settings.vue | 16 +++- 18 files changed, 361 insertions(+), 222 deletions(-) create mode 100644 src/components/AppLayout.vue create mode 100644 src/components/SideBarButton.vue create mode 100644 src/components/TheSideBar.vue create mode 100644 src/components/TheTitleBar.vue create mode 100644 src/components/TitleBarText.vue diff --git a/package-lock.json b/package-lock.json index 3805449..5997b86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15745,6 +15745,11 @@ "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "dev": true }, + "portal-vue": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.3.tgz", + "integrity": "sha512-7NSn4044csr6eqnt3XefU2DFzEHMnOhvuD1jei2MntMyIvDPIavk2h6Fg/h62pA4Vh8K33iauPzrLLI1N7RVXA==" + }, "portfinder": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", diff --git a/package.json b/package.json index 4ce2fe9..5500be0 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "is-url-relative-without-domain": "^2.0.0", "lodash-id": "^0.14.0", "lowdb": "^1.0.0", + "portal-vue": "^2.1.3", "prism-themes": "^1.0.1", "prismjs": "^1.15.0", "vue": "^2.6.10", diff --git a/src/App.vue b/src/App.vue index be74a36..eaabac7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,109 +1,27 @@ - - - - diff --git a/src/components/AppIcon.vue b/src/components/AppIcon.vue index b8096ae..e3cecb9 100644 --- a/src/components/AppIcon.vue +++ b/src/components/AppIcon.vue @@ -57,4 +57,8 @@ export default { .size-5 { @apply w-5 h-5; } + +.size-6 { + @apply w-6 h-6; +} diff --git a/src/components/AppLayout.vue b/src/components/AppLayout.vue new file mode 100644 index 0000000..b15bdad --- /dev/null +++ b/src/components/AppLayout.vue @@ -0,0 +1,142 @@ + + + + + + + diff --git a/src/components/SideBarButton.vue b/src/components/SideBarButton.vue new file mode 100644 index 0000000..fa13842 --- /dev/null +++ b/src/components/SideBarButton.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/components/TabHeader.vue b/src/components/TabHeader.vue index 07822e8..ceaeeeb 100644 --- a/src/components/TabHeader.vue +++ b/src/components/TabHeader.vue @@ -1,16 +1,8 @@ diff --git a/src/components/TheTitleBar.vue b/src/components/TheTitleBar.vue new file mode 100644 index 0000000..15e4b32 --- /dev/null +++ b/src/components/TheTitleBar.vue @@ -0,0 +1,32 @@ + + + + + + diff --git a/src/components/TitleBar.vue b/src/components/TitleBar.vue index 3b8922d..b0b1e5c 100644 --- a/src/components/TitleBar.vue +++ b/src/components/TitleBar.vue @@ -1,44 +1,5 @@ - - - - diff --git a/src/components/TitleBarButton.vue b/src/components/TitleBarButton.vue index 29dd11c..66fa27a 100644 --- a/src/components/TitleBarButton.vue +++ b/src/components/TitleBarButton.vue @@ -11,7 +11,11 @@ }" @click="$emit('click')" > - + + diff --git a/src/components/TitleBarText.vue b/src/components/TitleBarText.vue new file mode 100644 index 0000000..cffe9a1 --- /dev/null +++ b/src/components/TitleBarText.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/components/WindowControls.vue b/src/components/WindowControls.vue index fcd651b..d4e0464 100644 --- a/src/components/WindowControls.vue +++ b/src/components/WindowControls.vue @@ -1,42 +1,21 @@ - - diff --git a/src/main.js b/src/main.js index 3a5d58e..b31ae55 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,6 @@ import Vue from 'vue'; +import VueElectron from 'vue-electron'; +import PortalVue from 'portal-vue'; import App from './App.vue'; import router from './router'; import store from './store'; @@ -7,7 +9,8 @@ import AppButton from './components/AppButton.vue'; import AppContent from './components/AppContent.vue'; import AppIcon from './components/AppIcon.vue'; -/* if (!process.env.IS_WEB) */ Vue.use(require('vue-electron')); +Vue.use(VueElectron); +Vue.use(PortalVue); Vue.config.productionTip = false; diff --git a/src/views/Notifications.vue b/src/views/Notifications.vue index 6897425..6456651 100644 --- a/src/views/Notifications.vue +++ b/src/views/Notifications.vue @@ -1,18 +1,15 @@