From 4c9caf3828b22bf1d940b0f3a012a7d2f6f5b67a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 31 八月 2021 18:40:13 +0800
Subject: [PATCH] 2021-08-31

---
 src/mob/colorsketch/index.jsx |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/mob/colorsketch/index.jsx b/src/mob/colorsketch/index.jsx
index 4a92c0e..6070b13 100644
--- a/src/mob/colorsketch/index.jsx
+++ b/src/mob/colorsketch/index.jsx
@@ -20,6 +20,7 @@
   }
   state = {
     color: '',
+    colors: [],
     allowClear: false
   }
 
@@ -34,8 +35,22 @@
     } else if (value) {
       initVal = value
     }
+
+    let _colors = sessionStorage.getItem('app_colors') || []
+    try {
+      _colors = JSON.parse(_colors)
+    } catch {
+      _colors = []
+    }
     
-    this.setState({color: initVal, allowClear: allowClear === true})
+    let colors = presetColors.map((item, i) => {
+      if (_colors[i] && _colors[i].linkurl && !presetColors.includes(_colors[i].linkurl)) {
+        return _colors[i].linkurl
+      }
+      return item
+    })
+    
+    this.setState({color: initVal, allowClear: allowClear === true, colors})
   }
 
   handleChange = (color) => {
@@ -59,11 +74,11 @@
   }
 
   render() {
-    const { color, allowClear } = this.state
+    const { color, allowClear, colors } = this.state
     return (
       <div className="color-sketch-block">
         <Popover content={
-          <SketchPicker color={ color } presetColors={presetColors} onChange={ this.handleChange } />
+          <SketchPicker color={ color } presetColors={colors} onChange={ this.handleChange } />
         } overlayClassName="color-sketch-popover" placement="bottomRight" title="" trigger="click">
           <div className="color-sketch-block-box">
             <div className="color-sketch-block-inner" style={ {background: color} }></div>

--
Gitblit v1.8.0