Commit db8e0ddb7b72722a29b8f828604b39ed1f4ea0ed
finally fix profile avatar addition
mixmix committed on 10/21/2018, 1:32:32 PMParent: b2b759194681277e1a71a569b3c356f1a3c97344
Files changed
about/html/edit.js | changed |
about/html/edit.js | ||
---|---|---|
@@ -1,9 +1,8 @@ | ||
1 | 1 … | const nest = require('depnest') |
2 | 2 … | const dataurl = require('dataurl-') |
3 | 3 … | const hyperfile = require('hyperfile') |
4 | 4 … | const hypercrop = require('hypercrop') |
5 | -const hyperlightbox = require('hyperlightbox') | |
6 | 5 … | const { |
7 | 6 … | h, Value, Dict, Struct, |
8 | 7 … | map, computed, when, dictToCollection, onceTrue |
9 | 8 … | } = require('mutant') |
@@ -19,8 +18,9 @@ | ||
19 | 18 … | description: 'first', |
20 | 19 … | latestValue: 'first', |
21 | 20 … | groupedValues: 'first' |
22 | 21 … | }, |
22 … | + 'app.html.modal': 'first', | |
23 | 23 … | 'blob.sync.url': 'first', |
24 | 24 … | 'keys.sync.id': 'first', |
25 | 25 … | 'message.html.confirm': 'first', |
26 | 26 … | 'message.html.markdown': 'first', |
@@ -73,10 +73,8 @@ | ||
73 | 73 … | current: api.about.obs.latestValue(id, 'publicWebHosting'), |
74 | 74 … | new: Value(api.about.obs.latestValue(id, 'publicWebHosting')()) |
75 | 75 … | }) |
76 | 76 … | |
77 | - var lightbox = hyperlightbox() | |
78 | - | |
79 | 77 … | var isPossibleUpdate = computed([name.new, avatar.new, publicWebHosting.new], (name, avatar, publicWebHostingValue) => { |
80 | 78 … | return name || avatar.link || (isMe && publicWebHostingValue !== publicWebHosting.current()) |
81 | 79 … | }) |
82 | 80 … | |
@@ -101,10 +99,14 @@ | ||
101 | 99 … | balances.set(data) |
102 | 100 … | }) |
103 | 101 … | }) |
104 | 102 … | |
103 … | + const modalContent = Value() | |
104 … | + const isOpen = Value(false) | |
105 … | + const modal = api.app.html.modal(modalContent, { isOpen }) | |
106 … | + | |
105 | 107 … | return h('AboutEditor', [ |
106 | - lightbox, | |
108 … | + modal, | |
107 | 109 … | h('section.avatar', [ |
108 | 110 … | h('section', [ |
109 | 111 … | h('img', { src: avatarSrc }) |
110 | 112 … | ]), |
@@ -161,11 +163,11 @@ | ||
161 | 163 … | ]) |
162 | 164 … | ]) |
163 | 165 … | |
164 | 166 … | function dataUrlCallback (data) { |
165 | - const cropCallback = (err, cropData) => { | |
167 … | + const cropEl = Crop(data, (err, cropData) => { | |
166 | 168 … | if (err) throw err |
167 | - if (!cropData) return lightbox.close() | |
169 … | + if (!cropData) return isOpen.set(false) | |
168 | 170 … | |
169 | 171 … | var _data = dataurl.parse(cropData) |
170 | 172 … | api.sbot.async.addBlob(pull.once(_data.data), (err, hash) => { |
171 | 173 … | if (err) throw err // TODO check if this is safely caught by error catcher |
@@ -177,19 +179,19 @@ | ||
177 | 179 … | width: 512, |
178 | 180 … | height: 512 |
179 | 181 … | }) |
180 | 182 … | }) |
181 | - lightbox.close() | |
182 | - } | |
183 … | + isOpen.set(false) | |
184 … | + }) | |
183 | 185 … | |
184 | - const cropEl = Crop(data, cropCallback) | |
185 | - lightbox.show(cropEl) | |
186 … | + modalContent.set(cropEl) | |
187 … | + isOpen.set(true) | |
186 | 188 … | } |
187 | 189 … | |
188 | 190 … | function Crop (data, cb) { |
189 | - var img = h('img', {src: data}) | |
191 … | + var img = h('img', { src: data }) | |
190 | 192 … | |
191 | - var crop = h('div') | |
193 … | + var crop = Value() | |
192 | 194 … | |
193 | 195 … | waitForImg() |
194 | 196 … | |
195 | 197 … | return h('div.cropper', [ |
@@ -205,9 +207,9 @@ | ||
205 | 207 … | return window.setTimeout(waitForImg, 100) |
206 | 208 … | } |
207 | 209 … | |
208 | 210 … | var canvas = hypercrop(img) |
209 | - crop = ( | |
211 … | + crop.set( | |
210 | 212 … | h('PatchProfileCrop', [ |
211 | 213 … | h('header', 'click and drag to crop your image'), |
212 | 214 … | canvas, |
213 | 215 … | h('section.actions', [ |
Built with git-ssb-web