diff --git a/browser/components/NoteItem.js b/browser/components/NoteItem.js
index 70708223..5e8d009f 100644
--- a/browser/components/NoteItem.js
+++ b/browser/components/NoteItem.js
@@ -4,6 +4,7 @@
import PropTypes from 'prop-types'
import React from 'react'
import { isArray } from 'lodash'
+import invertColor from 'invert-color'
import CSSModules from 'browser/lib/CSSModules'
import { getTodoStatus } from 'browser/lib/getTodoStatus'
import styles from './NoteItem.styl'
@@ -16,11 +17,18 @@ import i18n from 'browser/lib/i18n'
* @param {string} color
* @return {React.Component}
*/
-const TagElement = ({ tagName, color }) => (
-
- #{tagName}
-
-)
+const TagElement = ({ tagName, color }) => {
+ const style = {}
+ if (color) {
+ style.backgroundColor = color
+ style.color = invertColor(color, { black: '#222', white: '#f1f1f1', threshold: 0.3 })
+ }
+ return (
+
+ #{tagName}
+
+ )
+}
/**
* @description Tag element list component.
diff --git a/browser/main/Detail/TagSelect.js b/browser/main/Detail/TagSelect.js
index caf0cf39..511ecf1a 100644
--- a/browser/main/Detail/TagSelect.js
+++ b/browser/main/Detail/TagSelect.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types'
import React from 'react'
+import invertColor from 'invert-color'
import CSSModules from 'browser/lib/CSSModules'
import styles from './TagSelect.styl'
import _ from 'lodash'
@@ -183,12 +184,19 @@ class TagSelect extends React.Component {
const tagList = _.isArray(value)
? (showTagsAlphabetically ? _.sortBy(value) : value).map((tag) => {
+ const wrapperStyle = {}
+ const textStyle = {}
+ const color = coloredTags[tag]
+ if (color) {
+ wrapperStyle.backgroundColor = color
+ textStyle.color = invertColor(color, { black: '#222', white: '#f1f1f1' })
+ }
return (
- this.handleTagLabelClick(tag)}>#{tag}
+ this.handleTagLabelClick(tag)}>#{tag}