mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 20:02:01 +00:00
Merge pull request #1091 from Stremio/feat/dispatching-addon-install-action-can-throw-exeception
Dev: Addon install action exceptions
This commit is contained in:
commit
3b7944a6f7
1 changed files with 13 additions and 1 deletions
|
|
@ -8,6 +8,7 @@ const { default: Icon } = require('@stremio/stremio-icons/react');
|
||||||
const { usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');
|
const { usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');
|
||||||
const { AddonDetailsModal, Button, Image, MainNavBars, ModalDialog, SearchBar, SharePrompt, TextInput, MultiselectMenu } = require('stremio/components');
|
const { AddonDetailsModal, Button, Image, MainNavBars, ModalDialog, SearchBar, SharePrompt, TextInput, MultiselectMenu } = require('stremio/components');
|
||||||
const { useServices } = require('stremio/services');
|
const { useServices } = require('stremio/services');
|
||||||
|
const useToast = require('stremio/common/Toast/useToast');
|
||||||
const Addon = require('./Addon');
|
const Addon = require('./Addon');
|
||||||
const useInstalledAddons = require('./useInstalledAddons');
|
const useInstalledAddons = require('./useInstalledAddons');
|
||||||
const useRemoteAddons = require('./useRemoteAddons');
|
const useRemoteAddons = require('./useRemoteAddons');
|
||||||
|
|
@ -20,6 +21,7 @@ const Addons = ({ urlParams, queryParams }) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const platform = usePlatform();
|
const platform = usePlatform();
|
||||||
const { core } = useServices();
|
const { core } = useServices();
|
||||||
|
const toast = useToast();
|
||||||
const installedAddons = useInstalledAddons(urlParams);
|
const installedAddons = useInstalledAddons(urlParams);
|
||||||
const remoteAddons = useRemoteAddons(urlParams);
|
const remoteAddons = useRemoteAddons(urlParams);
|
||||||
const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);
|
const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);
|
||||||
|
|
@ -29,7 +31,17 @@ const Addons = ({ urlParams, queryParams }) => {
|
||||||
const addAddonUrlInputRef = React.useRef(null);
|
const addAddonUrlInputRef = React.useRef(null);
|
||||||
const addAddonOnSubmit = React.useCallback(() => {
|
const addAddonOnSubmit = React.useCallback(() => {
|
||||||
if (addAddonUrlInputRef.current !== null) {
|
if (addAddonUrlInputRef.current !== null) {
|
||||||
setAddonDetailsTransportUrl(addAddonUrlInputRef.current.value);
|
try {
|
||||||
|
let url = new URL(addAddonUrlInputRef.current.value).toString();
|
||||||
|
setAddonDetailsTransportUrl(url);
|
||||||
|
} catch (e) {
|
||||||
|
toast.show({
|
||||||
|
type: 'error',
|
||||||
|
title: `Failed to parse addon url: ${addAddonUrlInputRef.current.value}`,
|
||||||
|
timeout: 10000
|
||||||
|
});
|
||||||
|
console.error('Failed to parse addon url:', e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, [setAddonDetailsTransportUrl]);
|
}, [setAddonDetailsTransportUrl]);
|
||||||
const addAddonModalButtons = React.useMemo(() => {
|
const addAddonModalButtons = React.useMemo(() => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue