@tscircuit/runframe 0.0.472 → 0.0.474

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.
@@ -1094,7 +1094,7 @@ var RenderLogViewer = ({
1094
1094
  };
1095
1095
 
1096
1096
  // package.json
1097
- var version = "0.0.471";
1097
+ var version = "0.0.473";
1098
1098
 
1099
1099
  // lib/components/CircuitJsonPreview/CircuitJsonPreview.tsx
1100
1100
  import "three";
@@ -1727,7 +1727,7 @@ import { QueryClient, QueryClientProvider } from "react-query";
1727
1727
  // lib/components/OrderDialog/InitialOrder.tsx
1728
1728
  import { Loader2 as Loader22 } from "lucide-react";
1729
1729
  import { GitHubLogoIcon as GitHubLogoIcon2 } from "@radix-ui/react-icons";
1730
- import { useEffect as useEffect4, useMemo as useMemo2, useState as useState6 } from "react";
1730
+ import { useEffect as useEffect3, useMemo as useMemo2, useState as useState6 } from "react";
1731
1731
 
1732
1732
  // lib/components/OrderDialog/VendorQuoteCard.tsx
1733
1733
  import { Truck, Package } from "lucide-react";
@@ -1830,7 +1830,6 @@ var registryKy = {
1830
1830
 
1831
1831
  // lib/hooks/use-create-order-quote.ts
1832
1832
  import { useMutation } from "react-query";
1833
- import { useEffect as useEffect3, useRef as useRef2 } from "react";
1834
1833
 
1835
1834
  // lib/api/order-quotes.ts
1836
1835
  import { HTTPError } from "ky";
@@ -1843,7 +1842,9 @@ var createOrderQuote = async (packageReleaseId) => {
1843
1842
  // TODO: Remove this once we have more vendor
1844
1843
  }
1845
1844
  }).json();
