[Update] Plugins(VRCT Subtitles as testing one): Provide-able store and functions from main app.
This commit is contained in:
@@ -2,15 +2,30 @@ const store_hooks = {};
|
||||
|
||||
export const initStore = (createAtomWithHook) => {
|
||||
Object.assign(store_hooks, {
|
||||
useStore_CountPluginState: createAtomWithHook(
|
||||
{ count: 10 },
|
||||
"CountPluginState"
|
||||
).useHook,
|
||||
// useStore_CountPluginState: createAtomWithHook(
|
||||
// { count: 10 },
|
||||
// "CountPluginState"
|
||||
// ).useHook,
|
||||
|
||||
useStore_AnotherState: createAtomWithHook(
|
||||
{ value: "initial" },
|
||||
"AnotherState"
|
||||
).useHook,
|
||||
// useStore_AnotherState: createAtomWithHook(
|
||||
// { value: "initial" },
|
||||
// "AnotherState"
|
||||
// ).useHook,
|
||||
|
||||
useStore_IsSubtitlePlaying: createAtomWithHook(false, "IsSubtitlePlaying", { is_state_ok: true }).useHook,
|
||||
useStore_SubtitlePlaybackMode: createAtomWithHook("relative", "SubtitlePlaybackMode", { is_state_ok: true }).useHook,
|
||||
useStore_SubtitleAbsoluteTargetTime: createAtomWithHook({
|
||||
hour: "23",
|
||||
minute: "00",
|
||||
}, "SubtitleAbsoluteTargetTime", { is_state_ok: true }).useHook,
|
||||
useStore_IsCuesScheduled: createAtomWithHook(false, "IsCuesScheduled", { is_state_ok: true }).useHook,
|
||||
useStore_CountdownAdjustment: createAtomWithHook(0, "CountdownAdjustment", { is_state_ok: true }).useHook,
|
||||
useStore_EffectiveCountdown: createAtomWithHook(null, "EffectiveCountdown", { is_state_ok: true }).useHook,
|
||||
useStore_SubtitleCues: createAtomWithHook([], "SubtitleCues", { is_state_ok: true }).useHook,
|
||||
|
||||
useStore_SubtitleTimers: createAtomWithHook([], "SubtitleTimers", { is_state_ok: true }).useHook,
|
||||
useStore_SubtitleCountdownTimerId: createAtomWithHook([], "SubtitleCountdownTimerId", { is_state_ok: true }).useHook,
|
||||
useStore_SubtitleFileName: createAtomWithHook("ファイルが選択されていません", "SubtitleFileName", { is_state_ok: true }).useHook,
|
||||
});
|
||||
};
|
||||
|
||||
@@ -19,4 +34,14 @@ export const useStore = (hook_name) => {
|
||||
throw new Error(`Hook ${hook_name} is not initialized.`);
|
||||
}
|
||||
return store_hooks[hook_name]();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// StoreContext.js
|
||||
import React, { createContext, useContext } from "react";
|
||||
|
||||
export const StoreContext = createContext(null);
|
||||
|
||||
export const useStoreContext = () => {
|
||||
return useContext(StoreContext);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user