12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- var Settings = () => {
- var defaults = {
- icons: false
- }
- var state = Object.assign({}, defaults)
- chrome.runtime.sendMessage({message: 'options.settings'}, (res) => {
- Object.assign(state, res)
- m.redraw()
- })
- var events = {
- icon: () => (e) => {
- state.icon = !state.icon
- chrome.runtime.sendMessage({
- message: 'options.icon',
- icon: state.icon,
- })
- }
- }
- var oncreate = {
- ripple: (vnode) => {
- mdc.ripple.MDCRipple.attachTo(vnode.dom)
- }
- }
- var onupdate = {
- icon: () => (vnode) => {
- if (vnode.dom.classList.contains('is-checked') !== state.icon) {
- vnode.dom.classList.toggle('is-checked')
- }
- }
- }
- var render = () =>
- m('.bs-callout m-settings hidden',
- m('h4.mdc-typography--headline5', 'Settings'),
- m('.m-option m-icon',
- m('.m-control',
- m('label.mdc-switch m-switch', {
- onupdate: onupdate.icon(),
- },
- m('input.mdc-switch__native-control', {
- type: 'checkbox',
- checked: state.icon,
- onchange: events.icon()
- }),
- m('.mdc-switch__background', m('.mdc-switch__knob')),
- m('span.mdc-switch-label',
- m('code', 'Light Extension Icon for Dark Browser Theme')
- )
- )
- )
- )
- )
- return {state, render}
- }
|