git ssb

16+

Dominic / patchbay



Tree: c81b0e59ddfd3706702f50f77e7a7b4d0836a80f

Files: c81b0e59ddfd3706702f50f77e7a7b4d0836a80f / app / html / settings / default-tabs.js

1062 bytesRaw
1const nest = require('depnest')
2const { h, computed } = require('mutant')
3
4exports.gives = nest({
5 'app.html.settings': true
6})
7
8exports.needs = nest({
9 'app.html.settings': 'map',
10 'settings.obs.get': 'first',
11 'settings.sync.set': 'first'
12})
13
14exports.create = function (api) {
15 return nest({
16 'app.html.settings': defaultTabs
17 })
18
19 function defaultTabs () {
20 const defaultTabs = api.settings.obs.get('patchbay.defaultTabs', '')
21 const setDefaultTabs = (ev) => {
22 const tabs = ev.target.value.split(',').map(s => s.trim()).filter(Boolean)
23 api.settings.sync.set({patchbay: {defaultTabs: tabs}})
24 }
25
26 return {
27 title: 'Default Tabs',
28 body: h('DefaultTabs', [
29 h('p', 'Comma-seperated list of tabs which will open on startup.'),
30 h('p', [
31 h('i', 'e.g. /public, #new-people, %9psz2xPwGhGG7mIkTIgCEy/xX7r6uQDNQyjl0Nopiw4=.sha256')
32 ]),
33 h('input', {
34 value: computed(defaultTabs, tabs => tabs.join(', ')),
35 'ev-input': setDefaultTabs
36 })
37 ])
38 }
39 }
40}
41

Built with git-ssb-web