|
123456789101112131415161718192021222324252627282930313233343536373839 |
- const ScreenShareConfig = {
- view() {
- const checked = ScreenShare.isOn
- const onclick = ScreenShare.toggle
- return m('label.styled',
- m('input[type=checkbox]', {checked, onclick}),
- 'screen-share',
- )
- }
- }
- const ScreenShare = {
- isOn: false,
- start() {
- const screen = document.querySelector('video.screen')
- if(screen) {
- navigator.mediaDevices.getDisplayMedia()
- .then(s => {screen.srcObject = s})
- .catch(e => console.error(e))
- }
- },
- toggle() {
- ScreenShare.isOn = !ScreenShare.isOn
- if(ScreenShare.isOn) {
- // setTimeout(ScreenShare.start, 100)
- }
- },
- view() {
- const style = {
- overflow: 'scroll',
- }
- return ScreenShare.isOn && m('div', {style},
- m('video.screen[playsinline][autoplay]'),
- )
- },
- }
- addEventListener('load', () => {
- Headers.push([ScreenShareConfig])
- Apps.push([ScreenShare, {key: 'screen-share-container'}])
- })
|