diff --git a/zero.Web/App/Components/Buttons/button.vue b/zero.Web/App/Components/Buttons/button.vue index c8a569ed..c993b186 100644 --- a/zero.Web/App/Components/Buttons/button.vue +++ b/zero.Web/App/Components/Buttons/button.vue @@ -2,6 +2,7 @@ @@ -23,6 +24,9 @@ type: String, default: 'action' }, + icon: { + type: String + }, caret: String, caretPosition: { type: String, @@ -36,7 +40,7 @@ }, computed: { - buttonClass() { return 'type-' + this.type.split(' ').join(' type-') + ' caret-' + this.caretPosition; }, + buttonClass() { return 'type-' + this.type.split(' ').join(' type-') + ' caret-' + this.caretPosition + (!!this.icon ? ' has-icon' : ''); }, caretClass() { return 'fth-chevron-' + this.caret; } }, diff --git a/zero.Web/App/Components/Buttons/icon-button.vue b/zero.Web/App/Components/Buttons/icon-button.vue new file mode 100644 index 00000000..4d6875ec --- /dev/null +++ b/zero.Web/App/Components/Buttons/icon-button.vue @@ -0,0 +1,42 @@ + + + + \ No newline at end of file diff --git a/zero.Web/App/Components/header-bar.vue b/zero.Web/App/Components/header-bar.vue index ef89f80d..47d6514b 100644 --- a/zero.Web/App/Components/header-bar.vue +++ b/zero.Web/App/Components/header-bar.vue @@ -1,7 +1,12 @@  @@ -14,6 +19,9 @@ title: { type: String }, + onBack: { + type: Function + } }, mounted () @@ -38,6 +46,26 @@ width: 100%; height: 80px; padding: 0 var(--padding); + background: var(--color-bg-light); + } + + .ui-header-bar-main + { + display: flex; + align-items: center; + height: 100%; + + .ui-icon-button + { + margin-right: var(--padding); + } + } + + .ui-header-bar-aside + { + display: flex; + align-items: center; + height: 100%; } .ui-header-bar-title diff --git a/zero.Web/App/Components/tree.vue b/zero.Web/App/Components/tree.vue index 3d58b9ba..d3fd8c50 100644 --- a/zero.Web/App/Components/tree.vue +++ b/zero.Web/App/Components/tree.vue @@ -251,7 +251,6 @@ .ui-tree-item-actions { transition: opacity 0.2s ease 0; - margin-right: -8px; opacity: 0; color: var(--color-fg-mid); } diff --git a/zero.Web/App/Pages/page.vue b/zero.Web/App/Pages/page.vue index 17d715d5..aa2c7040 100644 --- a/zero.Web/App/Pages/page.vue +++ b/zero.Web/App/Pages/page.vue @@ -2,11 +2,18 @@
- +
+
+ + + + + +
@@ -44,6 +51,11 @@ this.cache[key] = response; return response; }); + }, + + onBack() + { + console.info('back'); } } @@ -56,6 +68,7 @@ { display: grid; grid-template-columns: auto 1fr; + grid-gap: 1px; justify-content: stretch; height: 100%; } @@ -71,6 +84,11 @@ { margin-top: 2px; } + + .ui-dot-button + { + margin-right: -8px; + } } .page-container-tree-resizable diff --git a/zero.Web/Resources/Localization/zero.en-us.json b/zero.Web/Resources/Localization/zero.en-us.json index 0362c4eb..824b3a74 100644 --- a/zero.Web/Resources/Localization/zero.en-us.json +++ b/zero.Web/Resources/Localization/zero.en-us.json @@ -5,7 +5,8 @@ "ui": { "more": "More", - "actions": "Actions" + "actions": "Actions", + "back": "Go back" }, "sections": { diff --git a/zero.Web/Sass/Canvas/_navigation.scss b/zero.Web/Sass/Canvas/_navigation.scss index 75567ecd..3ad8a5d0 100644 --- a/zero.Web/Sass/Canvas/_navigation.scss +++ b/zero.Web/Sass/Canvas/_navigation.scss @@ -74,11 +74,6 @@ a.app-nav-item font-weight: 700; } - .app-nav-item-arrow - { - transition: transform 0.2s ease; - } - &.is-active .app-nav-item-arrow { transform: rotate(180deg); diff --git a/zero.Web/Sass/Core/_settings.scss b/zero.Web/Sass/Core/_settings.scss index e6026993..3212f468 100644 --- a/zero.Web/Sass/Core/_settings.scss +++ b/zero.Web/Sass/Core/_settings.scss @@ -3,6 +3,7 @@ { // accent colors --color-primary: #f7f8f9; + --color-primary-fg: #222; --color-secondary: #292b2c; --color-negative: #d82853; diff --git a/zero.Web/Sass/Modules/Buttons/_button.scss b/zero.Web/Sass/Modules/Buttons/_button.scss index da05a378..a576b3ef 100644 --- a/zero.Web/Sass/Modules/Buttons/_button.scss +++ b/zero.Web/Sass/Modules/Buttons/_button.scss @@ -16,7 +16,7 @@ button display: inline-flex; justify-content: space-between; align-items: center; - color: white; + color: var(--color-primary-fg); background: var(--color-primary); padding: 0 24px; height: 42px; @@ -68,6 +68,13 @@ button padding: 0 30px; } + &.type-light + { + background: var(--color-bg-mid); + color: var(--color-fg); + border: none; + } + &.type-block { display: flex; @@ -76,14 +83,15 @@ button & + .ui-button { - margin-left: 10px; + margin-left: 15px; } [class^="fth-"] { - margin-left: 12px; + margin-left: 15px; margin-right: -7px; position: relative; + font-size: var(--font-size-l); top: -1px; color: var(--color-fg-mid); } @@ -124,6 +132,33 @@ button } +.ui-icon-button +{ + @extend .ui-button; + background: var(--color-bg-mid); + padding: 0; + height: 32px; + width: 32px; + border-radius: 16px; + text-align: center; + justify-content: center; + font-size: var(--font-size-l); + + &:hover + { + opacity: 1; + } + + [class^="fth-"] + { + color: var(--color-fg); + margin: 0; + top: 0; + } +} + + + /*button { @extend %font;