@fluid-app/portal-sdk 0.1.341 → 0.1.342

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.
Files changed (25) hide show
  1. package/dist/{AddressAutocompleteInput-BQ7HCDqS.mjs → AddressAutocompleteInput-B9qlTAJB.mjs} +2 -1
  2. package/dist/AddressAutocompleteInput-B9qlTAJB.mjs.map +1 -0
  3. package/dist/{AddressAutocompleteInput-C0ns8N-l.cjs → AddressAutocompleteInput-D-kCqSV0.cjs} +2 -1
  4. package/dist/AddressAutocompleteInput-D-kCqSV0.cjs.map +1 -0
  5. package/dist/{ProfileScreen-CArZ7TAm.mjs → ProfileScreen-ChfAPeR8.mjs} +2 -2
  6. package/dist/{ProfileScreen-Bw8W8nxK.mjs → ProfileScreen-D1g_H9b7.mjs} +24 -15
  7. package/dist/ProfileScreen-D1g_H9b7.mjs.map +1 -0
  8. package/dist/{ProfileScreen-CP5ijd_t.cjs → ProfileScreen-D4mDCPKi.cjs} +24 -15
  9. package/dist/ProfileScreen-D4mDCPKi.cjs.map +1 -0
  10. package/dist/{ProfileScreen-DXlKK4gO.cjs → ProfileScreen-DgcUeLkp.cjs} +2 -2
  11. package/dist/{SubscriptionsScreen-CVKyyzbR.mjs → SubscriptionsScreen-Bw2mBSSR.mjs} +48 -30
  12. package/dist/SubscriptionsScreen-Bw2mBSSR.mjs.map +1 -0
  13. package/dist/{SubscriptionsScreen-B55dK8Qb.mjs → SubscriptionsScreen-C4pGAW9l.mjs} +2 -2
  14. package/dist/{SubscriptionsScreen-TAXj2UXa.cjs → SubscriptionsScreen-CVoJNU7w.cjs} +2 -2
  15. package/dist/{SubscriptionsScreen-Dz1PGO2z.cjs → SubscriptionsScreen-ClCmeCmY.cjs} +48 -30
  16. package/dist/SubscriptionsScreen-ClCmeCmY.cjs.map +1 -0
  17. package/dist/index.cjs +7 -7
  18. package/dist/index.mjs +7 -7
  19. package/package.json +19 -19
  20. package/dist/AddressAutocompleteInput-BQ7HCDqS.mjs.map +0 -1
  21. package/dist/AddressAutocompleteInput-C0ns8N-l.cjs.map +0 -1
  22. package/dist/ProfileScreen-Bw8W8nxK.mjs.map +0 -1
  23. package/dist/ProfileScreen-CP5ijd_t.cjs.map +0 -1
  24. package/dist/SubscriptionsScreen-CVKyyzbR.mjs.map +0 -1
  25. package/dist/SubscriptionsScreen-Dz1PGO2z.cjs.map +0 -1
@@ -26,7 +26,7 @@ import "./MediaRenderer-Db1KsIza.mjs";
26
26
  import "./CarouselWidget-SrCl4cSn.mjs";
27
27
  import "./CatchUpWidget-B_in7Bjq.mjs";
28
28
  import "./src-CJw6JbdS.mjs";
29
- import { n as subscriptionsScreenPropertySchema, t as SubscriptionsScreen } from "./SubscriptionsScreen-CVKyyzbR.mjs";
29
+ import { n as subscriptionsScreenPropertySchema, t as SubscriptionsScreen } from "./SubscriptionsScreen-Bw2mBSSR.mjs";
30
30
  import "./ChartWidget-CIr3v8x6.mjs";
31
31
  import "./ContainerWidget-BHWPtBmF.mjs";
32
32
  import "./ImageWidget-B3ZTuy4v.mjs";
@@ -45,6 +45,6 @@ import "./VideoWidget-DP-VHt2s.mjs";
45
45
  import "./SearchSort-CMUL0qt3.mjs";
46
46
  import "./ShopWidget-D9-DhKP4.mjs";
47
47
  import "./ScreenHeaderContext-Dn12BZyj.mjs";
48
- import "./AddressAutocompleteInput-BQ7HCDqS.mjs";
48
+ import "./AddressAutocompleteInput-B9qlTAJB.mjs";
49
49
  import "./Combobox-DO6FD77X.mjs";
50
50
  export { SubscriptionsScreen, subscriptionsScreenPropertySchema };
