Skip to content
This repository has been archived by the owner on Mar 23, 2023. It is now read-only.

Commit

Permalink
refactor: simplify blurred modal backdrop & ui tweaks (#1638)
Browse files Browse the repository at this point in the history
  • Loading branch information
dated committed Feb 26, 2020
1 parent c6c6f39 commit 627ab74
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 92 deletions.
57 changes: 10 additions & 47 deletions src/renderer/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,11 @@
<AppSidemenu
v-if="hasAnyProfile"
:is-horizontal="true"
:class="{
'blur': hasBlurFilter
}"
class="block md:hidden z-1"
/>
<section
:style="background ? `backgroundImage: url('${assets_loadImage(background)}')` : ''"
:class="{
'blur': hasBlurFilter
}"
class="App__main flex flex-col items-center px-6 pb-6 pt-2 lg:pt-6 w-screen-adjusted h-screen-adjusted overflow-hidden -m-2"
class="App__main flex flex-col items-center px-4 pb-4 lg:pt-4 w-screen h-screen-adjusted overflow-hidden"
>
<div
:class="{ 'ml-6': !hasAnyProfile }"
Expand Down Expand Up @@ -73,32 +67,19 @@
/>

<PortalTarget
:slot-props="{ setPortalHasContent }"
name="modal"
multiple
@change="onPortalChange('modal', ...arguments)"
/>

<PortalTarget
:slot-props="{ setPortalHasContent }"
name="updater"
@change="onPortalChange('updater', ...arguments)"
/>
<PortalTarget name="updater" />

<PortalTarget
name="loading"
@change="onPortalChange('loading', ...arguments)"
/>
<PortalTarget name="loading" />

<PortalTarget
name="qr-scan"
@change="onPortalChange('qr-scan', ...arguments)"
/>
<PortalTarget name="qr-scan" />

<PortalTarget
name="button-dropdown"
multiple
:slot-props="{ hasBlurFilter }"
/>

