diff --git a/app/NativeMacReceiverSelector/ViewController.swift b/app/NativeMacReceiverSelector/ViewController.swift index 6512102..2fb3a5f 100644 --- a/app/NativeMacReceiverSelector/ViewController.swift +++ b/app/NativeMacReceiverSelector/ViewController.swift @@ -119,6 +119,12 @@ class ViewController : NSViewController { receiverView.receiverViewDelegate = self + if UInt(initData!.availableMediaTypes) == 0 + || (initData!.availableMediaTypes + & initData!.defaultMediaType.rawValue) == 0 { + receiverView.isEnabled = false + } + self.receiverViews.append(receiverView) @@ -146,6 +152,12 @@ extension ViewController : NSMenuDelegate { let mediaType = MediaType( rawValue: self.mediaTypePopUpButton.selectedItem!.tag)! + if self.initData.availableMediaTypes & mediaType.rawValue != 0 { + for receiverView in self.receiverViews { + receiverView.isEnabled = true + } + } + let fileItem = self.mediaTypePopUpButton .item(at: self.mediaTypePopUpButton.indexOfItem( withTag: MediaType.file.rawValue))! diff --git a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts index ebe7030..7ef6a2e 100644 --- a/ext/src/background/receiverSelector/ReceiverSelectorManager.ts +++ b/ext/src/background/receiverSelector/ReceiverSelectorManager.ts @@ -97,14 +97,6 @@ async function getSelection ( availableMediaTypes &= ~ReceiverSelectorMediaType.File; } - if (!availableMediaTypes || availableMediaTypes - === ReceiverSelectorMediaType.File) { - console.error("fx_cast (Debug): No available media types"); - resolve(null); - - return; - } - // Ensure status manager is initialized await StatusManager.init(); diff --git a/ext/src/ui/popup/index.tsx b/ext/src/ui/popup/index.tsx index fe5b2ed..212a9a6 100755 --- a/ext/src/ui/popup/index.tsx +++ b/ext/src/ui/popup/index.tsx @@ -109,6 +109,9 @@ class PopupApp extends Component<{}, PopupAppState> { } + const canCast = !!(this.state.availableMediaTypes + && this.state.availableMediaTypes & this.state.mediaType); + return (
@@ -150,6 +153,7 @@ class PopupApp extends Component<{}, PopupAppState> { ))}
@@ -208,6 +212,7 @@ class PopupApp extends Component<{}, PopupAppState> { interface ReceiverEntryProps { receiver: Receiver; isLoading: boolean; + canCast: boolean; onCast (receiver: Receiver): void; } @@ -244,7 +249,7 @@ class ReceiverEntry extends Component {