From f911182a2f608bc0589fc16210fdbc9673f6cc4e Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 18 Jun 2018 11:36:58 +0300 Subject: [PATCH] working, somewhat --- src/components/status/status.js | 42 ++++++++++++++++--- src/components/status/status.vue | 9 ++-- .../user_card_content/user_card_content.js | 42 ++++++++++++++++--- .../user_card_content/user_card_content.vue | 11 ++++- src/main.js | 1 + src/modules/users.js | 8 ++++ 6 files changed, 99 insertions(+), 14 deletions(-) diff --git a/src/components/status/status.js b/src/components/status/status.js index f33293f499..f4d0aecb47 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -6,6 +6,7 @@ import PostStatusForm from '../post_status_form/post_status_form.vue' import UserCardContent from '../user_card_content/user_card_content.vue' import StillImage from '../still-image/still-image.vue' import { filter, find } from 'lodash' +import { hex2rgb } from '../../services/color_convert/color_convert.js' const Status = { name: 'Status', @@ -34,12 +35,21 @@ const Status = { muteWords () { return this.$store.state.config.muteWords }, + repeaterClass () { + const user = this.statusoid.user + return this.highlightClass(user) + }, userClass () { - console.log(this.statusoid.user) - console.log(this.statusoid.user.screen_name) - return 'USER____' + this.statusoid.user.screen_name - .replace(/\./g,'_') - .replace(/\@/g,'_AT_') + const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user + return this.highlightClass(user) + }, + repeaterStyle () { + const user = this.statusoid.user + return this.highlightStyle(user) + }, + userStyle () { + const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user + return this.highlightStyle(user) }, hideAttachments () { return (this.$store.state.config.hideAttachments && !this.inConversation) || @@ -172,6 +182,28 @@ const Status = { }, replyLeave () { this.showPreview = false + }, + highlightStyle (user) { + const color = this.$store.state.config.highlight[user.screen_name] + if (!color) return + const rgb = hex2rgb(color) + const tintColor = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .1)` + const tintColor2 = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .2)` + return { + backgroundImage: [ + 'repeating-linear-gradient(-45deg,', + tintColor, ',', + tintColor, '20px,', + tintColor2, '20px,', + tintColor2, '40px', + ].join(' '), + backgroundPosition: '0 0' + } + }, + highlightClass (user) { + return 'USER____' + user.screen_name + .replace(/\./g,'_') + .replace(/\@/g,'_AT_') } }, watch: { diff --git a/src/components/status/status.vue b/src/components/status/status.vue index be4b9f1857..97b6d39f47 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -8,7 +8,7 @@