@@ -45,8 +45,8 @@ require("./VideoWidget-Ccer5Uc-.cjs");
45
45
  require("./SearchSort-CDuQPacI.cjs");
46
46
  require("./ShopWidget-BAi2p8DP.cjs");
47
47
  require("./ScreenHeaderContext-DWDN0-mb.cjs");
48
- require("./AddressAutocompleteInput-C0ns8N-l.cjs");
48
+ require("./AddressAutocompleteInput-D-kCqSV0.cjs");
49
49
  require("./Combobox-Dfa0Hn-Q.cjs");
50
- const require_SubscriptionsScreen = require("./SubscriptionsScreen-Dz1PGO2z.cjs");
50
+ const require_SubscriptionsScreen = require("./SubscriptionsScreen-ClCmeCmY.cjs");
51
51
  exports.SubscriptionsScreen = require_SubscriptionsScreen.SubscriptionsScreen;
52
52
  exports.subscriptionsScreenPropertySchema = require_SubscriptionsScreen.subscriptionsScreenPropertySchema;
@@ -10,7 +10,7 @@ const require_use_store = require("./use-store-D2S1FywW.cjs");
10
10
  const require_query_keys = require("./query-keys-BpEJqQUB.cjs");
11
11
  const require_use_account = require("./use-account-BMLTwG3m.cjs");
12
12
  const require_AppNavigationContext = require("./AppNavigationContext-CDowN9gd.cjs");
13
- const require_AddressAutocompleteInput = require("./AddressAutocompleteInput-C0ns8N-l.cjs");
13
+ const require_AddressAutocompleteInput = require("./AddressAutocompleteInput-D-kCqSV0.cjs");
14
14
  const require_isAfter = require("./isAfter-DoabulQ5.cjs");
15
15
  let react = require("react");
16
16
  let _tanstack_react_query = require("@tanstack/react-query");
@@ -4636,6 +4636,7 @@ function SubscriptionsListScreenInner({ customerId, isLoadingCustomer, onToast }
4636
4636
  const payApi = require_FluidProvider.usePayApi();
4637
4637
  const countriesApi = require_countries_api_context.useCountriesApi();
4638
4638
  const { t } = useSubscriptionsTranslation();
4639
+ const { t: profileT } = require_AddressAutocompleteInput.useProfileTranslation();
4639
4640
  const { config } = require_FluidProvider.useFluidContext();
4640
4641
  const { data: store } = require_use_store.useStore();
4641
4642
  const bundlingEnabled = !!store?.bundle_subscriptions_enabled;
@@ -4687,21 +4688,29 @@ function SubscriptionsListScreenInner({ customerId, isLoadingCustomer, onToast }
4687
4688
  }, [countriesData]);
4688
4689
  const fetchStatesFromCountries = (0, react.useCallback)((countryCode) => Promise.resolve(statesByCountry.get(countryCode) ?? []), [statesByCountry]);
