[Update] Plugins: Move location from index to plugin_info.json.

This commit is contained in:
Sakamoto Shiina
2025-03-25 17:57:03 +09:00
parent 92ea06eb77
commit 824a9fa0a9
3 changed files with 7 additions and 10 deletions

View File

@@ -8,10 +8,7 @@ export const init = (plugin_context) => {
return <MainContainer />;
};
plugin_context.registerComponent({
location: "main_section",
component: EntryComponents,
});
plugin_context.registerComponent(EntryComponents);
};
export default init;

View File

@@ -2,6 +2,7 @@
"title": "VRCT Example Plugins 1",
"plugin_id": "vrct_plugin_example_1",
"asset_name": "vrct_plugin_example_1.zip",
"location": "main_section",
"plugin_version": "0.0.1",
"min_supported_vrct_version": "3.0.4",
"max_supported_vrct_version": "3.0.6"

View File

@@ -23,7 +23,6 @@ const PLUGIN_LIST_URL = "https://raw.githubusercontent.com/ShiinaSakamoto/vrct_p
export const usePlugins = () => {
const { asyncStdoutToPython } = useStdoutToPython();
// const { currentLoadedPluginsList, updateLoadedPluginsList } = useStore_LoadedPluginsList();
const { currentSavedPluginsStatus, updateSavedPluginsStatus, pendingSavedPluginsStatus } = useStore_SavedPluginsStatus();
const { currentPluginsData, updatePluginsData, pendingPluginsData } = useStore_PluginsData();
const { currentSoftwareVersion } = useSoftwareVersion();
@@ -32,22 +31,22 @@ export const usePlugins = () => {
const generatePluginContext= (plugin_info) => {
const plugin_context = {
registerComponent: ({ location, component }) => {
if (!plugin_info.plugin_id || !location || !component) {
return console.error("An invalid plugin was detected.", plugin_info.plugin_id, location, component);
registerComponent: (component) => {
if (!plugin_info.plugin_id || !plugin_info.location || !component) {
return console.error("An invalid plugin was detected.", plugin_info.plugin_id, plugin_info.location, component);
}
updatePluginsData(prev => {
const is_already_registered = prev.data.some(old_value => old_value.plugin_id === plugin_info.plugin_id);
const new_value = prev.data.map(old_value =>
old_value.plugin_id === plugin_info.plugin_id
? { ...old_value, ...plugin_info, location, component, is_downloaded: true }
? { ...old_value, ...plugin_info, location: plugin_info.location, component, is_downloaded: true }
: old_value
);
return is_already_registered
? new_value
: [...new_value, { plugin_id: plugin_info.plugin_id, location, component, is_downloaded: true }];
: [...new_value, { plugin_id: plugin_info.plugin_id, location: plugin_info.location, component, is_downloaded: true }];
});
},
createAtomWithHook: (...args) => createAtomWithHook(...args)