Skip to content

Commit 7acc194

Browse files
committed
Pass through pending media source
1 parent 045bdc6 commit 7acc194

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

packages/metastream-app/src/components/GameLobby.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ class _GameLobby extends React.Component<PrivateProps, IState> {
298298
this.props.clearPendingMedia()
299299
this.props.sendMediaRequest({
300300
...pendingMedia,
301-
source: 'pending',
301+
source: pendingMedia.source || 'pending',
302302
immediate: this.props.host
303303
})
304304
}

packages/metastream-app/src/containers/HomePage.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { replace } from 'react-router-redux'
1010
import { localUserId } from 'network'
1111
import { setPendingMedia } from 'lobby/actions/mediaPlayer'
1212
import { SEC2MS } from 'utils/math'
13+
import { PendingMedia } from 'lobby/reducers/mediaPlayer'
1314

1415
interface IProps extends RouteComponentProps<any> {}
1516

@@ -20,7 +21,7 @@ interface IConnectedProps {
2021

2122
interface DispatchProps {
2223
showInstallPrompt(): void
23-
setPendingMedia(url: string, time?: number): void
24+
setPendingMedia(media: PendingMedia): void
2425
}
2526

2627
function mapStateToProps(state: IAppState): IConnectedProps {
@@ -35,8 +36,8 @@ const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({
3536
showInstallPrompt() {
3637
dispatch({ type: SHOW_INSTALL_PROMPT })
3738
},
38-
setPendingMedia(url, time) {
39-
dispatch(setPendingMedia({ url, time }))
39+
setPendingMedia(media: PendingMedia) {
40+
dispatch(setPendingMedia(media))
4041
dispatch(replace({ pathname: `/join/${localUserId()}`, search: '' }))
4142
}
4243
})
@@ -50,9 +51,10 @@ class _HomePage extends Component<PrivateProps> {
5051

5152
const url = params.get('url')
5253
const time = parseInt(params.get('t') || '', 10) || undefined
54+
const source = params.get('source') || undefined
5355

5456
if (url) {
55-
this.props.setPendingMedia(url, time ? time * SEC2MS : undefined)
57+
this.props.setPendingMedia({ url, time: time ? time * SEC2MS : undefined, source })
5658
}
5759
}
5860

packages/metastream-app/src/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ function onMessage(event: MessageEvent) {
3939
switch (data.type) {
4040
case 'metastream-extension-request':
4141
if (typeof data.payload === 'object') {
42-
const { url, time } = data.payload
43-
store.dispatch(setPendingMedia({ url, time: time ? time * SEC2MS : undefined }))
42+
const { url, time, source } = data.payload
43+
store.dispatch(setPendingMedia({ url, time: time ? time * SEC2MS : undefined, source }))
4444
}
4545
break
4646
}

packages/metastream-app/src/lobby/reducers/mediaPlayer.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export interface IMediaItem {
6565
export interface PendingMedia {
6666
url: string
6767
time?: number
68+
source?: string
6869
}
6970

7071
export const enum RepeatMode {

0 commit comments

Comments
 (0)