import StillImage from '../still-image/still-image.vue' import { useInterfaceStore } from 'src/stores/interface' import { library } from '@fortawesome/fontawesome-svg-core' import { faRobot, faPeopleGroup } from '@fortawesome/free-solid-svg-icons' library.add( faRobot, faPeopleGroup ) const UserAvatar = { props: { // User object to show avatar of user: { required: true, type: Object }, // Use less space and use alternative roundness compact: { required: false, type: Boolean, default: false }, // Show small icon indicating if account is a bot or group showActorTypeIndicator : { required: false, type: Boolean, default: false }, // Override avatar image URL, useful for profile editing url: { required: false, type: String, default: null } }, data () { return { showPlaceholder: false, defaultAvatar: `${this.$store.state.instance.server + this.$store.state.instance.defaultAvatar}`, betterShadow: useInterfaceStore().browserSupport.cssFilter } }, components: { StillImage }, methods: { imgSrc (src) { return (!src || this.showPlaceholder) ? this.defaultAvatar : src }, imageLoadError () { this.showPlaceholder = true } } } export default UserAvatar