modules_basic/avatar/edit.jsView |
---|
6 | 6 … | const hyperlightbox = require('hyperlightbox') |
7 | 7 … | const h = require('../../h') |
8 | 8 … | const { |
9 | 9 … | Value, Array: MutantArray, Dict: MutantObject, |
10 | | - map, computed, when |
| 10 … | + map, computed, when, dictToCollection |
11 | 11 … | } = require('@mmckegg/mutant') |
12 | 12 … | const pull = require('pull-stream') |
13 | 13 … | const getAvatar = require('ssb-avatar') |
14 | 14 … | const ref = require('ssb-ref') |
64 | 64 … | api.sbot_links({dest: id, rel: 'about', values: true}), |
65 | 65 … | pull.map(e => e.value.content.image), |
66 | 66 … | pull.filter(e => e && 'string' == typeof e.link), |
67 | 67 … | pull.unique('link'), |
68 | | - pull.drain(image => images.push(image) ) |
| 68 … | + pull.drain(image => images.push(image) ) |
69 | 69 … | ) |
| 70 … | + var namesRecord = MutantObject() |
| 71 … | + pull( |
| 72 … | + api.sbot_links({dest: id, rel: 'about', values: true}), |
| 73 … | + pull.map(e => e.value.content.name), |
| 74 … | + pull.filter(Boolean), |
| 75 … | + pull.drain(name => { |
| 76 … | + var n = namesRecord.get('name') || 0 |
| 77 … | + namesRecord.put(name, n+1) |
| 78 … | + }) |
| 79 … | + ) |
| 80 … | + var names = dictToCollection(namesRecord) |
70 | 81 … | |
71 | 82 … | var lb = hyperlightbox() |
72 | 83 … | var name = Value(api.avatar_name(id)) |
73 | 84 … | var proposedName = Value() |
74 | | - var names = [] |
75 | 85 … | var name_input = h('input', {placeholder: ' + another name', 'ev-keyup': (e) => proposedName.set(e.target.value) }) |
76 | 86 … | var description = '' |
77 | 87 … | |
78 | 88 … | var isPossibleUpdate = computed([proposedName, proposedAvatar], (name, image) => { |
99 | 109 … | ]) |
100 | 110 … | ]), |
101 | 111 … | h('section.names', [ |
102 | 112 … | h('header', 'Names'), |
103 | | - names, |
104 | | - name_input |
| 113 … | + h('section', [ |
| 114 … | + map(names, name => h('div', [ |
| 115 … | + h('div.name', name.key), |
| 116 … | + h('div.count', name.value) |
| 117 … | + ])), |
| 118 … | + name_input |
| 119 … | + ]) |
105 | 120 … | ]), |
106 | 121 … | when(isPossibleUpdate, h('button.confirm', { 'ev-click': handleUpdateClick }, 'Confirm changes')) |
107 | 122 … | ]) |
108 | 123 … | ]) |