[TMP] Plugins system.

This commit is contained in:
Sakamoto Shiina
2025-03-05 23:22:22 +09:00
parent a2cc69b8ee
commit 22ada89fa6
21 changed files with 990 additions and 7 deletions

View File

@@ -0,0 +1,22 @@
import React from "react";
import { MainContainer } from "./main_container/MainContainer";
export const init = (plugin_context) => {
const { useHook: useStore_CountPluginState } = plugin_context.createAtomWithHook({ count: 6 }, "CountPluginState");
const EntryComponents = () => {
return (
<MainContainer useStore_CountPluginState={useStore_CountPluginState}/>
);
};
// UI の"main_section"拡張ポイントにコンポーネントを登録
plugin_context.registerComponent({
plugin_id: "dev_vrct_plugin_example_1",
location: "main_section",
component: EntryComponents,
});
};

View File

@@ -0,0 +1,19 @@
export const MainContainer = ({useStore_CountPluginState}) => {
const { updateCountPluginState, currentCountPluginState } = useStore_CountPluginState();
const incrementCount = () => {
updateCountPluginState((prev_value) => {
return { count: prev_value.data.count + 1 }
});
};
return (
<div>
<p>Dev Plugin Count: {currentCountPluginState?.data?.count}</p>
<button onClick={incrementCount}>
Increment Plugin Count
</button>
</div>
);
};