import UserCard from 'src/components/user_card/user_card.vue' import Checkbox from 'src/components/checkbox/checkbox.vue' import BooleanSetting from '../helpers/boolean_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 { faTimes, faPlus, faCircleNotch, } from '@fortawesome/free-solid-svg-icons' library.add(faTimes, faPlus, faCircleNotch) const ProfileTab = { data() { return { // Whether user is locked or not locked: this.$store.state.users.currentUser.locked, } }, components: { UserCard, Checkbox, BooleanSetting, ProfileSettingIndicator, }, computed: { user() { return this.$store.state.users.currentUser }, ...SharedComputedObject(), }, methods: { updateProfile() { const params = { locked: this.locked, } this.$store.state.api.backendInteractor .updateProfile({ params }) .then((user) => { this.$store.commit('addNewUsers', [user]) this.$store.commit('setCurrentUser', user) }) .catch((error) => { this.displayUploadError(error) }) }, }, watch: { locked() { this.updateProfile() }, }, } export default ProfileTab