diff options
| author | Henry Jameson <me@hjkos.com> | 2020-10-17 22:28:49 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2020-10-17 22:28:49 +0300 |
| commit | e695506c514e49964dfd81c7db5c5b4d4918f47d (patch) | |
| tree | 60a4b4bb9f157c53ae1b8d126e74b8f16734e3e1 | |
| parent | a664fde02f5f5eec96bbcaa2b6f19e1694541e76 (diff) | |
proper modified icon + popup
| -rw-r--r-- | src/components/settings_modal/helpers/boolean_setting.vue | 10 | ||||
| -rw-r--r-- | src/components/settings_modal/helpers/modified_icon.vue | 46 | ||||
| -rw-r--r-- | src/i18n/en.json | 1 |
3 files changed, 52 insertions, 5 deletions
diff --git a/src/components/settings_modal/helpers/boolean_setting.vue b/src/components/settings_modal/helpers/boolean_setting.vue index 11b354ed..f7c392cd 100644 --- a/src/components/settings_modal/helpers/boolean_setting.vue +++ b/src/components/settings_modal/helpers/boolean_setting.vue @@ -6,30 +6,30 @@ :checked="state" @change="update" :disabled="disabled" - > + > <span v-if="!!$slots.default" class="label" > <slot /> </span> + <ModifiedIcon :changed="isChanged" /> </Checkbox> - <span v-if="isChanged"> - <strong>CHANGED</strong> - </span> </label> </template> <script> import { get, set } from 'lodash' import Checkbox from 'src/components/checkbox/checkbox.vue' +import ModifiedIcon from './modified_icon.vue' export default { props: [ 'path', 'disabled' ], components: { - Checkbox + Checkbox, + ModifiedIcon }, computed: { pathDefault () { diff --git a/src/components/settings_modal/helpers/modified_icon.vue b/src/components/settings_modal/helpers/modified_icon.vue new file mode 100644 index 00000000..27e0a9c5 --- /dev/null +++ b/src/components/settings_modal/helpers/modified_icon.vue @@ -0,0 +1,46 @@ +<template> + <span + v-if="changed" + class="ModifiedIcon" + > + <Popover + trigger="hover" + > + <i + slot="trigger" + class="icon icon-wrench" + /> + <div + class="modified-tooltip" + slot="content" + > + {{ $t('settings.setting_changed') }} + </div> + </Popover> + </span> +</template> + +<script> +import Popover from 'src/components/popover/popover.vue' +export default { + props: ['changed'], + components: { Popover } +} +</script> + +<style lang="scss"> +.ModifiedIcon { + display: inline-block; + position: relative; + + .icon { + display: inline-block; + } + + .modified-tooltip { + margin: 0.5em 1em; + min-width: 10em; + text-align: center; + } +} +</style> diff --git a/src/i18n/en.json b/src/i18n/en.json index d3d57562..e25bda8f 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -240,6 +240,7 @@ "settings": { "app_name": "App name", "security": "Security", + "setting_changed": "Setting is different from default", "enter_current_password_to_confirm": "Enter your current password to confirm your identity", "mfa": { "otp": "OTP", |
