From 95b735ff7244a44c61034be1c1e927f2fef3798e Mon Sep 17 00:00:00 2001 From: taehoon Date: Sat, 2 Feb 2019 14:11:36 -0500 Subject: Show placeholder image if avatar image url is broken --- src/components/user_avatar/user_avatar.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/components/user_avatar/user_avatar.js (limited to 'src/components/user_avatar/user_avatar.js') diff --git a/src/components/user_avatar/user_avatar.js b/src/components/user_avatar/user_avatar.js new file mode 100644 index 00000000..bfa2c2b5 --- /dev/null +++ b/src/components/user_avatar/user_avatar.js @@ -0,0 +1,28 @@ +import StillImage from '../still-image/still-image.vue' +import nsfwImage from '../../assets/nsfw.png' + +const UserAvatar = { + props: [ + 'src' + ], + data () { + return { + showPlaceholder: false + } + }, + components: { + StillImage + }, + computed: { + imgSrc () { + return this.showPlaceholder ? nsfwImage : this.src + } + }, + methods: { + imageLoadError () { + this.showPlaceholder = true + } + } +} + +export default UserAvatar -- cgit v1.2.3-70-g09d2 From 9c4092dbd5887b4476955076fdcbe621718a8d03 Mon Sep 17 00:00:00 2001 From: taehoon Date: Sat, 2 Feb 2019 14:17:00 -0500 Subject: Use a correct avatar placeholder image --- src/assets/avatar-placeholder.png | Bin 0 -> 1083 bytes src/components/user_avatar/user_avatar.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/assets/avatar-placeholder.png (limited to 'src/components/user_avatar/user_avatar.js') diff --git a/src/assets/avatar-placeholder.png b/src/assets/avatar-placeholder.png new file mode 100644 index 00000000..9c8398da Binary files /dev/null and b/src/assets/avatar-placeholder.png differ diff --git a/src/components/user_avatar/user_avatar.js b/src/components/user_avatar/user_avatar.js index bfa2c2b5..407ce1a6 100644 --- a/src/components/user_avatar/user_avatar.js +++ b/src/components/user_avatar/user_avatar.js @@ -1,5 +1,5 @@ import StillImage from '../still-image/still-image.vue' -import nsfwImage from '../../assets/nsfw.png' +import avatarPlaceholderImage from '../../assets/avatar-placeholder.png' const UserAvatar = { props: [ @@ -15,7 +15,7 @@ const UserAvatar = { }, computed: { imgSrc () { - return this.showPlaceholder ? nsfwImage : this.src + return this.showPlaceholder ? avatarPlaceholderImage : this.src } }, methods: { -- cgit v1.2.3-70-g09d2 From 0b66a43a83ebe64cf2fbfefac84e66fcd94093d7 Mon Sep 17 00:00:00 2001 From: taehoon Date: Sat, 2 Feb 2019 15:33:02 -0500 Subject: Improve reusability of UserAvatar component --- src/components/notification/notification.js | 4 ++-- src/components/notification/notification.vue | 2 +- src/components/notifications/notifications.scss | 21 +----------------- src/components/status/status.vue | 25 ++++++---------------- src/components/user_avatar/user_avatar.js | 4 +++- src/components/user_avatar/user_avatar.vue | 17 +++++++++------ .../user_card_content/user_card_content.vue | 13 +---------- 7 files changed, 25 insertions(+), 61 deletions(-) (limited to 'src/components/user_avatar/user_avatar.js') diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js index f95a329f..7d9807de 100644 --- a/src/components/notification/notification.js +++ b/src/components/notification/notification.js @@ -1,5 +1,5 @@ import Status from '../status/status.vue' -import StillImage from '../still-image/still-image.vue' +import UserAvatar from '../user_avatar/user_avatar.vue' import UserCardContent from '../user_card_content/user_card_content.vue' import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js' import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' @@ -13,7 +13,7 @@ const Notification = { }, props: [ 'notification' ], components: { - Status, StillImage, UserCardContent + Status, UserAvatar, UserCardContent }, methods: { toggleUserExpanded () { diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue index f91c90cc..a0a55cba 100644 --- a/src/components/notification/notification.vue +++ b/src/components/notification/notification.vue @@ -2,7 +2,7 @@
- +
diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss index 5c4ca1b9..bc81d45c 100644 --- a/src/components/notifications/notifications.scss +++ b/src/components/notifications/notifications.scss @@ -36,26 +36,7 @@ border-color: $fallback--border; border-color: var(--border, $fallback--border); - .avatar-compact { - width: 32px; - height: 32px; - box-shadow: var(--avatarStatusShadow); - border-radius: $fallback--avatarAltRadius; - border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius); - overflow: hidden; - line-height: 0; - - &.better-shadow { - box-shadow: var(--avatarStatusShadowInset); - filter: var(--avatarStatusShadowFilter) - } - - &.animated::before { - display: none; - } - } - - &:hover .animated.avatar-compact { + &:hover .animated.avatar { canvas { display: none; } diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 5bd5a8e9..a6586fa0 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -13,7 +13,7 @@