From fc4ff484f046b84f7269754465f6d98b83ab1312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Carri=C3=B3n?= Date: Sat, 30 May 2026 15:52:01 -0300 Subject: [PATCH 1/2] feat: toast notification --- app/layout.tsx | 2 ++ components/ui/sonner.tsx | 45 ++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 components/ui/sonner.tsx diff --git a/app/layout.tsx b/app/layout.tsx index b6c1e77..2dbd119 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -3,6 +3,7 @@ import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { Analytics } from "@vercel/analytics/next"; import ClientWalletProvider from "@/components/ClientWalletProvider"; +import { Toaster } from "@/components/ui/sonner"; import "./globals.css"; const geistSans = Geist({ @@ -42,6 +43,7 @@ export default function RootLayout({ {children} + ); diff --git a/components/ui/sonner.tsx b/components/ui/sonner.tsx new file mode 100644 index 0000000..b295710 --- /dev/null +++ b/components/ui/sonner.tsx @@ -0,0 +1,45 @@ +"use client"; + +import { + CircleCheckIcon, + InfoIcon, + Loader2Icon, + OctagonXIcon, + TriangleAlertIcon, +} from "lucide-react"; +import { useTheme } from "next-themes"; +import { Toaster as Sonner, type ToasterProps } from "sonner"; + +const Toaster = ({ ...props }: ToasterProps) => { + const { theme = "system" } = useTheme(); + + return ( + , + info: , + warning: , + error: , + loading: , + }} + style={ + { + "--normal-bg": "var(--popover)", + "--normal-text": "var(--popover-foreground)", + "--normal-border": "var(--border)", + "--border-radius": "var(--radius)", + } as React.CSSProperties + } + toastOptions={{ + classNames: { + toast: "cn-toast", + }, + }} + {...props} + /> + ); +}; + +export { Toaster }; diff --git a/package.json b/package.json index 8adf770..eca6989 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "react-hook-form": "^7.60.0", "react-resizable-panels": "^2.1.7", "recharts": "2.15.4", - "sonner": "^1.7.4", + "sonner": "2.0.7", "stellar-sdk": "^12.1.0", "tailwind-merge": "^3.3.1", "tailwindcss-animate": "^1.0.7", From 62afcc241de636aca70d81c7f45b7c3b873948f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Carri=C3=B3n?= Date: Sat, 30 May 2026 16:17:21 -0300 Subject: [PATCH 2/2] chore: update package-lock --- package-lock.json | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index d9d92ae..2218e5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,7 +57,8 @@ "react-hook-form": "^7.60.0", "react-resizable-panels": "^2.1.7", "recharts": "2.15.4", - "sonner": "^1.7.4", + "sonner": "2.0.7", + "stellar-sdk": "^12.1.0", "tailwind-merge": "^3.3.1", "tailwindcss-animate": "^1.0.7", "vaul": "^1.1.2", @@ -16558,9 +16559,9 @@ } }, "node_modules/sonner": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.7.4.tgz", - "integrity": "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", + "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", "license": "MIT", "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", @@ -16646,6 +16647,39 @@ "node": ">= 0.6" } }, + "node_modules/stellar-sdk": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/stellar-sdk/-/stellar-sdk-12.3.0.tgz", + "integrity": "sha512-3z7umyuBAHN+vm3zLTKqj7P/bErBFnjrwoanBsNyBHaoek9krUgufNupQSMK67B1p0E2NKD1Z6gYPuZiPfJ2qQ==", + "deprecated": "⚠️ This package has moved to @stellar/stellar-sdk! 🚚", + "license": "Apache-2.0", + "dependencies": { + "@stellar/stellar-base": "^12.1.1", + "axios": "^1.7.7", + "bignumber.js": "^9.1.2", + "eventsource": "^2.0.2", + "randombytes": "^2.1.0", + "toml": "^3.0.0", + "urijs": "^1.19.1" + } + }, + "node_modules/stellar-sdk/node_modules/@stellar/stellar-base": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@stellar/stellar-base/-/stellar-base-12.1.1.tgz", + "integrity": "sha512-gOBSOFDepihslcInlqnxKZdIW9dMUO1tpOm3AtJR33K2OvpXG6SaVHCzAmCFArcCqI9zXTEiSoh70T48TmiHJA==", + "license": "Apache-2.0", + "dependencies": { + "@stellar/js-xdr": "^3.1.2", + "base32.js": "^0.1.0", + "bignumber.js": "^9.1.2", + "buffer": "^6.0.3", + "sha.js": "^2.3.6", + "tweetnacl": "^1.0.3" + }, + "optionalDependencies": { + "sodium-native": "^4.1.1" + } + }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",