import BooleanSetting from '../helpers/boolean_setting.vue' import ChoiceSetting from '../helpers/choice_setting.vue' import IntegerSetting from '../helpers/integer_setting.vue' import FloatSetting from '../helpers/float_setting.vue' import UnitSetting, { defaultHorizontalUnits } from '../helpers/unit_setting.vue' import SharedComputedObject from '../helpers/shared_computed_object.js' import ProfileSettingIndicator from '../helpers/profile_setting_indicator.vue' import { library } from '@fortawesome/fontawesome-svg-core' import { faGlobe } from '@fortawesome/free-solid-svg-icons' library.add( faGlobe ) const AppearanceTab = { data () { return { thirdColumnModeOptions: ['none', 'notifications', 'postform'].map(mode => ({ key: mode, value: mode, label: this.$t(`settings.third_column_mode_${mode}`) })) } }, components: { BooleanSetting, ChoiceSetting, IntegerSetting, FloatSetting, UnitSetting, ProfileSettingIndicator }, computed: { horizontalUnits () { return defaultHorizontalUnits }, columns () { const mode = this.$store.getters.mergedConfig.thirdColumnMode const notif = mode === 'none' ? [] : ['notifs'] if (this.$store.getters.mergedConfig.sidebarRight || mode === 'postform') { return [...notif, 'content', 'sidebar'] } else { return ['sidebar', 'content', ...notif] } }, instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel }, instanceWallpaperUsed () { return this.$store.state.instance.background && !this.$store.state.users.currentUser.background_image }, instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable }, language: { get: function () { return this.$store.getters.mergedConfig.interfaceLanguage }, set: function (val) { this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val }) } }, ...SharedComputedObject() } } export default AppearanceTab