Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function app () {
process.nextTick(() => insertCss(api.styles()))
var view = Value(getView())
var screen = h('App', view)
window.onhashchange = () => view.set(getView())
document.body.appendChild(screen)
// tabs (another core module) currently handles this
// window.addEventListener('error', window.onError = displayError)
return screen
}
'message.obs.shares': (id) => {
if (!ref.isLink(id)) throw new Error('an id must be specified')
var obs = get(id)
obs.id = id
var result = computed(obs, getShares, {
// allow manual append for simulated realtime
onListen: () => activeShares.add(obs),
onUnlisten: () => activeShares.delete(obs)
})
result.sync = obs.sync
return result
}
})
'message.obs.webshares': (id) => {
if (!ref.isLink(id)) throw new Error('an id must be specified')
var obs = get(id)
obs.id = id
var result = computed(obs, getShares, {
// allow manual append for simulated realtime
onListen: () => activeShares.add(obs),
onUnlisten: () => activeShares.delete(obs)
})
result.sync = obs.sync
return result
}
})
function location ({location, msg, isEditing, onUpdate}) {
const markdown = api.message.html.markdown
return h('div', {}, computed(location, markdown))
}
}
function Option ({ notifications = 0, imageEl, name, location, selected }) {
return h('Option', { className: selected ? '-selected' : '' }, [
h('div.circle', [
when(notifications, h('div.alert', notifications)),
imageEl
]),
api.app.html.link(location, name),
])
}
})
function renderSecret () {
return [
h('h1', 'Your secret'),
when(secretLabel, [ h('h3', 'Label'), h('pre', secretLabel) ]),
h('h3', 'Secret'),
h('pre', secret),
h('div.actions', [
CopyToClipboard({ toCopy: secret }),
when(modalOpen, h('button -subtle', { 'ev-click': () => modalOpen.set(false) }, 'close'), [])
])
]
}
function description ({description, isEditing, onUpdate}) {
const markdown = api.message.html.markdown
const input = h('textarea', {'ev-input': e => onUpdate(e.target.value), value: description})
return h('Description', [
when(isEditing,
input,
computed(description, markdown)
)
])
}
}
function menuItem (handleClick) {
return h('a', {
style: { order: 1 },
'ev-click': () => handleClick(route)
}, route)
}
function PreviewSetup (strings) {
var showPreview = Value(false)
var previewBtn = h('Button',
{
className: when(showPreview, '-strong', '-subtle'),
'ev-click': () => showPreview.set(!showPreview())
},
when(showPreview, strings.blogNew.actions.edit, strings.blogNew.actions.preview)
)
return { previewBtn, showPreview }
}
var { previewBtn, showPreview } = PreviewSetup(strings)
return nest('app.html.lightbox', (content, isOpen) => {
if (typeof isOpen !== 'function') isOpen = Value(false)
const closeMe = () => isOpen.set(false)
const lb = h('Lightbox', { className: when(isOpen, '-open', '-close'), 'ev-click': closeMe },
h('div.content', {'ev-click': (ev) => ev.stopPropagation()},[
content
]))
lb.close = closeMe
return lb
})
}