diff --git a/.env b/.env index 008d602..6fa3219 100644 --- a/.env +++ b/.env @@ -4,3 +4,4 @@ VUE_APP_GATEWAYENDPOINT=https://gateway.kaverti.com VUE_APP_STAGING=false VUE_APP_I18N_LOCALE=en VUE_APP_I18N_FALLBACK_LOCALE=en +VUE_APP_RELEASE="Canary" \ No newline at end of file diff --git a/.env.development b/.env.development index f6420e8..f5b345c 100644 --- a/.env.development +++ b/.env.development @@ -1,4 +1,5 @@ VUE_APP_APIENDPOINT="/api/" VUE_APP_APIVERSION="v1" VUE_APP_GATEWAYENDPOINT="http://localhost:23981" -VUE_APP_STAGING=true \ No newline at end of file +VUE_APP_STAGING=true +VUE_APP_RELEASE="Canary" \ No newline at end of file diff --git a/assets/css/sidebar.css b/assets/css/sidebar.css new file mode 100644 index 0000000..c048941 --- /dev/null +++ b/assets/css/sidebar.css @@ -0,0 +1,242 @@ +body { + padding-bottom: 30px!important; + position: relative!important; + min-height: 100%!important; +} + +a { + transition: background 0.2s, color 0.2s!important; +} +a:hover, +a:focus { + text-decoration: none!important; +} + +#wrapper { + padding-left: 0!important; + transition: all 0.5s ease!important; + position: relative!important; +} + +#sidebar-wrapper { + z-index: 1000!important; + position: fixed!important; + left: 250px!important; + width: 0!important; + height: 100%!important; + margin-left: -250px!important; + overflow-y: auto!important; + overflow-x: hidden!important; + background: #222!important; + transition: all 0.5s ease!important; +} + +#wrapper.toggled #sidebar-wrapper { + width: 250px!important; +} + +.sidebar-brand { + position: absolute!important; + top: 0!important; + width: 250px!important; + text-align: center!important; + padding: 20px 0!important; +} +.sidebar-brand h2 { + margin: 0!important; + font-weight: 600!important; + font-size: 24px!important; + color: #fff!important; +} + +.sidebar-nav { + position: absolute!important; + top: 75px!important; + width: 250px!important; + margin: 0!important; + padding: 0!important; + list-style: none!important; +} +.sidebar-nav > li { + text-indent: 10px!important; + line-height: 42px!important; +} +.sidebar-nav > li a { + display: block!important; + text-decoration: none!important; + color: #757575!important; + font-weight: 600!important; + font-size: 18px!important; +} +.sidebar-nav > li > a:hover, +.sidebar-nav > li.active > a { + text-decoration: none!important; + color: #fff!important; + background: #F8BE12!important; +} +.sidebar-nav > li > a i.fa { + font-size: 24px!important; + width: 60px!important; +} + +#navbar-wrapper { + width: 100%!important; + position: absolute!important; + z-index: 2!important; +} +#wrapper.toggled #navbar-wrapper { + position: absolute!important; + margin-right: -250px!important; +} +#navbar-wrapper .navbar { + border-width: 0 0 0 0!important; + background-color: #eee!important; + font-size: 24px!important; + margin-bottom: 0!important; + border-radius: 0!important; +} +#navbar-wrapper .navbar a { + color: #757575!important; +} +#navbar-wrapper .navbar a:hover { + color: #F8BE12!important; +} + +#content-wrapper { + width: 100%!important; + position: absolute!important; + padding: 15px!important; + top: 100px!important; +} +#wrapper.toggled #content-wrapper { + position: absolute!important; + margin-right: -250px!important; +} + +@media (min-width: 992px) { + #wrapper { + padding-left: 250px!important; + } + + #wrapper.toggled { + padding-left: 60px!important; + } + + #sidebar-wrapper { + width: 250px!important; + } + + #wrapper.toggled #sidebar-wrapper { + width: 60px!important; + } + + #wrapper.toggled #navbar-wrapper { + position: absolute!important; + margin-right: -190px!important; + } + + #wrapper.toggled #content-wrapper { + position: absolute!important; + margin-right: -190px!important; + } + + #navbar-wrapper { + position: relative!important; + } + + #wrapper.toggled { + padding-left: 60px!important; + } + + #content-wrapper { + position: relative!important; + top: 0!important; + } + + #wrapper.toggled #navbar-wrapper, + #wrapper.toggled #content-wrapper { + position: relative!important; + margin-right: 60px!important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + #wrapper { + padding-left: 60px!important; + } + + #sidebar-wrapper { + width: 60px!important; + } + + #wrapper.toggled #navbar-wrapper { + position: absolute!important; + margin-right: -250px!important; + } + + #wrapper.toggled #content-wrapper { + position: absolute!important; + margin-right: -250px!important; + } + + #navbar-wrapper { + position: relative!important; + } + + #wrapper.toggled { + padding-left: 250px!important; + } + + #content-wrapper { + position: relative!important; + top: 0!important; + } + + #wrapper.toggled #navbar-wrapper, + #wrapper.toggled #content-wrapper { + position: relative!important; + margin-right: 250px!important; + } +} + +@media (max-width: 767px) { + #wrapper { + padding-left: 0!important; + } + + #sidebar-wrapper { + width: 0!important; + } + + #wrapper.toggled #sidebar-wrapper { + width: 250px!important; + } + #wrapper.toggled #navbar-wrapper { + position: absolute!important; + margin-right: -250px!important; + } + + #wrapper.toggled #content-wrapper { + position: absolute!important; + margin-right: -250px!important; + } + + #navbar-wrapper { + position: relative!important; + } + + #wrapper.toggled { + padding-left: 250px!important; + } + + #content-wrapper { + position: relative!important; + top: 0!important; + } + + #wrapper.toggled #navbar-wrapper, + #wrapper.toggled #content-wrapper { + position: relative!important; + margin-right: 250px!important; + } +} \ No newline at end of file diff --git a/assets/js/errorHandler.js b/assets/js/errorHandler.js index ebd9666..31b0e00 100644 --- a/assets/js/errorHandler.js +++ b/assets/js/errorHandler.js @@ -1,4 +1,5 @@ -module.exports = function(vuex) { +import { SnackbarProgrammatic as Snackbar } from 'buefy' +export default function (vuex) { return function (res, ignorePathErrorCb) { let errors = [] @@ -17,7 +18,7 @@ module.exports = function(vuex) { } if(errors.length) { vuex.commit('setAjaxErrors', errors) - vuex.commit('setAjaxErrorsModalState', true) + Snackbar.open({message: ' ' + vuex.state.errors.errors, type: 'is-danger'}) } } diff --git a/src/App.vue b/src/App.vue index 924df6b..78740f3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,9 +9,10 @@
-{{$t('errors.emailVerify')}}
+{{$store.state.client.bannerText}}
+