diff --git a/browser/main/modals/PreferencesModal/StorageItem.js b/browser/main/modals/PreferencesModal/StorageItem.js index 374c9218..b298d26f 100644 --- a/browser/main/modals/PreferencesModal/StorageItem.js +++ b/browser/main/modals/PreferencesModal/StorageItem.js @@ -8,6 +8,7 @@ import store from 'browser/main/store' const electron = require('electron') const { shell, remote } = electron const { Menu, MenuItem } = remote +import { SketchPicker } from 'react-color' class UnstyledFolderItem extends React.Component { constructor (props) { @@ -16,6 +17,7 @@ class UnstyledFolderItem extends React.Component { this.state = { status: 'IDLE', folder: { + showColumnPicker: false, color: props.color, name: props.name } @@ -50,22 +52,18 @@ class UnstyledFolderItem extends React.Component { } handleColorButtonClick (e) { - var menu = new Menu() + const folder = Object.assign({}, this.state.folder, { showColumnPicker: true }) + this.setState({ folder }) + } - consts.FOLDER_COLORS.forEach((color, index) => { - menu.append(new MenuItem({ - label: consts.FOLDER_COLOR_NAMES[index], - click: (e) => { - let { folder } = this.state - folder.color = color - this.setState({ - folder - }) - } - })) - }) + handleColorChange (color) { + const folder = Object.assign({}, this.state.folder, { color: color.hex }) + this.setState({ folder }) + } - menu.popup(remote.getCurrentWindow()) + handleColorPickerClose (event) { + const folder = Object.assign({}, this.state.folder, { showColumnPicker: false }) + this.setState({ folder }) } handleCancelButtonClick (e) { @@ -75,12 +73,27 @@ class UnstyledFolderItem extends React.Component { } renderEdit (e) { + const popover = { position: 'absolute', zIndex: 2 } + const cover = { + position: 'fixed', + top: 0, right: 0, bottom: 0, left: 0 + } return (