Browse Source

More modular

master
Roderic Day 5 years ago
parent
commit
c762ba2fbe
4 changed files with 27 additions and 20 deletions
  1. +6
    -2
      apps/chat.js
  2. +7
    -2
      apps/streams.js
  3. +2
    -2
      pico.html
  4. +12
    -14
      pico.js

+ 6
- 2
apps/chat.js View File

) )
}, },
} }
marked.setOptions({
breaks: true,
})
addEventListener('focus', m.redraw) addEventListener('focus', m.redraw)
addEventListener('post', ({detail}) => { addEventListener('post', ({detail}) => {
Chat.posts.push(detail) Chat.posts.push(detail)
Chat.posts = [] Chat.posts = []
Chat.unseenCount = 0 Chat.unseenCount = 0
}) })
marked.setOptions({
breaks: true,
addEventListener('load', () => {
Headers.push([ChatConfig])
Apps.push([Shadow, {key: 'chat-shadow', app: Chat}])
}) })

+ 7
- 2
apps/streams.js View File

) )
}, },
} }

const signalPeerStop = (username) => signal({kind: 'peerInfo', value: {type: 'stop'}, source: username})
const signalPeerStop = (username) => {
signal({kind: 'peerInfo', value: {type: 'stop'}, source: username})
}
addEventListener('pagehide', () => State.online.forEach(signalPeerStop)) addEventListener('pagehide', () => State.online.forEach(signalPeerStop))
addEventListener('logout', () => State.online.forEach(signalPeerStop)) addEventListener('logout', () => State.online.forEach(signalPeerStop))
addEventListener('load', () => {
Headers.push([VideoConfig])
Apps.push([StreamContainer, {key: 'stream-container'}])
})

+ 2
- 2
pico.html View File

<script src="/libs/mithril.min.js"></script> <script src="/libs/mithril.min.js"></script>
<script src="/libs/marked.min.js"></script> <script src="/libs/marked.min.js"></script>
<script src="/libs/purify.min.js"></script> <script src="/libs/purify.min.js"></script>
<script src="/pico.js" defer></script>
<script src="/apps/streams.js"></script> <script src="/apps/streams.js"></script>
<script src="/apps/chat.js"></script> <script src="/apps/chat.js"></script>
<script src="/apps/volume.js"></script>
<!-- <script src="/apps/volume.js"></script> -->
<!-- <script src="/apps/screen.js"></script> --> <!-- <script src="/apps/screen.js"></script> -->
<script src="/pico.js" defer></script>
</head> </head>
<body style="margin: 0; padding: 0;"> <body style="margin: 0; padding: 0;">
<div>PicoChat requires JS</div> <div>PicoChat requires JS</div>

+ 12
- 14
pico.js View File

} }
return m('main', {style: mainStyle}, return m('main', {style: mainStyle},
m('header', {style: headerStyle}, m('header', {style: headerStyle},
State.isConnected ? [
m('button', {onclick: Base.sendLogout}, 'log-out'),
m(VideoConfig),
m(ChatConfig),
m('button', {onclick: VolumeMap.toggle}, 'volume'),
// m('button', {onclick: ScreenShare.toggle}, 'screen'),
] : [
State.isConnected ? Headers.map(h => m(...h)) : [
m('form.login', m('form.login',
{onsubmit: Base.sendLogin}, {onsubmit: Base.sendLogin},
m('input', attrs), m('input', attrs),
], ],
m('span.error', State.info), m('span.error', State.info),
), ),
State.isConnected ? [
m(StreamContainer, {key: 'lolo'}),
m(Shadow, {key: 'chat-shadow', app: Chat}),
m(Shadow, {key: 'map-shadow', app: VolumeMap}),
// m(Shadow, {key: 'screen-shadow', app: ScreenShare}),
] : m(Settings),
State.isConnected ? Apps.map(a => m(...a)) : null,
) )
}, },
} }
m.mount(document.body, Base)
const Headers = [
['button', {onclick: Base.sendLogout}, 'log-out'],
// m('button', {onclick: VolumeMap.toggle}, 'volume'),
// m('button', {onclick: ScreenShare.toggle}, 'screen'),
]
const Apps = [
// m(Shadow, {key: 'map-shadow', app: VolumeMap}),
// m(Shadow, {key: 'screen-shadow', app: ScreenShare}),
]
addEventListener('load', () => m.mount(document.body, Base))

Loading…
Cancel
Save