1846
- return order_quote_id;
1845
+ return {
1846
+ order_quote_id
1847
+ };
1847
1848
  } catch (error) {
1848
1849
  if (error instanceof HTTPError) {
1849
1850
  const errorBody = await error.response.json();
@@ -1867,20 +1868,16 @@ var getOrderQuote = async (orderQuoteId) => {
1867
1868
  };
1868
1869
 
1869
1870
  // lib/hooks/use-create-order-quote.ts
1870
- var useCreateOrderQuote = (packageReleaseId, options) => {
1871
- const initializedRef = useRef2(false);
1872
- const mutation = useMutation({
1873
- mutationFn: async () => {
1874
- return await createOrderQuote(packageReleaseId);
1871
+ import { useQueryClient } from "react-query";
1872
+ var useCreateOrderQuote = () => {
1873
+ const queryClient2 = useQueryClient();
1874
+ return useMutation({
1875
+ mutationKey: ["createOrderQuote"],
1876
+ mutationFn: (packageReleaseId) => createOrderQuote(packageReleaseId),
1877
+ onSuccess: (data) => {
1878
+ queryClient2.invalidateQueries(["getOrderQuote", data.order_quote_id]);
1875
1879
  }
1876
1880
  });
1877
- useEffect3(() => {
1878
- if (options?.executeImmediately && !initializedRef.current) {
1879
- initializedRef.current = true;
1880
- mutation.mutate();
1881
- }
1882
- }, [packageReleaseId, options?.executeImmediately]);
1883
- return mutation;
1884
1881
  };
1885
1882
 
1886
1883
  // lib/hooks/use-order-quote-polling.ts
@@ -1892,7 +1889,7 @@ var useOrderQuotePolling = (orderQuoteId) => {
1892
1889
  status
1893
1890
  } = useQuery(
1894
1891
  ["getOrderQuote", orderQuoteId],
1895
- () => getOrderQuote(orderQuoteId),
1892
+ () => getOrderQuote(orderQuoteId || ""),
1896
1893
  {
1897
1894
  enabled: !!orderQuoteId,
1898
1895
  refetchInterval: (data) => {
@@ -1921,17 +1918,25 @@ var InitialOrderScreen = ({
1921
1918
  isLoggedIn
1922
1919
  }) => {
1923
1920
  const [selectedShippingCarrier, setSelectedShippingCarrier] = useState6(null);
1924
- const { data: orderQuoteId, error: createOrderQuoteError } = useCreateOrderQuote(packageReleaseId, {
1925
- executeImmediately: true
1926
- });
1927
- const { data: orderQuote } = useOrderQuotePolling(orderQuoteId);
1921
+ const [orderQuoteId, setOrderQuoteId] = useState6(null);
1922
+ const { mutate: createOrderQuote2, error: createOrderQuoteError } = useCreateOrderQuote();
1923
+ useEffect3(() => {
1924
+ if (packageReleaseId) {
1925
+ createOrderQuote2(packageReleaseId, {
1926
+ onSuccess: (data) => {
1927
+ setOrderQuoteId(data.order_quote_id);
1928
+ }
1929
+ });
1930
+ }
1931
+ }, [packageReleaseId]);
1932
+ const { data: orderQuote } = useOrderQuotePolling(orderQuoteId || void 0);
1928
1933
  const redirectToStripeCheckout = async (orderQuoteId2) => {
1929
1934
  const stripeCheckoutBaseUrl = getWindowVar(
1930
1935
  "TSCIRCUIT_STRIPE_CHECKOUT_BASE_URL"
1931
1936
  );
1932
1937
  window.location.href = `${stripeCheckoutBaseUrl}?client_reference_id=${orderQuoteId2}&shipping_option=${selectedShippingCarrier}`;
1933
1938
  };
1934
- useEffect4(() => {
1939
+ useEffect3(() => {
1935
1940
  if (selectedShippingCarrier === null && orderQuote && Array.isArray(orderQuote.shipping_options) && orderQuote.shipping_options.length > 0) {
1936
1941
  const lowest = orderQuote.shipping_options.reduce(
1937
1942
  (min, curr) => curr.cost < min.cost ? curr : min,
@@ -1946,7 +1951,7 @@ var InitialOrderScreen = ({
1946
1951
  orderQuote.shipping_options[0]
1947
1952
  ).cost : 0;
1948
1953
  }, [orderQuote]);
1949
- const isNoTokenError = (createOrderQuoteError?.error?.error_code?.includes("no_token") || orderQuote?.error?.error_code?.includes("no_token")) && signIn;
1954
+ const isNoTokenError = createOrderQuoteError && createOrderQuoteError.error_code?.includes("no_token") || orderQuote?.error?.error_code?.includes("no_token") && signIn;
1950
1955
  if (!isLoggedIn || isNoTokenError) {
1951
1956
  return /* @__PURE__ */ jsx19(SignInView, { signIn });
1952
1957
  }
@@ -1956,7 +1961,7 @@ var InitialOrderScreen = ({
1956
1961
  (createOrderQuoteError || orderQuote?.error) && /* @__PURE__ */ jsx19(
1957
1962
  ErrorMessage,
1958
1963
  {
1959
- message: createOrderQuoteError?.error.message || orderQuote?.error?.message || "Failed to fetch quotes"
1964
+ message: createOrderQuoteError && createOrderQuoteError.message || orderQuote?.error?.message || "Failed to fetch quotes"
1960
1965
  }
1961
1966
  ),
1962
1967
  orderQuote?.is_completed && !createOrderQuoteError && !orderQuote?.error && Array.isArray(orderQuote?.shipping_options) && orderQuote.shipping_options.length > 0 && /* @__PURE__ */ jsxs15(Fragment3, { children: [
@@ -2101,7 +2106,8 @@ var useOrderDialogCli = () => {
2101
2106
  };
2102
2107
  var useOrderDialog = ({
2103
2108
  onSignIn,
2104
- isLoggedIn
2109
+ isLoggedIn,
2110
+ packageReleaseId
2105
2111
  }) => {
2106
2112
  useStyles();
2107
2113
  const [isOpen, setIsOpen] = useState7(false);
@@ -2112,8 +2118,16 @@ var useOrderDialog = ({
2112
2118
  }, []);
2113
2119
  const open = useCallback2(() => setIsOpen(true), []);
2114
2120
  const MemoizedOrderDialog = useMemo3(() => {
2115
- return (props) => /* @__PURE__ */ jsx22(OrderDialog, { ...props, signIn: onSignIn, isLoggedIn });
2116
- }, [isLoggedIn]);
2121
+ return (props) => /* @__PURE__ */ jsx22(
2122
+ OrderDialog,
2123
+ {
2124
+ ...props,
2125
+ signIn: onSignIn,
2126
+ isLoggedIn,
2127
+ packageReleaseId
2128
+ }
2129
+ );
2130
+ }, [isLoggedIn, packageReleaseId]);
2117
2131
  return {
2118
2132
  isOpen,
2119
2133
  stage,
package/dist/preview.d.ts CHANGED
@@ -124,9 +124,10 @@ declare const useOrderDialogCli: () => {
124
124
  setStage: react.Dispatch<react.SetStateAction<OrderStage>>;
125
125
  OrderDialog: react.FC<CliOrderDialogProps>;
126
126
  };
127
- declare const useOrderDialog: ({ onSignIn, isLoggedIn, }: {
127
+ declare const useOrderDialog: ({ onSignIn, isLoggedIn, packageReleaseId, }: {
128
128
  onSignIn: () => void;
129
129
  isLoggedIn: boolean;
130
+ packageReleaseId: string;
130
131
  }) => {
131
132
  isOpen: boolean;
132
133
  stage: OrderStage;
package/dist/preview.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  linkify,
9
9
  useOrderDialog,
10
10
  useOrderDialogCli
11
- } from "./chunk-62PYVATA.js";
11
+ } from "./chunk-2TZVCIVL.js";
12
12
  export {
13
13
  BomTable,
14
14
  CadViewer,
package/dist/runner.js CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  useOrderDialog,
28
28
  useOrderDialogCli,
29
29
  useRunFrameStore
30
- } from "./chunk-62PYVATA.js";
30
+ } from "./chunk-2TZVCIVL.js";
31
31
 
32
32
  // lib/components/RunFrame/RunFrame.tsx
33
33
  import { createCircuitWebWorker } from "@tscircuit/eval/worker";