From eacbd9b5009a3646854b59e9983753fd288ea1c4 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 27 Aug 2018 22:22:25 +0300 Subject: Separated tab-switcher into a reusable component. This depends on JSX addition --- src/components/tab_switcher/tab_switcher.jsx | 44 +++++++++++++++++++++++++ src/components/tab_switcher/tab_switcher.scss | 47 +++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 src/components/tab_switcher/tab_switcher.jsx create mode 100644 src/components/tab_switcher/tab_switcher.scss (limited to 'src/components/tab_switcher') diff --git a/src/components/tab_switcher/tab_switcher.jsx b/src/components/tab_switcher/tab_switcher.jsx new file mode 100644 index 00000000..0a6eec11 --- /dev/null +++ b/src/components/tab_switcher/tab_switcher.jsx @@ -0,0 +1,44 @@ +import Vue from 'vue' + +import './tab_switcher.scss' + +export default Vue.component('tab-switcher', { + name: 'TabSwitcher', + data () { + return { + active: 0 + } + }, + methods: { + activateTab(index) { + return () => this.active = index; + } + }, + render(h) { + const tabs = this.$slots.default + .filter(slot => slot.data) + .map((slot, index) => { + const classes = ['tab'] + + if (index === this.active) { + classes.push('active') + } + return () + }); + const contents = ( +
+ {this.$slots.default.filter(slot => slot.data)[this.active]} +
+ ); + return ( +
+
+ {tabs} +
+
+ {contents} +
+
+ ) + } +}) diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss new file mode 100644 index 00000000..f83dc7c2 --- /dev/null +++ b/src/components/tab_switcher/tab_switcher.scss @@ -0,0 +1,47 @@ +@import '../../_variables.scss'; + +.tab-switcher { + .tabs { + display: flex; + position: relative; + justify-content: center; + width: 100%; + overflow: hidden; + padding-top: 5px; + + &::after, &::before { + display: block; + content: ''; + flex: 1 1 auto; + } + + .tab, &::after, &::before { + border-bottom: 1px solid; + border-bottom-color: $fallback--btn; + border-bottom-color: var(--btn, $fallback--btn); + } + + .tab { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + padding: .3em 1em; + + &::-moz-focus-inner { + border: none; + } + + &:not(.active) { + border-bottom: 1px solid; + border-bottom-color: $fallback--btn; + border-bottom-color: var(--btn, $fallback--btn); + z-index: 4; + } + + &.active { + background: transparent; + border-bottom: none; + z-index: 5; + } + } + } +} -- cgit v1.2.3-70-g09d2 From da362b2b88b9d21a5cca654feafde5bea612a31a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 28 Aug 2018 16:20:04 +0300 Subject: minor style tweaks --- src/App.scss | 9 +++++++++ src/components/tab_switcher/tab_switcher.scss | 4 ---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/components/tab_switcher') diff --git a/src/App.scss b/src/App.scss index b4692f26..d0c4b26c 100644 --- a/src/App.scss +++ b/src/App.scss @@ -64,10 +64,19 @@ button { font-size: 14px; font-family: sans-serif; + &::-moz-focus-inner { + border: none; + } + &:hover { box-shadow: 0px 0px 4px rgba(255, 255, 255, 0.3); } + &:active { + border-bottom: 1px solid rgba(255, 255, 255, 0.2); + border-top: 1px solid rgba(0, 0, 0, 0.2); + } + &:disabled { cursor: not-allowed; opacity: 0.5; diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss index f83dc7c2..374a19c5 100644 --- a/src/components/tab_switcher/tab_switcher.scss +++ b/src/components/tab_switcher/tab_switcher.scss @@ -26,10 +26,6 @@ border-bottom-right-radius: 0; padding: .3em 1em; - &::-moz-focus-inner { - border: none; - } - &:not(.active) { border-bottom: 1px solid; border-bottom-color: $fallback--btn; -- cgit v1.2.3-70-g09d2 From 66a22762c21f652342ca2421f732650c261abc02 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 28 Aug 2018 16:22:49 +0300 Subject: fixup! Separated tab-switcher into a reusable component. This depends on JSX addition --- src/components/settings/settings.vue | 6 +++--- src/components/tab_switcher/tab_switcher.jsx | 2 +- src/components/user_settings/user_settings.vue | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/components/tab_switcher') diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index 2f70c209..c92602b7 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -5,7 +5,7 @@
-
+

{{ $t('settings.interfaceLanguage') }}

@@ -73,13 +73,13 @@
-
+
-
+
{{$t('settings.replies_in_timeline')}}