Skip to content

Commit 8896558

Browse files
authored
Merge branch 'main' into gi/support-siwa-feedback
2 parents 3f70cef + 0853872 commit 8896558

File tree

260 files changed

+1888
-3515
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

260 files changed

+1888
-3515
lines changed

.changeset/cuddly-results-play.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Updates copy on the payment widgets

.changeset/eager-loops-fold.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Allows using the checkout widget without a wallet connected

.changeset/fuzzy-bars-wish.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@thirdweb-dev/service-utils": patch
3+
---
4+
5+
add reason code type into team capabilities response

apps/dashboard/.storybook/preview.tsx

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import type { Preview } from "@storybook/nextjs";
2-
import "../src/global.css";
2+
import "@workspace/ui/global.css";
33
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
4+
import { Button } from "@workspace/ui/components/button";
45
import { MoonIcon, SunIcon } from "lucide-react";
5-
import { ThemeProvider, useTheme } from "next-themes";
66
import { Inter as interFont } from "next/font/google";
7-
// biome-ignore lint/style/useImportType: <explanation>
8-
import React from "react";
9-
import { useEffect } from "react";
7+
import { ThemeProvider, useTheme } from "next-themes";
8+
// biome-ignore lint/style/useImportType: ok
9+
import React, { useEffect } from "react";
1010
import { Toaster } from "sonner";
11-
import { Button } from "../src/@/components/ui/button";
1211

1312
const queryClient = new QueryClient();
1413

@@ -69,9 +68,7 @@ const preview: Preview = {
6968

7069
export default preview;
7170

72-
function StoryLayout(props: {
73-
children: React.ReactNode;
74-
}) {
71+
function StoryLayout(props: { children: React.ReactNode }) {
7572
const { setTheme, theme } = useTheme();
7673

7774
useEffect(() => {

apps/dashboard/knip.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@
1414
"@types/color",
1515
"fast-xml-parser",
1616
"@workspace/ui",
17-
"tailwindcss-animate"
17+
"tailwindcss-animate",
18+
"@radix-ui/react-tooltip",
19+
"shiki",
20+
"react-children-utilities",
21+
"react-markdown",
22+
"remark-gfm"
1823
],
1924
"next": true,
2025
"project": ["src/**"]

apps/dashboard/src/@/components/billing/renew-subscription-button.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { toast } from "sonner";
77
import { reSubscribePlan } from "@/actions/billing";
88
import type { Team } from "@/api/team/get-team";
99
import { Button } from "@/components/ui/button";
10-
import { Spinner } from "@/components/ui/Spinner/Spinner";
10+
import { Spinner } from "@/components/ui/Spinner";
1111
import { useDashboardRouter } from "@/lib/DashboardRouter";
1212
import { pollWithTimeout } from "@/utils/pollWithTimeout";
1313
import { tryCatch } from "@/utils/try-catch";

apps/dashboard/src/@/components/blocks/DangerSettingCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
DialogTitle,
1111
DialogTrigger,
1212
} from "@/components/ui/dialog";
13-
import { Spinner } from "@/components/ui/Spinner/Spinner";
13+
import { Spinner } from "@/components/ui/Spinner";
1414
import { cn } from "../../lib/utils";
1515
import { DynamicHeight } from "../ui/DynamicHeight";
1616

apps/dashboard/src/@/components/blocks/ExportToCSVButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { DownloadIcon } from "lucide-react";
33
import Papa from "papaparse";
44
import { toast } from "sonner";
55
import { Button } from "@/components/ui/button";
6-
import { Spinner } from "@/components/ui/Spinner/Spinner";
6+
import { Spinner } from "@/components/ui/Spinner";
77
import { cn } from "../../lib/utils";
88

99
export function ExportToCSVButton(props: {
Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,3 @@
1-
/* eslint-disable @next/next/no-img-element */
21
"use client";
3-
import { useRef, useState } from "react";
4-
import { cn } from "@/lib/utils";
5-
import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
62

7-
type imgElementProps = React.DetailedHTMLProps<
8-
React.ImgHTMLAttributes<HTMLImageElement>,
9-
HTMLImageElement
10-
> & {
11-
skeleton?: React.ReactNode;
12-
fallback?: React.ReactNode;
13-
src: string | undefined;
14-
containerClassName?: string;
15-
};
16-
17-
export function Img(props: imgElementProps) {
18-
const [_status, setStatus] = useState<"pending" | "fallback" | "loaded">(
19-
"pending",
20-
);
21-
const status =
22-
props.src === undefined
23-
? "pending"
24-
: props.src === ""
25-
? "fallback"
26-
: _status;
27-
const { className, fallback, skeleton, containerClassName, ...restProps } =
28-
props;
29-
const defaultSkeleton = <div className="animate-pulse bg-accent" />;
30-
const defaultFallback = <div className="bg-accent" />;
31-
const imgRef = useRef<HTMLImageElement>(null);
32-
33-
useIsomorphicLayoutEffect(() => {
34-
const imgEl = imgRef.current;
35-
if (!imgEl) {
36-
return;
37-
}
38-
if (imgEl.complete) {
39-
setStatus("loaded");
40-
} else {
41-
function handleLoad() {
42-
setStatus("loaded");
43-
}
44-
imgEl.addEventListener("load", handleLoad);
45-
return () => {
46-
imgEl.removeEventListener("load", handleLoad);
47-
};
48-
}
49-
}, []);
50-
51-
return (
52-
<div className={cn("relative shrink-0", containerClassName)}>
53-
<img
54-
{...restProps}
55-
// avoid setting empty src string to prevent request to the entire page
56-
alt={restProps.alt || ""}
57-
className={cn(
58-
"fade-in-0 object-cover transition-opacity duration-300",
59-
className,
60-
)}
61-
decoding="async"
62-
onError={() => {
63-
setStatus("fallback");
64-
}}
65-
ref={imgRef}
66-
src={restProps.src || undefined}
67-
style={{
68-
opacity: status === "loaded" ? 1 : 0,
69-
...restProps.style,
70-
}}
71-
/>
72-
73-
{status !== "loaded" && (
74-
<div
75-
className={cn(
76-
"fade-in-0 absolute inset-0 overflow-hidden transition-opacity duration-300 [&>*]:h-full [&>*]:w-full",
77-
className,
78-
)}
79-
style={restProps.style}
80-
>
81-
{status === "pending" && (skeleton || defaultSkeleton)}
82-
{status === "fallback" && (fallback || defaultFallback)}
83-
</div>
84-
)}
85-
</div>
86-
);
87-
}
3+
export { Img } from "@workspace/ui/components/img";

apps/dashboard/src/@/components/blocks/RouteDiscoveryCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type React from "react";
22
import { Button } from "@/components/ui/button";
3-
import { Spinner } from "@/components/ui/Spinner/Spinner";
3+
import { Spinner } from "@/components/ui/Spinner";
44
import { cn } from "@/lib/utils";
55

66
export function RouteDiscoveryCard(

0 commit comments

Comments
 (0)