[Update] Plugins: Move location from index to plugin_info.json.
This commit is contained in:
@@ -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;
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user