| State.online.forEach(signalPeerStop) | State.online.forEach(signalPeerStop) | ||||
| }, | }, | ||||
| view() { | view() { | ||||
| if(!State.media[State.username]) { | |||||
| return m('.media', | |||||
| m('.media-settings', | |||||
| m('button', {onclick: Media.turnOn}, 'turn on'), | |||||
| m('select#media-source', Media.videoSources.map(option => m('option', option))), | |||||
| m('label', m('input#mute-check', {type: 'checkbox'}), 'mute'), | |||||
| ), | |||||
| ) | |||||
| } | |||||
| else { | |||||
| return m('.media', | |||||
| m('.media-settings', | |||||
| m('button', {onclick: Media.turnOff}, 'turn off'), | |||||
| ), | |||||
| m('.videos', | |||||
| Object.entries(State.media).map(([username, stream]) => | |||||
| m(Video, {username, stream}) | |||||
| ), | |||||
| return m('.media', | |||||
| m('.media-settings', | |||||
| State.media[State.username] | |||||
| ? m('button', {onclick: Media.turnOff}, 'turn off') | |||||
| : m('button', {onclick: Media.turnOn}, 'turn on') | |||||
| , | |||||
| m('select#media-source', Media.videoSources.map(option => m('option', option))), | |||||
| m('label', m('input#mute-check', {type: 'checkbox'}), 'mute'), | |||||
| ), | |||||
| m('.videos', | |||||
| Object.entries(State.media).map(([username, stream]) => | |||||
| m(Video, {username, stream}) | |||||
| ), | ), | ||||
| ) | |||||
| } | |||||
| } | |||||
| ), | |||||
| ) | |||||
| }, | |||||
| } | } | ||||
| const Login = { | const Login = { | ||||
| sendLogin: (e) => { | sendLogin: (e) => { |