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