@frak-labs/components
Version:
Frak Wallet components, helping any person to interact with the Frak wallet.
22 lines (21 loc) • 776 B
JavaScript
import { sdkConfigStore } from "@frak-labs/core-sdk";
import { useEffect, useMemo, useState } from "preact/hooks";
//#region src/hooks/useGlobalComponents.ts
/**
* Subscribe to the global component defaults from the SDK config store.
* These serve as fallbacks when no placement-level override exists.
*/
function useGlobalComponents() {
const [configVersion, setConfigVersion] = useState(0);
useEffect(() => {
const onConfig = (_e) => {
setConfigVersion((v) => v + 1);
};
window.addEventListener("frak:config", onConfig);
setConfigVersion((v) => v + 1);
return () => window.removeEventListener("frak:config", onConfig);
}, []);
return useMemo(() => sdkConfigStore.getConfig().components, [configVersion]);
}
//#endregion
export { useGlobalComponents as t };