From 83900cbca64b76f6863a3ceca70c0a66dfa6d4fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Fri, 24 Jul 2020 16:58:26 +0000 Subject: [PATCH] Fix #6581? (#6585) * Update avatar.vue * Update avatar.vue * Update avatar.vue --- src/client/components/avatar.vue | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/client/components/avatar.vue b/src/client/components/avatar.vue index fd4ab78ce..ef376aa93 100644 --- a/src/client/components/avatar.vue +++ b/src/client/components/avatar.vue @@ -40,7 +40,23 @@ export default Vue.extend({ : this.user.avatarUrl; }, }, + watch: { + 'user.avatarBlurhash'() { + this.$el.style.color = this.getBlurhashAvgColor(this.user.avatarBlurhash); + } + }, + mounted() { + this.$el.style.color = this.getBlurhashAvgColor(this.user.avatarBlurhash); + }, methods: { + getBlurhashAvgColor(s) { + return typeof s == 'string' + ? '#' + [...s.slice(2, 6)] + .map(x => '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#$%*+,-.:;=?@[]^_{|}~'.indexOf(x)) + .reduce((a, c) => a * 83 + c, 0) + .toString(16) + : undefined; + }, onClick(e) { this.$emit('click', e); }