[Update] Add the safety that is not show on UI if the plugin, downloaded, is not supported.
This commit is contained in:
@@ -7,6 +7,7 @@ export const MergePluginsController = () => {
|
|||||||
const {
|
const {
|
||||||
currentLoadedPlugins,
|
currentLoadedPlugins,
|
||||||
updatePluginsData,
|
updatePluginsData,
|
||||||
|
updateTargetPluginData,
|
||||||
currentPluginsData,
|
currentPluginsData,
|
||||||
currentFetchedPluginsInfo,
|
currentFetchedPluginsInfo,
|
||||||
currentSavedPluginsStatus,
|
currentSavedPluginsStatus,
|
||||||
@@ -148,14 +149,15 @@ export const MergePluginsController = () => {
|
|||||||
) {
|
) {
|
||||||
if (!downloadingRef.current.has(plugin.plugin_id)) {
|
if (!downloadingRef.current.has(plugin.plugin_id)) {
|
||||||
downloadingRef.current.add(plugin.plugin_id);
|
downloadingRef.current.add(plugin.plugin_id);
|
||||||
|
const target_plugin_id = plugin.plugin_id;
|
||||||
downloadAndExtractPlugin(plugin)
|
downloadAndExtractPlugin(plugin)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log(`Plugin ${plugin.plugin_id} updated successfully`);
|
console.log(`Plugin ${target_plugin_id} updated successfully`);
|
||||||
downloadingRef.current.delete(plugin.plugin_id);
|
downloadingRef.current.delete(target_plugin_id);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error(`Plugin ${plugin.plugin_id} update failed`, error);
|
console.error(`Plugin ${target_plugin_id} update failed`, error);
|
||||||
downloadingRef.current.delete(plugin.plugin_id);
|
downloadingRef.current.delete(target_plugin_id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,12 @@ import { usePlugins } from "@logics_configs";
|
|||||||
export const MainSection = () => {
|
export const MainSection = () => {
|
||||||
const { currentPluginsData } = usePlugins();
|
const { currentPluginsData } = usePlugins();
|
||||||
|
|
||||||
const render_plugins = currentPluginsData.data.filter((plugin) => (plugin.is_downloaded && plugin.is_enabled && plugin.downloaded_plugin_info.location === "main_section"));
|
const render_plugins = currentPluginsData.data.filter((plugin) => (
|
||||||
|
plugin.is_downloaded &&
|
||||||
|
plugin.is_enabled &&
|
||||||
|
plugin.downloaded_plugin_info.is_plugin_supported &&
|
||||||
|
plugin.downloaded_plugin_info.location === "main_section"
|
||||||
|
));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.container}>
|
<div className={styles.container}>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// justify-content: space-between;
|
// justify-content: space-between;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.language_selector_container {
|
.language_selector_container {
|
||||||
|
|||||||
@@ -373,6 +373,17 @@ export const usePlugins = () => {
|
|||||||
return currentPluginsData.data.filter(plugin => plugin.is_enabled);
|
return currentPluginsData.data.filter(plugin => plugin.is_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const updateTargetPluginData = (target_plugin_id, attribute, value) => {
|
||||||
|
updatePluginsData(prev => {
|
||||||
|
prev.data.forEach(plugin => {
|
||||||
|
if (plugin.plugin_id === target_plugin_id) {
|
||||||
|
plugin[attribute] = value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return prev.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -391,6 +402,8 @@ export const usePlugins = () => {
|
|||||||
currentPluginsData,
|
currentPluginsData,
|
||||||
updatePluginsData,
|
updatePluginsData,
|
||||||
|
|
||||||
|
updateTargetPluginData,
|
||||||
|
|
||||||
currentFetchedPluginsInfo,
|
currentFetchedPluginsInfo,
|
||||||
updateFetchedPluginsInfo,
|
updateFetchedPluginsInfo,
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user