diff --git a/.env b/.env
deleted file mode 100644
index 572274e..0000000
--- a/.env
+++ /dev/null
@@ -1 +0,0 @@
-NEXT_PUBLIC_NETWORK=testnet
\ No newline at end of file
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..4d3c330
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,2 @@
+NEXT_PUBLIC_NETWORK=NETWORK
+NEXT_PUBLIC_AUTH_URL=AUTH_ENDPOINT
\ No newline at end of file
diff --git a/components/profile/menu-list.tsx b/components/profile/menu-list.tsx
index 7798888..f4d8d47 100644
--- a/components/profile/menu-list.tsx
+++ b/components/profile/menu-list.tsx
@@ -2,6 +2,9 @@ import { useDisconnectWallet } from '@mysten/dapp-kit';
import { Div } from '@stylin.js/elements';
import { not } from 'ramda';
import { FC, useState } from 'react';
+import { useLocalStorage } from 'usehooks-ts';
+
+import { MEMEZ_FUN_TOKEN_AUTH } from '@/constants';
import {
DocIDSVG,
@@ -20,9 +23,24 @@ import RPCCollapseMenuInfo from './rpc-collapse-info';
const MenuList: FC = () => {
const [isActiveNSFE, setIsActiveNSFE] = useState(false);
const [isRPCMenuOpen, setIsRPCMenuOpen] = useState(false);
+ const { mutate: disconnectWallet } = useDisconnectWallet();
const [isAccountMenuOpen, setIsAccountMenuOpen] = useState(false);
const [isExplorerMenuOpen, setIsExplorerMenuOpen] = useState(false);
- const { mutate: disconnectWallet } = useDisconnectWallet();
+
+ const [, setSignedPM] = useLocalStorage<{
+ signature: string;
+ message: string;
+ cookies?: unknown;
+ }>(MEMEZ_FUN_TOKEN_AUTH, { signature: '', message: '' });
+
+ const handleDisconnectWallet = async () => {
+ setSignedPM({ signature: '', message: '' });
+ await fetch(`${process.env.NEXT_PUBLIC_BASE_URL!}/auth/sign-out`, {
+ method: 'DELETE',
+ credentials: 'include',
+ });
+ disconnectWallet();
+ };
return (
@@ -58,7 +76,7 @@ const MenuList: FC = () => {
Icon={LogoutSVG}
title="Disconnect"
color="#E85965"
- onClick={() => disconnectWallet()}
+ onClick={handleDisconnectWallet}
/>
);
diff --git a/components/profile/profile-info.tsx b/components/profile/profile-info.tsx
index 5743347..6d1678b 100644
--- a/components/profile/profile-info.tsx
+++ b/components/profile/profile-info.tsx
@@ -12,14 +12,16 @@ import { FixedPointMath } from '@/lib/entities/fixed-point-math';
import { BannerProfileSVG, CopySVG } from '../svg';
const ProfileInfo: FC = () => {
- const currentAccount = useCurrentAccount();
const { push } = useRouter();
+ const currentAccount = useCurrentAccount();
const { balance } = useCoinBalance('0x2::sui::SUI', currentAccount?.address);
const copyAddress = () => {
toast.success('Copied!');
- window.navigator.clipboard.writeText('0x2::sui::SUI');
+ window.navigator.clipboard.writeText(
+ formatAddress(currentAccount?.address || '')
+ );
};
return (
@@ -67,10 +69,10 @@ const ProfileInfo: FC = () => {
flexDirection="column"
>
- Name
+ name
- {formatAddress(currentAccount?.address || '')}
+ username
{
const wallets = useWallets();
- const { push } = useRouter();
const { mutateAsync } = useConnectWallet();
const { dialog, handleClose } = useDialog();
@@ -19,11 +16,6 @@ const ConnectModal: FC = () => {
await mutateAsync({ wallet });
};
- const handleSignInNavigation = () => {
- push(RoutesEnum.SignIn);
- handleClose();
- };
-
const handleConnect = (wallet: WalletWithRequiredFeatures) => {
dialog.promise(connectWallet(wallet), {
success: () => ({
@@ -83,60 +75,15 @@ const ConnectModal: FC = () => {
width={['100vw', '33.25rem']}
borderRadius={['1rem 1rem 0 0', '1rem']}
>
-
- {wallets ? 'Select Your Wallet' : 'Go to sign in'}
-
- {wallets ? (
-
- {wallets.map((wallet) => (
- - handleConnect(wallet)}
- >
-
-

-
{wallet.name}
-
- Installed
-
- ))}
-
- ) : (
-
+ Select Your Wallet
+
+ {wallets.map((wallet) => (
- {
border="1px solid transparent"
justifyContent="space-between"
nHover={{ borderColor: '#F5B72280' }}
- onClick={handleSignInNavigation}
+ onClick={() => handleConnect(wallet)}
>
- Sign in
+
+

+
{wallet.name}
+
+ Installed
-
- )}
+ ))}
+
);
};
diff --git a/components/wallet-button/index.tsx b/components/wallet-button/index.tsx
index 1390f85..6d99a11 100644
--- a/components/wallet-button/index.tsx
+++ b/components/wallet-button/index.tsx
@@ -1,16 +1,137 @@
-import { useCurrentAccount } from '@mysten/dapp-kit';
-import { Button, Div } from '@stylin.js/elements';
-import { useRouter } from 'next/router';
-import { FC } from 'react';
+import {
+ useCurrentAccount,
+ useDisconnectWallet,
+ useSignPersonalMessage,
+} from '@mysten/dapp-kit';
+import { Button, Div, Img } from '@stylin.js/elements';
+import { not } from 'ramda';
+import { FC, useEffect, useState } from 'react';
+import { useLocalStorage } from 'usehooks-ts';
+import { v4 } from 'uuid';
-import { WalletSVG } from '@/components/svg';
-import { Routes, RoutesEnum } from '@/constants';
+import { LoaderSVG, MemeZLogoSVG, WalletSVG } from '@/components/svg';
+import { MEMEZ_FUN_TOKEN_AUTH } from '@/constants';
+import { useDialog } from '@/hooks/use-dialog';
import ConnectedModal from './connected-modal';
+import { useConnectModal } from './wallet-button.hook';
const WalletButton: FC = () => {
+ const handleOpenConnectModal = useConnectModal();
const currentAccount = useCurrentAccount();
- const { push } = useRouter();
+ const { mutate: disconnectWallet } = useDisconnectWallet();
+ const [signing, setSigning] = useState(false);
+ const { dialog, handleClose } = useDialog();
+ const { mutate: signPersonalMessage } = useSignPersonalMessage();
+ const [signedPM, setSignedPM] = useLocalStorage<{
+ signature: string;
+ message: string;
+ }>(MEMEZ_FUN_TOKEN_AUTH, { signature: '', message: '' });
+
+ const handleConnectWallet = () => {
+ handleOpenConnectModal();
+ };
+
+ useEffect(() => {
+ if (signedPM.signature || signedPM.message || !currentAccount) return;
+
+ const newMessage = v4();
+
+ signPersonalMessage(
+ {
+ message: new TextEncoder().encode(newMessage),
+ },
+ {
+ onSuccess: (result) => {
+ setSigning(not);
+ setSignedPM({
+ signature: result.signature,
+ message: newMessage,
+ });
+ },
+ onError: () => disconnectWallet(),
+ }
+ );
+ }, [currentAccount]);
+
+ useEffect(() => {
+ if (!signedPM.signature || !signedPM.message || !currentAccount || !signing)
+ return;
+ const signIn = async () => {
+ await fetch(`${process.env.NEXT_PUBLIC_BASE_URL!}/auth/sign-in`, {
+ method: 'POST',
+ credentials: 'include',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ message: signedPM.message,
+ signature: signedPM.signature,
+ address: currentAccount.address,
+ }),
+ })
+ .then(async (res) => {
+ if (!res.ok) {
+ disconnectWallet();
+ throw new Error('signin error');
+ }
+
+ console.log(res.headers.getSetCookie(), '>>>res');
+ })
+ .catch(() => {
+ disconnectWallet();
+ setSignedPM({
+ signature: '',
+ message: '',
+ });
+ });
+ setSigning(not);
+ };
+
+ dialog.promise(signIn(), {
+ success: () => ({
+ timeout: 10000,
+ title: 'Sign in!',
+ button: { label: 'Continue browsing', onClick: handleClose },
+ message: 'Signin successfully',
+ Icon: (
+
+
+
+ ),
+ }),
+ loading: () => ({
+ Icon: ,
+ title: 'Signing...',
+ message: 'Hang tight! Signing. Please wait',
+ }),
+ error: (e) => ({
+ title: 'Oops! You could not Connect!',
+ button: { label: 'Try again', onClick: () => signIn() },
+ message:
+ e.message ||
+ 'Sigin-in failed. Try to refresh the page, double-check your inputs, or reconnect your wallet.',
+ ghostButton: {
+ label: 'Do not want to connect my wallet',
+ onClick: handleClose,
+ },
+ Icon: (
+
+ ),
+ }),
+ });
+ }, [signing]);
if (currentAccount) return ;
@@ -36,7 +157,7 @@ const WalletButton: FC = () => {
color: '#0a090d',
backgroundColor: '#F6C853',
}}
- onClick={() => push(Routes[RoutesEnum.SignIn])}
+ onClick={handleConnectWallet}
>
diff --git a/constants/index.ts b/constants/index.ts
index dadc0b8..4b589b5 100644
--- a/constants/index.ts
+++ b/constants/index.ts
@@ -3,3 +3,5 @@ export * from './math';
export * from './network';
export * from './routes';
export const DROPDOWN_DATA = ['Days', 'Weeks', 'Months'];
+
+export const MEMEZ_FUN_TOKEN_AUTH = 'MEMEZ_FUN_TOKEN_AUTH';
diff --git a/constants/routes.ts b/constants/routes.ts
index 8f88f23..75a9221 100644
--- a/constants/routes.ts
+++ b/constants/routes.ts
@@ -1,7 +1,6 @@
export enum RoutesEnum {
Home = 'home',
CreateCoin = 'create-coin',
- SignIn = 'sign-in',
CreateProfile = 'create-profile',
Profile = 'profile',
}
@@ -10,6 +9,5 @@ export const Routes: Record
= {
[RoutesEnum.CreateProfile]: '/create-profile',
[RoutesEnum.Profile]: '/profile',
[RoutesEnum.CreateCoin]: '/create-coin',
- [RoutesEnum.SignIn]: '/sign-in',
[RoutesEnum.Home]: '/',
};
diff --git a/hooks/use-cookie/index.ts b/hooks/use-cookie/index.ts
new file mode 100644
index 0000000..1554617
--- /dev/null
+++ b/hooks/use-cookie/index.ts
@@ -0,0 +1,36 @@
+import { useState } from 'react';
+const setCookie = (name: string, value: string, days: number) => {
+ const expires = new Date();
+ expires.setTime(expires.getTime() + days * 24 * 60 * 60 * 1000);
+ document.cookie = `${name}=${value}; expires=${expires.toUTCString()}; path=/`;
+};
+
+const getCookie = (name: string): string | null => {
+ const value = `; ${document.cookie}`;
+ const parts = value.split(`; ${name}=`);
+ if (parts.length === 2) return parts.pop()?.split(';').shift() || null;
+ return null;
+};
+
+const deleteCookie = (name: string) => {
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`;
+};
+
+export const useCookie = (name: string) => {
+ const [cookie, setCookieState] = useState(() =>
+ getCookie(name)
+ );
+
+ const set = (value: string, days: number = 365) => {
+ setCookie(name, value, days);
+ setCookieState(value);
+ };
+
+ const remove = () => {
+ deleteCookie(name);
+ setCookieState(null);
+ console.log('removed');
+ };
+
+ return { cookie, set, remove } as const;
+};
diff --git a/interface/index.ts b/interface/index.ts
index ed6ad76..1f1cd64 100644
--- a/interface/index.ts
+++ b/interface/index.ts
@@ -11,3 +11,13 @@ export interface TimedSuiTransactionBlockResponse
extends SuiTransactionBlockResponse {
time: number;
}
+
+export interface CreateProfileFormProps {
+ email: string;
+ imageUrl: string;
+ username: string;
+ firstName: string;
+ lastName: string;
+ password: string;
+ description: string;
+}
diff --git a/package.json b/package.json
index d3f5a9f..de4d1ac 100644
--- a/package.json
+++ b/package.json
@@ -19,6 +19,7 @@
"@stylin.js/react": "^1.1.1",
"@tanstack/react-query": "^5.67.3",
"@types/ramda": "^0.30.2",
+ "axios": "^1.8.4",
"bignumber.js": "^9.1.2",
"colorthief": "^2.6.0",
"decimal.js-light": "^2.5.1",
@@ -71,5 +72,6 @@
"engines": {
"node": ">=18.17"
},
+ "proxy": "https://apimemezfun-staging.up.railway.app",
"packageManager": "pnpm@9.1.0+sha512.67f5879916a9293e5cf059c23853d571beaf4f753c707f40cb22bed5fb1578c6aad3b6c4107ccb3ba0b35be003eb621a16471ac836c87beb53f9d54bb4612724"
}
diff --git a/pages/_document.tsx b/pages/_document.tsx
index 9a68613..1bbfe76 100644
--- a/pages/_document.tsx
+++ b/pages/_document.tsx
@@ -2,7 +2,12 @@ import { Head, Html, Main, NextScript } from 'next/document';
const Document = () => (
-
+
+
+
diff --git a/pages/create-profile.tsx b/pages/create-profile.tsx
deleted file mode 100644
index 4dc3762..0000000
--- a/pages/create-profile.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { yupResolver } from '@hookform/resolvers/yup';
-import { NextPage } from 'next';
-import { FormProvider, useForm } from 'react-hook-form';
-
-import { SEO } from '@/components';
-import CreateProfile from '@/views/create-profile';
-import { CreateProfileFormProps } from '@/views/create-profile/create-profile.types';
-import { CreateProfileValidationSchema } from '@/views/create-profile/create-profile-validation';
-
-const CreateProfilePage: NextPage = () => {
- const form = useForm({
- mode: 'onBlur',
- reValidateMode: 'onBlur',
- resolver: yupResolver(CreateProfileValidationSchema),
- defaultValues: {
- email: '',
- firstName: '',
- lastName: '',
- username: '',
- password: '',
- imageUrl: '',
- description: '',
- },
- });
-
- return (
-
-
-
-
- );
-};
-
-export default CreateProfilePage;
diff --git a/pages/profile/create.tsx b/pages/profile/create.tsx
deleted file mode 100644
index 72eff02..0000000
--- a/pages/profile/create.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { yupResolver } from '@hookform/resolvers/yup';
-import { NextPage } from 'next';
-import { FormProvider, useForm } from 'react-hook-form';
-
-import { SEO } from '@/components';
-import CreateProfile from '@/views/create-profile';
-import { CreateProfileFormProps } from '@/views/create-profile/create-profile.types';
-import { CreateProfileValidationSchema } from '@/views/create-profile/create-profile-validation';
-
-const CreateProfilePage: NextPage = () => {
- const form = useForm({
- mode: 'onBlur',
- reValidateMode: 'onBlur',
- resolver: yupResolver(CreateProfileValidationSchema),
- defaultValues: {},
- });
-
- return (
-
-
-
-
- );
-};
-
-export default CreateProfilePage;
diff --git a/pages/sign-in.tsx b/pages/sign-in.tsx
deleted file mode 100644
index 92cfe50..0000000
--- a/pages/sign-in.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { yupResolver } from '@hookform/resolvers/yup';
-import { NextPage } from 'next';
-import { FormProvider, useForm } from 'react-hook-form';
-
-import { SEO } from '@/components';
-import SignIn from '@/views/sign-in';
-import { SignInFormProps } from '@/views/sign-in/sign-in.types';
-import { SignInValidationSchema } from '@/views/sign-in/sign-in-validations';
-
-const SignInPage: NextPage = () => {
- const form = useForm({
- mode: 'onBlur',
- reValidateMode: 'onBlur',
- resolver: yupResolver(SignInValidationSchema),
- defaultValues: {
- username: '',
- password: '',
- },
- });
-
- return (
-
-
-
-
- );
-};
-
-export default SignInPage;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1603145..ea2f463 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,10 +13,10 @@ importers:
version: 11.14.0(@types/react@18.3.18)(react@18.3.1)
'@hookform/resolvers':
specifier: ^4.1.3
- version: 4.1.3(react-hook-form@7.54.2)
+ version: 4.1.3(react-hook-form@7.54.2(react@18.3.1))
'@mysten/dapp-kit':
specifier: ^0.14.53
- version: 0.14.53(@tanstack/react-query@5.68.0)(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.2)
+ version: 0.14.53(@tanstack/react-query@5.68.0(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2)
'@mysten/sui':
specifier: ^1.24.0
version: 1.24.0(typescript@5.8.2)
@@ -35,6 +35,9 @@ importers:
'@types/ramda':
specifier: ^0.30.2
version: 0.30.2
+ axios:
+ specifier: ^1.8.4
+ version: 1.8.4
bignumber.js:
specifier: ^9.1.2
version: 9.1.2
@@ -46,13 +49,13 @@ importers:
version: 2.5.1
framer-motion:
specifier: ^12.5.0
- version: 12.5.0(react-dom@18.3.1)(react@18.3.1)
+ version: 12.5.0(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
motion:
specifier: ^12.5.0
- version: 12.5.0(react-dom@18.3.1)(react@18.3.1)
+ version: 12.5.0(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: 14.0.3
- version: 14.0.3(react-dom@18.3.1)(react@18.3.1)
+ version: 14.0.3(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
prettier:
specifier: ^3.1.0
version: 3.5.3
@@ -64,7 +67,7 @@ importers:
version: 18.3.1
react-countdown:
specifier: ^2.3.6
- version: 2.3.6(react-dom@18.3.1)(react@18.3.1)
+ version: 2.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-dom:
specifier: ^18.2.0
version: 18.3.1(react@18.3.1)
@@ -73,13 +76,13 @@ importers:
version: 7.54.2(react@18.3.1)
react-hot-toast:
specifier: ^2.5.2
- version: 2.5.2(react-dom@18.3.1)(react@18.3.1)
+ version: 2.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-image-file-resizer:
specifier: ^0.4.8
version: 0.4.8
react-range:
specifier: ^1.10.0
- version: 1.10.0(react-dom@18.3.1)(react@18.3.1)
+ version: 1.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-responsive-carousel:
specifier: ^3.2.23
version: 3.2.23
@@ -103,7 +106,7 @@ importers:
version: 1.4.0
zustand:
specifier: ^5.0.3
- version: 5.0.3(@types/react@18.3.18)(react@18.3.1)
+ version: 5.0.3(@types/react@18.3.18)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1))
devDependencies:
'@emotion/eslint-plugin':
specifier: ^11.11.0
@@ -119,7 +122,7 @@ importers:
version: 18.3.5(@types/react@18.3.18)
'@typescript-eslint/eslint-plugin':
specifier: ^6.12.0
- version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.8.2)
+ version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)
'@typescript-eslint/parser':
specifier: ^6.12.0
version: 6.21.0(eslint@8.57.1)(typescript@5.8.2)
@@ -140,16 +143,16 @@ importers:
version: 9.1.0(eslint@8.57.1)
eslint-import-resolver-alias:
specifier: ^1.1.2
- version: 1.1.2(eslint-plugin-import@2.31.0)
+ version: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))
eslint-plugin-import:
specifier: ^2.29.0
- version: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
+ version: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
eslint-plugin-jsx-a11y:
specifier: ^6.8.0
version: 6.10.2(eslint@8.57.1)
eslint-plugin-prettier:
specifier: ^5.0.1
- version: 5.2.3(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.5.3)
+ version: 5.2.3(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.5.3)
eslint-plugin-react:
specifier: ^7.33.2
version: 7.37.4(eslint@8.57.1)
@@ -161,7 +164,7 @@ importers:
version: 10.0.0(eslint@8.57.1)
eslint-plugin-unused-imports:
specifier: ^3.0.0
- version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1)
+ version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)
husky:
specifier: ^8.0.0
version: 8.0.3
@@ -1262,6 +1265,9 @@ packages:
resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
engines: {node: '>= 0.4'}
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -1270,6 +1276,9 @@ packages:
resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==}
engines: {node: '>=4'}
+ axios@1.8.4:
+ resolution: {integrity: sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==}
+
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
@@ -1381,6 +1390,10 @@ packages:
colorthief@2.6.0:
resolution: {integrity: sha512-yL3B7laeOr4kH9XasFF5rl+9Taz+Pmt/CRbaTI6XepZFyQvk4K/abaGKIAsngVpxKkgFeoJ2IwdRpS228icrig==}
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
commander@12.1.0:
resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
engines: {node: '>=18'}
@@ -1531,6 +1544,10 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1862,10 +1879,23 @@ packages:
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
+ form-data@4.0.2:
+ resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
+ engines: {node: '>= 6'}
+
framer-motion@12.5.0:
resolution: {integrity: sha512-buPlioFbH9/W7rDzYh1C09AuZHAk2D1xTA1BlounJ2Rb9aRg84OXexP0GLd+R83v0khURdMX7b5MKnGTaSg5iA==}
peerDependencies:
@@ -2414,6 +2444,14 @@ packages:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -2684,6 +2722,9 @@ packages:
property-expr@2.0.6:
resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -3381,7 +3422,7 @@ packages:
snapshots:
'@0no-co/graphql.web@1.1.2(graphql@16.10.0)':
- dependencies:
+ optionalDependencies:
graphql: 16.10.0
'@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.8.2)':
@@ -3503,7 +3544,7 @@ snapshots:
'@commitlint/types': 18.6.1
chalk: 4.1.2
cosmiconfig: 8.3.6(typescript@5.8.2)
- cosmiconfig-typescript-loader: 5.1.0(@types/node@20.17.24)(cosmiconfig@8.3.6)(typescript@5.8.2)
+ cosmiconfig-typescript-loader: 5.1.0(@types/node@20.17.24)(cosmiconfig@8.3.6(typescript@5.8.2))(typescript@5.8.2)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@@ -3612,9 +3653,10 @@ snapshots:
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
'@emotion/utils': 1.4.2
'@emotion/weak-memoize': 0.4.0
- '@types/react': 18.3.18
hoist-non-react-statics: 3.3.2
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
transitivePeerDependencies:
- supports-color
@@ -3628,7 +3670,7 @@ snapshots:
'@emotion/sheet@1.4.0': {}
- '@emotion/styled@11.14.0(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1)':
+ '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.10
'@emotion/babel-plugin': 11.13.5
@@ -3637,8 +3679,9 @@ snapshots:
'@emotion/serialize': 1.3.3
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
'@emotion/utils': 1.4.2
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
transitivePeerDependencies:
- supports-color
@@ -3684,7 +3727,7 @@ snapshots:
'@floating-ui/core': 1.6.9
'@floating-ui/utils': 0.2.9
- '@floating-ui/react-dom@2.1.2(react-dom@18.3.1)(react@18.3.1)':
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/dom': 1.6.13
react: 18.3.1
@@ -3703,7 +3746,7 @@ snapshots:
dependencies:
'@gitmoji/gitmoji-regex': 1.0.0
- '@gql.tada/cli-utils@1.6.3(@0no-co/graphqlsp@1.12.16)(graphql@16.10.0)(typescript@5.8.2)':
+ '@gql.tada/cli-utils@1.6.3(@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.8.2))(graphql@16.10.0)(typescript@5.8.2)':
dependencies:
'@0no-co/graphqlsp': 1.12.16(graphql@16.10.0)(typescript@5.8.2)
'@gql.tada/internal': 1.0.8(graphql@16.10.0)(typescript@5.8.2)
@@ -3720,7 +3763,7 @@ snapshots:
dependencies:
graphql: 16.10.0
- '@hookform/resolvers@4.1.3(react-hook-form@7.54.2)':
+ '@hookform/resolvers@4.1.3(react-hook-form@7.54.2(react@18.3.1))':
dependencies:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.54.2(react@18.3.1)
@@ -3835,18 +3878,18 @@ snapshots:
dependencies:
'@scure/base': 1.2.4
- '@mysten/dapp-kit@0.14.53(@tanstack/react-query@5.68.0)(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)(typescript@5.8.2)':
+ '@mysten/dapp-kit@0.14.53(@tanstack/react-query@5.68.0(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.2)':
dependencies:
'@mysten/sui': 1.24.0(typescript@5.8.2)
'@mysten/wallet-standard': 0.13.29(typescript@5.8.2)
'@mysten/zksend': 0.12.19(typescript@5.8.2)
- '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-dropdown-menu': 2.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-dropdown-menu': 2.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1)
'@tanstack/react-query': 5.68.0(react@18.3.1)
- '@vanilla-extract/css': 1.17.1
+ '@vanilla-extract/css': 1.17.1(babel-plugin-macros@3.1.0)
'@vanilla-extract/dynamic': 2.1.2
- '@vanilla-extract/recipes': 0.5.5(@vanilla-extract/css@1.17.1)
+ '@vanilla-extract/recipes': 0.5.5(@vanilla-extract/css@1.17.1(babel-plugin-macros@3.1.0))
clsx: 2.1.1
react: 18.3.1
zustand: 4.5.6(@types/react@18.3.18)(react@18.3.1)
@@ -3956,231 +3999,255 @@ snapshots:
'@radix-ui/primitive@1.1.1': {}
- '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-collection@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-collection@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
'@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
- '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.1
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
'@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
- '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.1
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-dropdown-menu@2.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-dropdown-menu@2.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.1
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-menu': 2.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
'@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
- '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
'@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
- '@radix-ui/react-menu@2.1.6(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-menu@2.1.6(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-remove-scroll: 2.6.3(@types/react@18.3.18)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/rect': 1.1.0
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/react-slot': 1.1.2(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
- '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)':
+ '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.1
- '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5)(@types/react@18.3.18)(react-dom@18.3.1)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
'@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
- '@types/react-dom': 18.3.5(@types/react@18.3.18)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
+ '@types/react-dom': 18.3.5(@types/react@18.3.18)
'@radix-ui/react-slot@1.1.2(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-rect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/rect': 1.1.0
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
- '@types/react': 18.3.18
react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.18
'@radix-ui/rect@1.1.0': {}
@@ -4203,7 +4270,7 @@ snapshots:
'@standard-schema/utils@0.3.0': {}
- '@stylin.js/core@1.0.2(@emotion/react@11.14.0)':
+ '@stylin.js/core@1.0.2(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))':
dependencies:
'@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
@@ -4218,8 +4285,8 @@ snapshots:
'@stylin.js/react@1.1.1(@types/react@18.3.18)(react@18.3.1)':
dependencies:
'@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1)
- '@emotion/styled': 11.14.0(@emotion/react@11.14.0)(@types/react@18.3.18)(react@18.3.1)
- '@stylin.js/core': 1.0.2(@emotion/react@11.14.0)
+ '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)
+ '@stylin.js/core': 1.0.2(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))
transitivePeerDependencies:
- '@types/react'
- react
@@ -4271,7 +4338,7 @@ snapshots:
'@types/semver@7.5.8': {}
- '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.8.2)':
+ '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2)
@@ -4286,6 +4353,7 @@ snapshots:
natural-compare: 1.4.0
semver: 7.7.1
ts-api-utils: 1.4.3(typescript@5.8.2)
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4298,6 +4366,7 @@ snapshots:
'@typescript-eslint/visitor-keys': 6.21.0
debug: 4.4.0
eslint: 8.57.1
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4319,6 +4388,7 @@ snapshots:
debug: 4.4.0
eslint: 8.57.1
ts-api-utils: 1.4.3(typescript@5.8.2)
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4336,6 +4406,7 @@ snapshots:
is-glob: 4.0.3
semver: 7.7.1
tsutils: 3.21.0(typescript@5.8.2)
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4350,6 +4421,7 @@ snapshots:
minimatch: 9.0.3
semver: 7.7.1
ts-api-utils: 1.4.3(typescript@5.8.2)
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- supports-color
@@ -4395,14 +4467,14 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@vanilla-extract/css@1.17.1':
+ '@vanilla-extract/css@1.17.1(babel-plugin-macros@3.1.0)':
dependencies:
'@emotion/hash': 0.9.2
'@vanilla-extract/private': 1.0.6
css-what: 6.1.0
cssesc: 3.0.0
csstype: 3.1.3
- dedent: 1.5.3
+ dedent: 1.5.3(babel-plugin-macros@3.1.0)
deep-object-diff: 1.1.9
deepmerge: 4.3.1
lru-cache: 10.4.3
@@ -4418,9 +4490,9 @@ snapshots:
'@vanilla-extract/private@1.0.6': {}
- '@vanilla-extract/recipes@0.5.5(@vanilla-extract/css@1.17.1)':
+ '@vanilla-extract/recipes@0.5.5(@vanilla-extract/css@1.17.1(babel-plugin-macros@3.1.0))':
dependencies:
- '@vanilla-extract/css': 1.17.1
+ '@vanilla-extract/css': 1.17.1(babel-plugin-macros@3.1.0)
'@wallet-standard/app@1.1.0':
dependencies:
@@ -4574,12 +4646,22 @@ snapshots:
async-function@1.0.0: {}
+ asynckit@0.4.0: {}
+
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.1.0
axe-core@4.10.3: {}
+ axios@1.8.4:
+ dependencies:
+ follow-redirects: 1.15.9
+ form-data: 4.0.2
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
axobject-query@4.1.0: {}
babel-plugin-macros@3.1.0:
@@ -4698,6 +4780,10 @@ snapshots:
ndarray-pixels: 4.1.0
sharp: 0.33.5
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
commander@12.1.0: {}
commander@13.1.0: {}
@@ -4743,7 +4829,7 @@ snapshots:
convert-source-map@1.9.0: {}
- cosmiconfig-typescript-loader@5.1.0(@types/node@20.17.24)(cosmiconfig@8.3.6)(typescript@5.8.2):
+ cosmiconfig-typescript-loader@5.1.0(@types/node@20.17.24)(cosmiconfig@8.3.6(typescript@5.8.2))(typescript@5.8.2):
dependencies:
'@types/node': 20.17.24
cosmiconfig: 8.3.6(typescript@5.8.2)
@@ -4764,6 +4850,7 @@ snapshots:
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
+ optionalDependencies:
typescript: 5.8.2
cross-spawn@7.0.6:
@@ -4821,7 +4908,9 @@ snapshots:
decimal.js-light@2.5.1: {}
- dedent@1.5.3: {}
+ dedent@1.5.3(babel-plugin-macros@3.1.0):
+ optionalDependencies:
+ babel-plugin-macros: 3.1.0
deep-is@0.1.4: {}
@@ -4841,6 +4930,8 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
+ delayed-stream@1.0.0: {}
+
dequal@2.0.3: {}
detect-libc@2.0.3: {}
@@ -4996,10 +5087,11 @@ snapshots:
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.8.7(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.4(eslint@8.57.1)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
+ optionalDependencies:
typescript: 5.8.2
transitivePeerDependencies:
- eslint-import-resolver-webpack
@@ -5010,9 +5102,9 @@ snapshots:
dependencies:
eslint: 8.57.1
- eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0):
+ eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)):
dependencies:
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -5028,28 +5120,29 @@ snapshots:
debug: 4.4.0
enhanced-resolve: 5.18.1
eslint: 8.57.1
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
get-tsconfig: 4.10.0
is-bun-module: 1.3.0
stable-hash: 0.0.4
tinyglobby: 0.2.12
+ optionalDependencies:
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.7(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1):
dependencies:
- '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2)
debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.8.7(eslint-plugin-import@2.31.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
- '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2)
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.3
@@ -5058,7 +5151,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.7)(eslint@8.57.1)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.7(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -5069,6 +5162,8 @@ snapshots:
semver: 6.3.1
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -5093,13 +5188,14 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
- eslint-plugin-prettier@5.2.3(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@3.5.3):
+ eslint-plugin-prettier@5.2.3(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.5.3):
dependencies:
eslint: 8.57.1
- eslint-config-prettier: 9.1.0(eslint@8.57.1)
prettier: 3.5.3
prettier-linter-helpers: 1.0.0
synckit: 0.9.2
+ optionalDependencies:
+ eslint-config-prettier: 9.1.0(eslint@8.57.1)
eslint-plugin-react-hooks@4.6.2(eslint@8.57.1):
dependencies:
@@ -5131,11 +5227,12 @@ snapshots:
dependencies:
eslint: 8.57.1
- eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1):
+ eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1):
dependencies:
- '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.8.2)
eslint: 8.57.1
eslint-rule-composer: 0.3.0
+ optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)
eslint-rule-composer@0.3.0: {}
@@ -5267,7 +5364,7 @@ snapshots:
reusify: 1.1.0
fdir@6.4.3(picomatch@4.0.2):
- dependencies:
+ optionalDependencies:
picomatch: 4.0.2
file-entry-cache@6.0.1:
@@ -5304,17 +5401,28 @@ snapshots:
flatted@3.3.3: {}
+ follow-redirects@1.15.9: {}
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- framer-motion@12.5.0(react-dom@18.3.1)(react@18.3.1):
+ form-data@4.0.2:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ mime-types: 2.1.35
+
+ framer-motion@12.5.0(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
motion-dom: 12.5.0
motion-utils: 12.5.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@emotion/is-prop-valid': 1.3.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- tslib: 2.8.1
fs.realpath@1.0.0: {}
@@ -5441,7 +5549,7 @@ snapshots:
dependencies:
'@0no-co/graphql.web': 1.1.2(graphql@16.10.0)
'@0no-co/graphqlsp': 1.12.16(graphql@16.10.0)(typescript@5.8.2)
- '@gql.tada/cli-utils': 1.6.3(@0no-co/graphqlsp@1.12.16)(graphql@16.10.0)(typescript@5.8.2)
+ '@gql.tada/cli-utils': 1.6.3(@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.8.2))(graphql@16.10.0)(typescript@5.8.2)
'@gql.tada/internal': 1.0.8(graphql@16.10.0)(typescript@5.8.2)
typescript: 5.8.2
transitivePeerDependencies:
@@ -5838,6 +5946,12 @@ snapshots:
braces: 3.0.3
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
mimic-fn@2.1.0: {}
mimic-fn@4.0.0: {}
@@ -5872,12 +5986,14 @@ snapshots:
motion-utils@12.5.0: {}
- motion@12.5.0(react-dom@18.3.1)(react@18.3.1):
+ motion@12.5.0(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- framer-motion: 12.5.0(react-dom@18.3.1)(react@18.3.1)
+ framer-motion: 12.5.0(@emotion/is-prop-valid@1.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@emotion/is-prop-valid': 1.3.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- tslib: 2.8.1
ms@2.1.3: {}
@@ -5903,7 +6019,7 @@ snapshots:
iota-array: 1.0.0
is-buffer: 1.1.6
- next@14.0.3(react-dom@18.3.1)(react@18.3.1):
+ next@14.0.3(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.0.3
'@swc/helpers': 0.5.2
@@ -5912,7 +6028,7 @@ snapshots:
postcss: 8.4.31
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.1(react@18.3.1)
+ styled-jsx: 5.1.1(babel-plugin-macros@3.1.0)(react@18.3.1)
watchpack: 2.4.0
optionalDependencies:
'@next/swc-darwin-arm64': 14.0.3
@@ -6101,6 +6217,8 @@ snapshots:
property-expr@2.0.6: {}
+ proxy-from-env@1.1.0: {}
+
punycode@2.3.1: {}
queue-microtask@1.2.3: {}
@@ -6109,7 +6227,7 @@ snapshots:
ramda@0.30.1: {}
- react-countdown@2.3.6(react-dom@18.3.1)(react@18.3.1):
+ react-countdown@2.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
prop-types: 15.8.1
react: 18.3.1
@@ -6129,7 +6247,7 @@ snapshots:
dependencies:
react: 18.3.1
- react-hot-toast@2.5.2(react-dom@18.3.1)(react@18.3.1):
+ react-hot-toast@2.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
csstype: 3.1.3
goober: 2.1.16(csstype@3.1.3)
@@ -6140,27 +6258,29 @@ snapshots:
react-is@16.13.1: {}
- react-range@1.10.0(react-dom@18.3.1)(react@18.3.1):
+ react-range@1.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-remove-scroll-bar@2.3.8(@types/react@18.3.18)(react@18.3.1):
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1)
tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.18
react-remove-scroll@2.6.3(@types/react@18.3.18)(react@18.3.1):
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
react-remove-scroll-bar: 2.3.8(@types/react@18.3.18)(react@18.3.1)
react-style-singleton: 2.2.3(@types/react@18.3.18)(react@18.3.1)
tslib: 2.8.1
use-callback-ref: 1.3.3(@types/react@18.3.18)(react@18.3.1)
use-sidecar: 1.1.3(@types/react@18.3.18)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.18
react-responsive-carousel@3.2.23:
dependencies:
@@ -6170,10 +6290,11 @@ snapshots:
react-style-singleton@2.2.3(@types/react@18.3.18)(react@18.3.1):
dependencies:
- '@types/react': 18.3.18
get-nonce: 1.0.1
react: 18.3.1
tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.18
react@18.3.1:
dependencies:
@@ -6538,10 +6659,12 @@ snapshots:
'@tokenizer/token': 0.3.0
peek-readable: 4.1.0
- styled-jsx@5.1.1(react@18.3.1):
+ styled-jsx@5.1.1(babel-plugin-macros@3.1.0)(react@18.3.1):
dependencies:
client-only: 0.0.1
react: 18.3.1
+ optionalDependencies:
+ babel-plugin-macros: 3.1.0
stylis@4.2.0: {}
@@ -6690,16 +6813,18 @@ snapshots:
use-callback-ref@1.3.3(@types/react@18.3.18)(react@18.3.1):
dependencies:
- '@types/react': 18.3.18
react: 18.3.1
tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.18
use-sidecar@1.1.3(@types/react@18.3.18)(react@18.3.1):
dependencies:
- '@types/react': 18.3.18
detect-node-es: 1.1.0
react: 18.3.1
tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.18
use-sync-external-store@1.4.0(react@18.3.1):
dependencies:
@@ -6820,11 +6945,13 @@ snapshots:
zustand@4.5.6(@types/react@18.3.18)(react@18.3.1):
dependencies:
+ use-sync-external-store: 1.4.0(react@18.3.1)
+ optionalDependencies:
'@types/react': 18.3.18
react: 18.3.1
- use-sync-external-store: 1.4.0(react@18.3.1)
- zustand@5.0.3(@types/react@18.3.18)(react@18.3.1):
- dependencies:
+ zustand@5.0.3(@types/react@18.3.18)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)):
+ optionalDependencies:
'@types/react': 18.3.18
react: 18.3.1
+ use-sync-external-store: 1.4.0(react@18.3.1)
diff --git a/views/create-profile/create-profile-button.tsx b/views/create-profile/create-profile-button.tsx
deleted file mode 100644
index 742e08f..0000000
--- a/views/create-profile/create-profile-button.tsx
+++ /dev/null
@@ -1,124 +0,0 @@
-import { Button, Div, Span } from '@stylin.js/elements';
-import { useRouter } from 'next/router';
-import { FC } from 'react';
-import { useFormContext } from 'react-hook-form';
-
-import DialogCountdown from '@/components/dialog/dialog-countdown';
-import { LoaderSVG } from '@/components/svg';
-import { Routes, RoutesEnum } from '@/constants';
-import { useDialog } from '@/hooks/use-dialog';
-
-import { CreateProfileFormProps } from './create-profile.types';
-
-const CreateProfileButton: FC = () => {
- const { trigger } = useFormContext();
-
- const { dialog, handleClose } = useDialog();
- const { push } = useRouter();
- const handleCreateProfile = async () => {
- return new Promise((resolve, reject) => {
- setTimeout(() => {
- const isSuccess = Math.random() > 0.5;
- if (isSuccess) {
- handleClose();
- resolve('success');
- return;
- }
- reject('Error');
- }, 1000);
- });
- };
-
- const handleAuth = async () => {
- const isValid = await trigger();
-
- if (!isValid) return;
-
- await dialog.promise(handleCreateProfile(), {
- success: () => ({
- title: 'Account created',
- message: 'Account successfully created',
- button: (
-
- ),
- ghostButton: (
-
- ),
- }),
- loading: () => ({
- Icon: ,
- title: 'Creating...',
- message: 'Creating an account...',
- }),
- error: (e) => ({
- title: 'Oops! You can not create an account!',
- button: { label: 'Try again', onClick: handleClose },
- message: (
- e.message || 'Make sure you fill every field correctly and try again.'
- ).replace('Invariant failed: ', ''),
- ghostButton: {
- label: 'Do not want to try again!',
- onClick: handleClose,
- },
- }),
- });
- };
-
- return (
-
-
-
- );
-};
-
-export default CreateProfileButton;
diff --git a/views/create-profile/create-profile-validation.ts b/views/create-profile/create-profile-validation.ts
deleted file mode 100644
index 0654f75..0000000
--- a/views/create-profile/create-profile-validation.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as yup from 'yup';
-
-export const CreateProfileValidationSchema = yup.object({
- firstName: yup.string().required('First name is required'),
- lastName: yup.string().required('Last name is required'),
- username: yup.string().required('Username is required'),
- email: yup
- .string()
- .email('Invalid email format')
- .required('Email is required'),
- imageUrl: yup.string().required('Avatar is required'),
- password: yup.string().required('Password is required'),
- description: yup
- .string()
- .min(80, 'Must be at least 80 characters')
- .required('Description is required'),
-});
diff --git a/views/create-profile/create-profile.types.ts b/views/create-profile/create-profile.types.ts
deleted file mode 100644
index dad9624..0000000
--- a/views/create-profile/create-profile.types.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export interface CreateProfileFormProps {
- email: string;
- imageUrl: string;
- username: string;
- firstName: string;
- lastName: string;
- password: string;
- description: string;
-}
diff --git a/views/create-profile/index.tsx b/views/create-profile/index.tsx
deleted file mode 100644
index 9837c0d..0000000
--- a/views/create-profile/index.tsx
+++ /dev/null
@@ -1,112 +0,0 @@
-import { Div, H1, P } from '@stylin.js/elements';
-import { FC } from 'react';
-import { useFormContext } from 'react-hook-form';
-
-import InputField from '@/components/input-field';
-import Layout from '@/components/layout';
-import UploadImage from '@/components/upload-image';
-
-import { CreateProfileFormProps } from './create-profile.types';
-import CreateProfileButton from './create-profile-button';
-
-const CreateProfile: FC = () => {
- const {
- register,
- formState: { errors },
- } = useFormContext();
-
- return (
-
-
-
-
- Create profile
-
-
-
-
-
-
- Basic Details
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default CreateProfile;
diff --git a/views/home/index.tsx b/views/home/index.tsx
index 4c2683d..43e91bc 100644
--- a/views/home/index.tsx
+++ b/views/home/index.tsx
@@ -16,7 +16,7 @@ import { CARDS } from './card.data';
const Home: FC = () => {
const { push } = useRouter();
- const handleCreateCoinButtonClick = () => push(Routes[RoutesEnum.CreateCoin]);
+ const handleCreateCoinButtonClick = () => push(Routes[RoutesEnum.Home]);
return (
diff --git a/views/profile/edit-profile-modal/edit-profile-modal-button.tsx b/views/profile/edit-profile-modal/edit-profile-modal-button.tsx
index 845c95a..fa0ecbb 100644
--- a/views/profile/edit-profile-modal/edit-profile-modal-button.tsx
+++ b/views/profile/edit-profile-modal/edit-profile-modal-button.tsx
@@ -7,7 +7,7 @@ import DialogCountdown from '@/components/dialog/dialog-countdown';
import { LoaderSVG } from '@/components/svg';
import { Routes, RoutesEnum } from '@/constants';
import { useDialog } from '@/hooks/use-dialog';
-import { CreateProfileFormProps } from '@/views/create-profile/create-profile.types';
+import { CreateProfileFormProps } from '@/interface';
const EditProfileModalButton: FC = () => {
const { trigger } = useFormContext();
diff --git a/views/profile/edit-profile-modal/edit-profile-modal.types.ts b/views/profile/edit-profile-modal/edit-profile-modal.types.ts
index d7b1d1c..c5f9739 100644
--- a/views/profile/edit-profile-modal/edit-profile-modal.types.ts
+++ b/views/profile/edit-profile-modal/edit-profile-modal.types.ts
@@ -1,4 +1,5 @@
export interface IEditProfileForm {
+ name: string;
imageUrl: string;
username: string;
description: string;
diff --git a/views/profile/edit-profile-modal/edit-profile.validations.ts b/views/profile/edit-profile-modal/edit-profile.validations.ts
index a3f3f51..fbd4efd 100644
--- a/views/profile/edit-profile-modal/edit-profile.validations.ts
+++ b/views/profile/edit-profile-modal/edit-profile.validations.ts
@@ -1,6 +1,7 @@
import * as yup from 'yup';
export const editProfileValidationSchema = yup.object().shape({
+ name: yup.string().required('Name is required'),
username: yup.string().required('Username is required'),
imageUrl: yup.string().required('Image is required'),
description: yup.string().required('Description is required'),
diff --git a/views/profile/edit-profile-modal/index.tsx b/views/profile/edit-profile-modal/index.tsx
index 478c2fb..4e4d716 100644
--- a/views/profile/edit-profile-modal/index.tsx
+++ b/views/profile/edit-profile-modal/index.tsx
@@ -47,6 +47,13 @@ const EditProfileModal = () => {
status={errors.imageUrl && 'error'}
description={errors.imageUrl?.message}
/>
+
{
+ const currentAccount = useCurrentAccount();
const clipBoardSuccessMessage = 'Address copied to the clipboard';
+ const emailVerified = true;
return (
{
-
- Name
+
+ name
-
+
- Username
+ username
-
-
-
+ {emailVerified && (
+
+
+
+ )}
@@ -62,16 +75,21 @@ const UserInfo: FC = () => {
px="0.5rem"
py="0.25rem"
display="flex"
+ width="8rem"
color="#E4E7EB"
gap="0.625rem"
+ cursor="pointer"
fontSize="0.75rem"
alignItems="center"
- borderRadius="0.75rem"
textAlign="center"
+ borderRadius="0.75rem"
+ justifyContent="center"
transition="all 300ms ease-in-out"
nHover={{ transform: 'scale(1.05)', color: '#F5B722' }}
>
-
0x2::sui::SUI
+
+ {formatAddress(currentAccount?.address || '')}
+
{
- const currentAccount = useCurrentAccount();
- const { push } = useRouter();
-
- if (currentAccount) push('/');
-
- return (
-
-
-
-
- Sign in
-
-
- Welcome back. Select method to log in
-
-
-
-
-
-
-
- Don‘t have an account?{' '}
- {
- push(Routes[RoutesEnum.CreateProfile]);
- }}
- >
- Create a Profile
-
-
-
-
-
-
- );
-};
-
-export default SignIn;
diff --git a/views/sign-in/sign-in-button.tsx b/views/sign-in/sign-in-button.tsx
deleted file mode 100644
index 1a0219c..0000000
--- a/views/sign-in/sign-in-button.tsx
+++ /dev/null
@@ -1,122 +0,0 @@
-import { Button, Div } from '@stylin.js/elements';
-import { FC } from 'react';
-import { useFormContext } from 'react-hook-form';
-
-import DialogCountdown from '@/components/dialog/dialog-countdown';
-import { LoaderSVG } from '@/components/svg';
-import { useConnectModal } from '@/components/wallet-button/wallet-button.hook';
-import { useDialog } from '@/hooks/use-dialog';
-
-import { SignInFormProps } from './sign-in.types';
-
-const SignInButton: FC = () => {
- const { setValue, trigger } = useFormContext
();
- const { dialog, handleClose } = useDialog();
- const handleOpenConnectModal = useConnectModal();
-
- const handleCreateProfile = () => {
- return new Promise((resolve, reject) => {
- setTimeout(() => {
- const isSuccess = Math.random() > 0.5;
- if (isSuccess) {
- setValue('success', true);
- resolve('success');
- return;
- }
- reject('Error');
- }, 1000);
- });
- };
-
- const handleSignIn = async () => {
- let fieldsToValidate: (keyof SignInFormProps)[] = [];
-
- fieldsToValidate = ['username', 'password'];
- const isValid = await trigger(fieldsToValidate);
-
- if (isValid) {
- await dialog.promise(handleCreateProfile(), {
- success: () => ({
- title: 'Sign-in successful',
- button: (
-
- ),
- ghostButton: (
-
- ),
- message: 'Now connect your wallet do see all the function',
- }),
- loading: () => ({
- Icon: ,
- title: 'Signing...',
- message: 'Please wait...',
- }),
- error: (e) => ({
- title: 'Oops! You can not sign in!',
- button: { label: 'Try again', onClick: handleClose },
- message: (
- e.message ||
- 'Make sure you fill every field correctly and try again.'
- ).replace('Invariant failed: ', ''),
- ghostButton: {
- label: 'Do not want to try again!',
- onClick: handleClose,
- },
- }),
- });
- }
- if (!isValid) return;
- };
-
- return (
-
-
-
- );
-};
-
-export default SignInButton;
diff --git a/views/sign-in/sign-in-form.tsx b/views/sign-in/sign-in-form.tsx
deleted file mode 100644
index 46933f0..0000000
--- a/views/sign-in/sign-in-form.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Button, Div, Hr, P, Span } from '@stylin.js/elements';
-import { FC } from 'react';
-import { useFormContext } from 'react-hook-form';
-
-import InputField from '@/components/input-field';
-import { XSVG } from '@/components/svg';
-
-import { SignInFormProps } from './sign-in.types';
-
-const SignInForm: FC = () => {
- const {
- register,
- formState: { errors },
- } = useFormContext();
- return (
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default SignInForm;
diff --git a/views/sign-in/sign-in-validations.ts b/views/sign-in/sign-in-validations.ts
deleted file mode 100644
index 1084c28..0000000
--- a/views/sign-in/sign-in-validations.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as yup from 'yup';
-
-export const SignInValidationSchema = yup.object({
- username: yup.string().required('Username is required'),
- password: yup
- .string()
- .required('Password is required')
- .min(8, 'Must be at least 8 characters')
- .matches(/[A-Z]/, 'Must contain an uppercase letter')
- .matches(/[0-9]/, 'Must contain a number'),
-});
diff --git a/views/sign-in/sign-in.types.ts b/views/sign-in/sign-in.types.ts
deleted file mode 100644
index 644a574..0000000
--- a/views/sign-in/sign-in.types.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-export interface CreateProfileProps {
- avatar: string;
- userName: string;
- description: string;
-}
-
-export interface SignInProps {
- username: string;
- password: string;
-}
-
-export enum SignInStepEnum {
- CreateProfileProps,
- SignInProps,
-}
-
-export interface SignInHeaderProps {
- title: string;
- description?: string;
- step: SignInStepEnum;
-}
-
-export interface SignInFormProps {
- username: string;
- password: string;
- success?: boolean;
-}