[Refactor] Remove the file and code that is no longer in use.
This commit is contained in:
@@ -8,7 +8,6 @@ if (typeof window !== "undefined") {
|
||||
|
||||
import { LoadPluginsController } from "./plugins_controllers/LoadPluginsController";
|
||||
import { FetchLatestPluginsDataController } from "./plugins_controllers/FetchLatestPluginsDataController";
|
||||
// import { MergeSavedPluginsStatusController } from "./plugins_controllers/MergeSavedPluginsStatusController";
|
||||
import { MergePluginsController } from "./plugins_controllers/MergePluginsController";
|
||||
|
||||
export const PluginsController = ({ pluginsControllerHasRunRef }) => {
|
||||
@@ -18,7 +17,6 @@ export const PluginsController = ({ pluginsControllerHasRunRef }) => {
|
||||
<MergePluginsController />
|
||||
<LoadPluginsController pluginsControllerHasRunRef={pluginsControllerHasRunRef}/>
|
||||
<FetchLatestPluginsDataController pluginsControllerHasRunRef={pluginsControllerHasRunRef}/>
|
||||
{/* <MergeSavedPluginsStatusController /> */}
|
||||
</>
|
||||
);
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { useEffect } from "react";
|
||||
import { usePlugins } from "@logics_configs";
|
||||
|
||||
export const LoadPluginsController = ({ pluginsControllerHasRunRef }) => {
|
||||
|
||||
@@ -121,7 +121,7 @@ export const MergePluginsController = () => {
|
||||
}
|
||||
|
||||
|
||||
// 追加処理: ダウンロード済みかつ有効なプラグインで、サポート対象でない場合は無効化
|
||||
// ダウンロード済みかつ有効なプラグインで、サポート対象でない場合は無効化
|
||||
new_data.forEach(plugin => {
|
||||
if (plugin.is_downloaded && plugin.is_enabled) {
|
||||
if (
|
||||
@@ -143,7 +143,7 @@ export const MergePluginsController = () => {
|
||||
|
||||
|
||||
|
||||
// --- 自動アップデート(ダウンロード処理)のuseEffect ---
|
||||
// --- 自動アップデート(ダウンロード処理)---
|
||||
// ※downloadAndExtractPlugin の重複実行を防ぐため、実行中の plugin_id を useRef で管理
|
||||
const downloadingRef = useRef(new Set());
|
||||
|
||||
@@ -160,7 +160,6 @@ export const MergePluginsController = () => {
|
||||
|
||||
if (!downloadingRef.current.has(plugin.plugin_id)) {
|
||||
downloadingRef.current.add(plugin.plugin_id);
|
||||
// ※ downloadAndExtractPlugin は外部通信を伴い currentLoadedPlugins.data 更新を引き起こすので注意
|
||||
downloadAndExtractPlugin(plugin)
|
||||
.then(() => {
|
||||
console.log(`Plugin ${plugin.plugin_id} updated successfully`);
|
||||
@@ -175,33 +174,5 @@ export const MergePluginsController = () => {
|
||||
});
|
||||
}, [currentPluginsData.data]);
|
||||
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ダウンロード済みで最新版じゃない場合、自動的にアップデート
|
||||
// // is_latest_version_supported: true のみ。
|
||||
// // 失敗した場合、現在のバージョンが非対応の場合はdisabledにする。
|
||||
// new_data.forEach(async plugin => {
|
||||
// if (plugin.is_enabled) {
|
||||
// console.log(plugin);
|
||||
|
||||
// if (!plugin.is_latest_version_already && plugin.is_latest_version_available) {
|
||||
// await downloadAndExtractPlugin(plugin);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
// new_data.forEach(plugin => {
|
||||
// if (plugin.is_downloaded && plugin.is_enabled) {
|
||||
// if (!plugin.downloaded_plugin_info?.is_plugin_supported && !plugin.latest_plugin_info?.is_plugin_supported) {
|
||||
// plugin.is_enabled = false
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
@@ -1,35 +0,0 @@
|
||||
import { useEffect } from "react";
|
||||
import { usePlugins } from "@logics_configs";
|
||||
|
||||
export const MergeSavedPluginsStatusController = () => {
|
||||
const {
|
||||
updatePluginsData,
|
||||
currentSavedPluginsStatus,
|
||||
} = usePlugins();
|
||||
|
||||
useEffect(() => {
|
||||
updatePluginsData(prev => {
|
||||
// currentSavedPluginsStatus.data の各要素を Map 化して plugin_id で参照
|
||||
const saved_map = new Map(currentSavedPluginsStatus.data.map(saved => [saved.plugin_id, saved]));
|
||||
const prev_map = new Map(prev.data.map(item => [item.plugin_id, item]));
|
||||
// prev.data にある各アイテムについて、保存済みの状態情報があればマージ
|
||||
const merged = prev.data.map(item => {
|
||||
|
||||
if (saved_map.has(item.plugin_id)) {
|
||||
return { ...item, is_enabled: saved_map.get(item.plugin_id).is_enabled };
|
||||
}
|
||||
return item;
|
||||
});
|
||||
|
||||
// currentSavedPluginsStatus.data にのみ存在する項目があれば追加
|
||||
currentSavedPluginsStatus.data.forEach(saved => {
|
||||
if (!prev_map.has(saved.plugin_id)) {
|
||||
merged.push({ plugin_id: saved.plugin_id, is_enabled: saved.is_enabled });
|
||||
}
|
||||
});
|
||||
return merged;
|
||||
});
|
||||
}, [currentSavedPluginsStatus]);
|
||||
|
||||
return null;
|
||||
};
|
||||
Reference in New Issue
Block a user