[bugfix] Plugins(VRCT Subtitles as testing one): Apply styles by importing css file.

This commit is contained in:
Sakamoto Shiina
2025-03-29 16:22:00 +09:00
parent a59b9282df
commit 5681038c22
28 changed files with 52 additions and 13 deletions

View File

@@ -0,0 +1,47 @@
const store_hooks = {};
export const initStore = (createAtomWithHook) => {
Object.assign(store_hooks, {
// useStore_CountPluginState: createAtomWithHook(
// { count: 10 },
// "CountPluginState"
// ).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,
});
};
export const useStore = (hook_name) => {
if (!store_hooks[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);
};