1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- var Settings = () => {
- var defaults = {
- icon: 'default',
- theme: 'light',
- _icons: ['default', 'light', 'dark'],
- _themes: ['light', 'dark', 'auto'],
- }
- var state = Object.assign({}, defaults)
- chrome.runtime.sendMessage({message: 'options.settings'}, (res) => {
- Object.assign(state, res)
- document.querySelector('body').classList.add(state.theme)
- m.redraw()
- })
- var events = {
- icon: (e) => {
- state.icon = state._icons[e.target.selectedIndex]
- chrome.runtime.sendMessage({
- message: 'options.icon',
- settings: {
- icon: state.icon,
- theme: state.theme,
- },
- })
- },
- theme: (e) => {
- state.theme = state._themes[e.target.selectedIndex]
- chrome.runtime.sendMessage({
- message: 'options.theme',
- settings: {
- icon: state.icon,
- theme: state.theme,
- },
- })
- document.querySelector('body').classList.remove(...state._themes)
- document.querySelector('body').classList.add(state.theme)
- }
- }
- var oncreate = {}
- var onupdate = {}
- var render = () => [
- m('.row',
- m('.col-xxl-6.col-xl-6.col-lg-6.col-md-6.col-sm-12',
- m('span.m-label',
- 'Extension Icon'
- )
- ),
- m('.col-xxl-6.col-xl-6.col-lg-6.col-md-6.col-sm-12',
- m('select.mdc-elevation--z2 m-select', {
- onchange: events.icon
- },
- state._icons.map((icon) =>
- m('option', {selected: state.icon === icon}, icon)
- )
- )
- ),
- ),
- m('.row',
- m('.col-xxl-6.col-xl-6.col-lg-6.col-md-6.col-sm-12',
- m('span.m-label',
- 'Popup & Options Page'
- )
- ),
- m('.col-xxl-6.col-xl-6.col-lg-6.col-md-6.col-sm-12',
- m('select.mdc-elevation--z2 m-select', {
- onchange: events.theme
- },
- state._themes.map((theme) =>
- m('option', {selected: state.theme === theme}, theme)
- )
- )
- ),
- ),
- ]
- return {state, render}
- }
|