@vechain/vechain-kit 1.9.4 → 1.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -126,10 +126,13 @@ type VeChainKitConfig = {
126
126
  darkMode: boolean;
127
127
  i18n?: VechainKitProviderProps['i18n'];
128
128
  language?: VechainKitProviderProps['language'];
129
+ currentLanguage: string;
129
130
  network: VechainKitProviderProps['network'];
130
131
  allowCustomTokens?: boolean;
131
132
  legalDocuments?: VechainKitProviderProps['legalDocuments'];
132
133
  defaultCurrency?: VechainKitProviderProps['defaultCurrency'];
134
+ currentCurrency: CURRENCY;
135
+ setCurrentCurrency: (currency: CURRENCY) => void;
133
136
  };
134
137
  /**
135
138
  * Context to store the Privy and DAppKit configs so that they can be used by the hooks/components
package/dist/index.d.ts CHANGED
@@ -126,10 +126,13 @@ type VeChainKitConfig = {
126
126
  darkMode: boolean;
127
127
  i18n?: VechainKitProviderProps['i18n'];
128
128
  language?: VechainKitProviderProps['language'];
129
+ currentLanguage: string;
129
130
  network: VechainKitProviderProps['network'];
130
131
  allowCustomTokens?: boolean;
131
132
  legalDocuments?: VechainKitProviderProps['legalDocuments'];
132
133
  defaultCurrency?: VechainKitProviderProps['defaultCurrency'];
134
+ currentCurrency: CURRENCY;
135
+ setCurrentCurrency: (currency: CURRENCY) => void;
133
136
  };
134
137
  /**
135
138
  * Context to store the Privy and DAppKit configs so that they can be used by the hooks/components
package/dist/index.js CHANGED
@@ -9065,26 +9065,11 @@ var useTokenPrices = () => {
9065
9065
  isLoading
9066
9066
  };
9067
9067
  };
9068
- var STORAGE_KEY = "vechain_kit_currency";
9068
+
9069
+ // src/hooks/api/wallet/useCurrency.ts
9069
9070
  var allCurrencies = ["usd", "eur", "gbp"];
9070
9071
  var useCurrency = () => {
9071
- const { defaultCurrency = "usd" } = useVeChainKitConfig();
9072
- const [currentCurrency, setCurrentCurrency] = useState(() => {
9073
- try {
9074
- const stored = window.localStorage.getItem(STORAGE_KEY);
9075
- return stored || defaultCurrency;
9076
- } catch (error) {
9077
- console.error(error);
9078
- return defaultCurrency;
9079
- }
9080
- });
9081
- useEffect(() => {
9082
- try {
9083
- window.localStorage.setItem(STORAGE_KEY, currentCurrency);
9084
- } catch (error) {
9085
- console.error("Failed to store currency preference:", error);
9086
- }
9087
- }, [currentCurrency]);
9072
+ const { currentCurrency, setCurrentCurrency } = useVeChainKitConfig();
9088
9073
  const changeCurrency = (newCurrency) => {
9089
9074
  if (!allCurrencies.includes(newCurrency)) {
9090
9075
  console.error(`Invalid currency: ${newCurrency}`);
@@ -21305,9 +21290,13 @@ var LegalDocumentsContext = createContext(void 0);
21305
21290
  var useLegalDocuments = () => {
21306
21291
  const context = useContext(LegalDocumentsContext);
21307
21292
  if (!context) {
21308
- throw new Error(
21309
- "useLegalDocuments must be used within LegalDocumentsProvider"
21310
- );
21293
+ return {
21294
+ hasAgreedToRequiredDocuments: true,
21295
+ agreements: [],
21296
+ walletAddress: void 0,
21297
+ documents: [],
21298
+ documentsNotAgreed: []
21299
+ };
21311
21300
  }
21312
21301
  return context;
21313
21302
  };
@@ -21969,6 +21958,44 @@ var VeChainKitProvider = (props) => {
21969
21958
  defaultCurrency = "usd"
21970
21959
  } = validatedProps;
21971
21960
  const validatedLoginMethods = loginMethods;
21961
+ const [currentLanguage, setCurrentLanguage] = useState(() => {
21962
+ if (typeof window !== "undefined") {
21963
+ const stored = localStorage.getItem("i18nextLng");
21964
+ if (stored && supportedLanguages.includes(stored)) {
21965
+ return stored;
21966
+ }
21967
+ }
21968
+ return i18n_default.language || language || "en";
21969
+ });
21970
+ const CURRENCY_STORAGE_KEY = "vechain_kit_currency";
21971
+ const [currentCurrency, setCurrentCurrencyState] = useState(
21972
+ () => {
21973
+ if (typeof window !== "undefined") {
21974
+ try {
21975
+ const stored = localStorage.getItem(CURRENCY_STORAGE_KEY);
21976
+ if (stored && ["usd", "eur", "gbp"].includes(stored)) {
21977
+ return stored;
21978
+ }
21979
+ } catch (error) {
21980
+ console.error(
21981
+ "Failed to read currency from localStorage:",
21982
+ error
21983
+ );
21984
+ }
21985
+ }
21986
+ return defaultCurrency;
21987
+ }
21988
+ );
21989
+ const setCurrentCurrency = (newCurrency) => {
21990
+ setCurrentCurrencyState(newCurrency);
21991
+ if (typeof window !== "undefined") {
21992
+ try {
21993
+ localStorage.setItem(CURRENCY_STORAGE_KEY, newCurrency);
21994
+ } catch (error) {
21995
+ console.error("Failed to store currency preference:", error);
21996
+ }
21997
+ }
21998
+ };
21972
21999
  const allowedEcosystemApps = useMemo(() => {
21973
22000
  const userEcosystemMethods = validatedLoginMethods?.find(
21974
22001
  (method35) => method35.method === "ecosystem"
@@ -22000,6 +22027,19 @@ var VeChainKitProvider = (props) => {
22000
22027
  });
22001
22028
  }
22002
22029
  }, [language, i18nConfig]);
22030
+ useEffect(() => {
22031
+ const handleLanguageChanged = (lng) => {
22032
+ setCurrentLanguage(lng);
22033
+ };
22034
+ i18n_default.on("languageChanged", handleLanguageChanged);
22035
+ const initialLanguage = i18n_default.language || language || "en";
22036
+ if (initialLanguage !== currentLanguage) {
22037
+ setCurrentLanguage(initialLanguage);
22038
+ }
22039
+ return () => {
22040
+ i18n_default.off("languageChanged", handleLanguageChanged);
22041
+ };
22042
+ }, [language]);
22003
22043
  useEffect(() => {
22004
22044
  localStorage.setItem(VECHAIN_KIT_STORAGE_KEYS.NETWORK, network.type);
22005
22045
  }, [network]);
@@ -22018,10 +22058,13 @@ var VeChainKitProvider = (props) => {
22018
22058
  darkMode,
22019
22059
  i18n: i18nConfig,
22020
22060
  language,
22061
+ currentLanguage,
22021
22062
  network,
22022
22063
  allowCustomTokens,
22023
22064
  legalDocuments,
22024
- defaultCurrency
22065
+ defaultCurrency,
22066
+ currentCurrency,
22067
+ setCurrentCurrency
22025
22068
  },
22026
22069
  children: /* @__PURE__ */ jsx(
22027
22070
  PrivyProvider,