<AlertMessage />
Expand Down Expand Up @@ -134,13 +115,6 @@ export default {
data: () => ({
isReady: false,
isUriTransactionOpen: false,
forceBlurFilter: false,
portalHasContent: {
modal: false,
update: false,
loading: false,
'qr-scan': false
},
uriTransactionSchema: {},
aliveRouteComponents: []
}),
Expand All @@ -154,9 +128,6 @@ export default {
}),
computed: {
hasBlurFilter () {
return Object.values(this.portalHasContent).some(hasContent => !!hasContent)
},
background () {
return this.$store.getters['session/background'] || `wallpapers/${this.hasSeenIntroduction ? 1 : 2}Default.png`
},
Expand Down Expand Up @@ -342,10 +313,6 @@ export default {
ipcRenderer.send('splashscreen:app-ready')
},
onPortalChange (portal, isActive) {
this.setPortalHasContent(portal, isActive)
},
__watchProcessURL () {
ipcRenderer.on('process-url', (_, url) => {
const uri = new URIHandler(url)
Expand All @@ -372,10 +339,6 @@ export default {
this.uriTransactionSchema = {}
},
setPortalHasContent (portal, isActive) {
this.portalHasContent[portal] = isActive
},
setIntroDone () {
this.$store.dispatch('app/setHasSeenIntroduction', true)
this.$router.push({ name: 'profile-new' })
Expand Down Expand Up @@ -431,19 +394,19 @@ export default {
.App__main {
transition: .1s filter linear;
}
.App__container {
max-width: 1400px;
}
.App__main.h-screen-adjusted {
height: calc(100vh + 1rem);
height: calc(100vh - 80px);
}
.App__main.w-screen-adjusted {
width: calc(100vw + 1rem);
.App__container {
max-width: 1400px;
}
@media (min-width: 768px) {
.App__page {
@apply .min-h-full;
max-height: calc(100vh - 5rem);
}
.App__main.h-screen-adjusted {
@apply h-screen;
}
}
</style>
16 changes: 9 additions & 7 deletions src/renderer/components/App/AppSidemenu/AppSidemenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
v-model="activeItem"
:class="{
'AppSidemenu--horizontal': isHorizontal,
'AppSidemenu--vertical': !isHorizontal
'AppSidemenu--vertical mr-3 lg:mx-6': !isHorizontal
}"
class="AppSidemenu relative bg-transparent"
class="AppSidemenu"
>
<div
class="AppSidemenu__container flexify w-full md:h-full justify-between"
Expand Down Expand Up @@ -232,18 +232,20 @@ export default {
</script>

<style lang="postcss" scoped>
.AppSidemenu { @apply relative bg-transparent }
.AppSidemenu__container__scrollable .flexify { @apply flex-none }
.AppSidemenu__logo { transition: opacity 0.5s; }
.AppSidemenu__avatar__container {
transition: opacity 0.5s;
}
.AppSidemenu--horizontal .AppSidemenu__item { @apply w-16 }
.AppSidemenu--horizontal { @apply h-full }
.AppSidemenu--horizontal .flexify { @apply flex flex-row }
.AppSidemenu--horizontal .AppSidemenu__container { @apply bg-theme-feature }
.AppSidemenu--horizontal .AppSidemenu__item { @apply w-16 h-full }
.AppSidemenu--horizontal .AppSidemenu__logo { @apply p-4 }
.AppSidemenu--horizontal .AppSidemenu__logo img { @apply h-12 }
.AppSidemenu--horizontal .flexify { @apply flex flex-row }
.AppSidemenu--horizontal { @apply h-18; }
.AppSidemenu--horizontal .AppSidemenu__avatar__dots {
@apply absolute p-2 rounded-full bg-theme-feature;
right: 0.1rem;
Expand All @@ -252,12 +254,12 @@ export default {
height: 1.5rem;
}
.AppSidemenu--vertical { @apply w-22 h-full rounded-lg }
.AppSidemenu--vertical .flexify { @apply flex flex-col }
.AppSidemenu--vertical .AppSidemenu__container__scrollable { @apply rounded-lg py-2 }
.AppSidemenu--vertical .AppSidemenu__item { @apply h-16 }
.AppSidemenu--vertical .AppSidemenu__logo { @apply rounded-lg mb-3 p-5 }
.AppSidemenu--vertical .AppSidemenu__logo img { @apply w-18 }
.AppSidemenu--vertical .flexify { @apply flex flex-col }
.AppSidemenu--vertical { @apply w-22 mx-6 rounded-lg }
.AppSidemenu--vertical .AppSidemenu__avatar__dots {
@apply absolute p-2 rounded-full bg-theme-feature shadow;
right: 1rem;
Expand Down
51 changes: 31 additions & 20 deletions src/renderer/components/Button/ButtonDropdown.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,8 @@
>
<div
v-show="showDropdown"
slot-scope="app"
class="ButtonDropdown__list transition"
:style="dropdownStyle"
:class="{
'blur': app.hasBlurFilter
}"
>
<div
v-for="(item, key) of items"
Expand Down Expand Up @@ -103,7 +99,8 @@ export default {
data () {
return {
showDropdown: false
showDropdown: false,
dropdownStyle: ''
}
},
Expand All @@ -129,24 +126,17 @@ export default {
}
return '0 -2 12 16'
},
dropdownStyle () {
const buttonDropdown = this.$refs.buttonDropdown
}
},
if (!buttonDropdown) {
return ''
}
mounted () {
this.setDropdownStyle()
const height = buttonDropdown.clientHeight
const position = buttonDropdown.getBoundingClientRect()
window.addEventListener('resize', this.handleResize)
},
return [
`top: ${position.top + height}px`,
`left: ${position.left}px`,
'z-index: 10'
].join(';')
}
destroyed () {
window.removeEventListener('resize', this.handleResize)
},
methods: {
Expand All @@ -156,6 +146,27 @@ export default {
triggerClose () {
this.showDropdown = false
},
handleResize () {
this.setDropdownStyle()
},
setDropdownStyle () {
const buttonDropdown = this.$refs.buttonDropdown
if (buttonDropdown) {
const height = buttonDropdown.clientHeight
const position = buttonDropdown.getBoundingClientRect()
this.dropdownStyle = [
`top: ${position.top + height}px`,
`left: ${position.left}px`,
'z-index: 10'
].join(';')
} else {
this.dropdownStyle = ''
}
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/renderer/components/Modal/ModalCloseConfirmation.vue
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ export default {
left: 0;
background-color: rgba(0, 0, 0, .5);
transition: opacity .3s ease;
backdrop-filter: blur(4px);
}
.ModalCloseConfirmation__container__content{
Expand Down
12 changes: 5 additions & 7 deletions src/renderer/components/Modal/ModalWindow.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<template>
<Portal :to="portalTarget">
<div
slot-scope="{ setPortalHasContent }"
class="ModalWindow"
:class="{
'ModalWindow--maximized': isMaximized,
Expand Down Expand Up @@ -30,7 +29,7 @@
:icon-name="isMaximized ? 'minus' : 'resize'"
icon-class="text-grey"
class="ModalWindow__resize-button p-6"
@click="toggleMaximized(setPortalHasContent)"
@click="toggleMaximized()"
/>
</span>

Expand Down Expand Up @@ -83,7 +82,6 @@

<script>
import { ButtonClose } from '@/components/Button'
import { isFunction } from 'lodash'
import ModalCloseConfirmation from './ModalCloseConfirmation'
export default {
Expand Down Expand Up @@ -163,9 +161,8 @@ export default {
},
methods: {
toggleMaximized (callback) {
toggleMaximized () {
this.isMaximized = !this.isMaximized
isFunction(callback) && callback(this.portalTarget, this.isMaximized)
},
onBackdropClick () {
Expand Down Expand Up @@ -222,8 +219,9 @@ export default {
display: table;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
transition: opacity 0.3s ease;
background-color: rgba(0, 0, 0, .5);
transition: opacity .3s ease;
backdrop-filter: blur(4px);
}
.ModalWindow--maximized .ModalWindow__wrapper {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<MenuTab
ref="menutab"
v-model="currentTab"
:class="{ 'rounded-bl-lg' : !isDelegatesTab || !isOwned }"
class="flex-1"
:class="{ 'rounded-b-lg lg:rounded-br-none' : !isDelegatesTab || !isOwned }"
class="flex-1 overflow-y-auto"
>
<MenuTabItem
key="BackItem"
Expand Down Expand Up @@ -44,7 +44,7 @@
</MenuTab>
<div
v-if="isDelegatesTab && isOwned"
class="bg-theme-feature px-5 flex flex-row rounded-bl-lg"
class="bg-theme-feature px-5 flex flex-row rounded-b-lg lg:rounded-br-none"
>
<div
class="WalletDetails__button rounded-l"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div
:class="justifyClass"
class="WalletHeading flex px-10 py-8 w-full bg-theme-heading-background rounded-tl-lg h-40 overflow-hidden"
class="WalletHeading flex px-10 py-8 w-full bg-theme-heading-background rounded-t-lg lg:rounded-tr-none h-40 overflow-hidden"
>
<WalletHeadingInfo
v-if="!secondaryButtonsVisible"
Expand Down
2 changes: 1 addition & 1 deletion src/renderer/pages/Wallet/WalletShow.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<WalletDetails
v-if="wallet"
ref="WalletDetails"
class="h-full flex-1"
class="flex-1"
:class="{
'w-2/3': isSidebarExpanded,
'w-7/8': !isSidebarExpanded
Expand Down
6 changes: 0 additions & 6 deletions src/renderer/styles/_general.css
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,6 @@ img {
transform: rotate(180deg);
}

.modal-backdrop {
@apply .fixed .z-50 .pin-t .pin-l .table .w-full .h-full;
background-color: rgba(0, 0, 0, 0.5);
transition: opacity 0.3s ease;
}

.instructions-text {
@apply .mt-16 .mx-16 .w-1/2 .p-4 .rounded-lg .text-theme-page-instructions-text .bg-theme-page-instructions-background
}
Expand Down

0 comments on commit 627ab74

Please sign in to comment.