4689
4690
  const createAddressMutation = (0, _tanstack_react_query.useMutation)({
4690
- mutationFn: (body) => payApi.createAddress({ address: {
4691
- name: composeAddressName$1(body.address.first_name, body.address.last_name),
4692
- street1: body.address.address1,
4693
- street2: body.address.address2,
4694
- city: body.address.city,
4695
- state: body.address.state,
4696
- zip: body.address.postal_code,
4697
- country: body.address.country_code,
4698
- default: body.address.default
4699
- } }),
4700
- onSuccess: () => {
4691
+ mutationFn: async (body) => {
4692
+ const existingIds = new Set(addresses.map((a) => a.id));
4693
+ const address = await payApi.createAddress({ address: {
4694
+ name: composeAddressName$1(body.address.first_name, body.address.last_name),
4695
+ street1: body.address.address1,
4696
+ street2: body.address.address2,
4697
+ city: body.address.city,
4698
+ state: body.address.state,
4699
+ zip: body.address.postal_code,
4700
+ country: body.address.country_code,
4701
+ default: body.address.default
4702
+ } });
4703
+ return {
4704
+ address,
4705
+ deduped: existingIds.has(address.id)
4706
+ };
4707
+ },
4708
+ onSuccess: ({ deduped }) => {
4701
4709
  queryClient.invalidateQueries({ queryKey: require_query_keys.payKeys.addresses.all });
4702
- onToast?.("Address added", "success");
4710
+ if (deduped) onToast?.(profileT("address_already_exists"), "warning");
4711
+ else onToast?.(profileT("address_created"), "success");
4703
4712
  },
4704
- onError: () => onToast?.("Failed to add address", "error")
4713
+ onError: () => onToast?.(profileT("failed_to_create_address"), "error")
4705
4714
  });
4706
4715
  const addCreditCardMutation = (0, _tanstack_react_query.useMutation)({
4707
4716
  mutationFn: (data) => payApi.createPaymentMethod({
@@ -4833,7 +4842,8 @@ function SubscriptionsListScreenInner({ customerId, isLoadingCustomer, onToast }
4833
4842
  t: addressDialogT,
4834
4843
  onSubmit: async (formData) => {
4835
4844
  try {
4836
- onAddressCreated(mapToFluidPayAddress$2(await createAddressMutation.mutateAsync(formData)));
4845
+ const { address } = await createAddressMutation.mutateAsync(formData);
4846
+ onAddressCreated(mapToFluidPayAddress$2(address));
4837
4847
  } catch {}
4838
4848
  },
4839
4849
  isSubmitting: createAddressMutation.isPending,
@@ -4857,7 +4867,7 @@ function SubscriptionsListScreen(props) {
4857
4867
  const payApi = require_FluidProvider.usePayApi();
4858
4868
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AddressAutocompleteInput.FluidPayCoreProvider, {
4859
4869
  api: (0, react.useMemo)(() => require_AddressAutocompleteInput.createFluidPayApiAdapter(payApi), [payApi]),
4860
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SubscriptionsListScreenInner, { ...props })
4870
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AddressAutocompleteInput.ProfileTranslationBridge, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SubscriptionsListScreenInner, { ...props }) })
4861
4871
  });
4862
4872
  }
4863
4873
  //#endregion
@@ -7185,19 +7195,27 @@ function PortalSubscriptionShippingAddressSectionInner({ address: currentAddress
7185
7195
  onError: (err) => onError?.(profileT("failed_to_update_shipping_address"), err)
7186
7196
  });
7187
7197
  const createAddressMutation = (0, _tanstack_react_query.useMutation)({
7188
- mutationFn: (body) => payApi.createAddress({ address: {
7189
- name: composeAddressName(body.address.first_name, body.address.last_name),
7190
- street1: body.address.address1,
7191
- street2: body.address.address2,
7192
- city: body.address.city,
7193
- state: body.address.state,
7194
- zip: body.address.postal_code,
7195
- country: body.address.country_code,
7196
- default: body.address.default
7197
- } }),
7198
- onSuccess: () => {
7198
+ mutationFn: async (body) => {
7199
+ const existingIds = new Set(addresses.map((a) => a.id));
7200
+ const address = await payApi.createAddress({ address: {
7201
+ name: composeAddressName(body.address.first_name, body.address.last_name),
7202
+ street1: body.address.address1,
7203
+ street2: body.address.address2,
7204
+ city: body.address.city,
7205
+ state: body.address.state,
7206
+ zip: body.address.postal_code,
7207
+ country: body.address.country_code,
7208
+ default: body.address.default
7209
+ } });
7210
+ return {
7211
+ address,
7212
+ deduped: existingIds.has(address.id)
7213
+ };
7214
+ },
7215
+ onSuccess: ({ deduped }) => {
7199
7216
  queryClient.invalidateQueries({ queryKey: require_query_keys.payKeys.addresses.all });
7200
- onSuccess?.(profileT("address_created"));
7217
+ if (deduped) onSuccess?.(profileT("address_already_exists"), "warning");
7218
+ else onSuccess?.(profileT("address_created"), "success");
7201
7219
  },
7202
7220
  onError: (err) => onError?.(profileT("failed_to_create_address"), err)
7203
7221
  });
@@ -7377,7 +7395,7 @@ function SubscriptionDetailScreen({ token, onToast }) {
7377
7395
  }),
7378
7396
  renderShippingAddress: (ctx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PortalSubscriptionShippingAddressSection, {
7379
7397
  ...ctx,
7380
- onSuccess: (msg) => onToast(msg, "success"),
7398
+ onSuccess: (msg, severity) => onToast(msg, severity ?? "success"),
7381
7399
  onError: (msg, err) => {
7382
7400
  onToast(`${msg}: ${err instanceof Error ? err.message : t("error_occurred")}`, "error");
7383
7401
  }
@@ -7435,4 +7453,4 @@ Object.defineProperty(exports, "subscriptionsScreenPropertySchema", {
7435
7453
  }
7436
7454
  });
7437
7455
 
7438
- //# sourceMappingURL=SubscriptionsScreen-Dz1PGO2z.cjs.map
7456
+ //# sourceMappingURL=SubscriptionsScreen-ClCmeCmY.cjs.map