From 9cc51674c296aecbfaad12188d23e10333f37afa Mon Sep 17 00:00:00 2001 From: Vitor Date: Tue, 5 Sep 2023 16:56:24 -0300 Subject: [PATCH 01/15] fix: remove duplicated data --- app/(general)/integration/disco/page.tsx | 2 +- app/(general)/integration/etherscan/page.tsx | 2 +- components/layout/main-nav.tsx | 68 +++----- components/layout/mobile-nav.tsx | 71 ++++----- data/documentation.ts | 38 ----- data/integrations.ts | 157 ------------------- data/turbo-integrations.ts | 37 ++++- 7 files changed, 95 insertions(+), 280 deletions(-) delete mode 100644 data/documentation.ts delete mode 100644 data/integrations.ts diff --git a/app/(general)/integration/disco/page.tsx b/app/(general)/integration/disco/page.tsx index 44b09a45..871d1089 100644 --- a/app/(general)/integration/disco/page.tsx +++ b/app/(general)/integration/disco/page.tsx @@ -1,7 +1,7 @@ "use client" import Link from "next/link" -import { turboIntegrations } from "@/data/documentation" +import { turboIntegrations } from "@/data/turbo-integrations" import { LuBook } from "react-icons/lu" import { useAccount } from "wagmi" diff --git a/app/(general)/integration/etherscan/page.tsx b/app/(general)/integration/etherscan/page.tsx index abf255fd..9660f4f4 100644 --- a/app/(general)/integration/etherscan/page.tsx +++ b/app/(general)/integration/etherscan/page.tsx @@ -1,7 +1,7 @@ "use client" import Link from "next/link" -import { turboIntegrations } from "@/data/documentation" +import { turboIntegrations } from "@/data/turbo-integrations" import { LuBook } from "react-icons/lu" import { useNetwork } from "wagmi" diff --git a/components/layout/main-nav.tsx b/components/layout/main-nav.tsx index 32afc8a2..982ca9e9 100644 --- a/components/layout/main-nav.tsx +++ b/components/layout/main-nav.tsx @@ -2,7 +2,10 @@ import React from "react" import Link from "next/link" -import { integrations } from "@/data/integrations" +import { + integrationCategories, + turboIntegrations, +} from "@/data/turbo-integrations" import { siteConfig } from "@/config/site" import { @@ -49,47 +52,28 @@ function MainNavMenu() { Integrations diff --git a/components/layout/mobile-nav.tsx b/components/layout/mobile-nav.tsx index c540fb89..0e50a7e5 100644 --- a/components/layout/mobile-nav.tsx +++ b/components/layout/mobile-nav.tsx @@ -3,7 +3,10 @@ import { useState } from "react" import Link, { LinkProps } from "next/link" import { useRouter } from "next/navigation" -import { integrations } from "@/data/integrations" +import { + integrationCategories, + turboIntegrations, +} from "@/data/turbo-integrations" import { LuMenu } from "react-icons/lu" import { menuDashboard } from "@/config/menu-dashboard" @@ -77,44 +80,34 @@ export function MobileNav() { diff --git a/data/documentation.ts b/data/documentation.ts deleted file mode 100644 index 3ebdad27..00000000 --- a/data/documentation.ts +++ /dev/null @@ -1,38 +0,0 @@ -export const turboIntegrations = { - siwe: { - name: "SIWE", - href: "https://docs.turboeth.xyz/integration/sign-in-with-ethereum", - url: "https://login.xyz/", - description: - "Sign-In with Ethereum is Web3 authentication using an Ethereum account.", - imgLight: "/integrations/siwe.svg", - imgDark: "/integrations/siwe.svg", - }, - disco: { - name: "Disco", - href: "https://docs.turboeth.xyz/integration/disco", - url: "https://disco.xyz", - description: - "Disco is identity simplified. Giving the tools to consent to how information is shared and with whom.", - imgLight: "/integrations/discoLight.png", - imgDark: "/integrations/discoDark.png", - }, - discoProgrammaticIssuance: { - name: "Disco Programmatic Issuance", - href: "https://docs.turboeth.xyz/integration/disco", - url: "https://docs.disco.xyz/v2/for-organizations/issuing-credentials/manual-issuance", - description: - "Welcome to the pilot beta of our Programmatic Issuance for Partners. We are excited to deliver this feature to you.", - imgLight: "/integrations/discoLight.png", - imgDark: "/integrations/discoDark.png", - }, - etherscan: { - name: "Etherscan", - href: "https://docs.turboeth.xyz/integration/etherscan", - url: "https://etherscan.io", - description: - "Etherscan is the leading block explorer and search, API & analytics platform for Ethereum.", - imgLight: "/integrations/etherscan-light.svg", - imgDark: "/integrations/etherscan-dark.svg", - }, -} diff --git a/data/integrations.ts b/data/integrations.ts deleted file mode 100644 index cd343a3d..00000000 --- a/data/integrations.ts +++ /dev/null @@ -1,157 +0,0 @@ -export const integrations = { - general: { - siwe: { - name: "Sign In with Ethereum", - href: "/integration/sign-in-with-ethereum", - url: "https://login.xyz/", - description: - "Sign-In with Ethereum is Web3 authentication using an Ethereum account.", - imgLight: "/integrations/siwe.svg", - imgDark: "/integrations/siwe.svg", - }, - etherscan: { - name: "Etherscan", - href: "/integration/etherscan", - url: "https://etherscan.io", - description: - "Etherscan is the leading block explorer and search, API & analytics platform for Ethereum.", - imgLight: "/integrations/etherscan-light.svg", - imgDark: "/integrations/etherscan-dark.svg", - }, - sessionKeys: { - name: "Session Keys", - href: "/integration/session-keys", - url: "https://viem.sh/", - description: - "Short-lied private keys enable transaction signing and the granting of temporary smart contract permissions.", - imgLight: "/integrations/session-keys.png", - imgDark: "/integrations/session-keys.png", - }, - openai: { - name: "OpenAI", - href: "/integration/openai", - url: "https://www.openai.com/", - description: - "OpenAI offers AI models designed for advanced natural language processing.", - imgLight: "/integrations/openai-light.svg", - imgDark: "/integrations/openai-dark.svg", - }, - starter: { - name: "Starter Template", - href: "/integration/starter", - url: "https://docs.turboeth.xyz/overview", - description: - "Use ths template to get started building integrations with TurboETH.", - imgLight: "/logo-gradient.png", - imgDark: "/logo-dark.png", - }, - }, - protocols: { - erc20: { - name: "ERC20", - href: "/integration/erc20", - url: "https://eips.ethereum.org/EIPS/eip-20", - description: "ERC20 is a standard for fungible tokens on EVM chains", - imgLight: "/integrations/erc20.png", - imgDark: "/integrations/erc20.png", - }, - erc721: { - name: "ERC721", - href: "/integration/erc721", - url: "https://eips.ethereum.org/EIPS/eip-721", - description: "ERC721 is a standard for non-fungible tokens on EVM chains", - imgLight: "/integrations/erc721-icon.png", - imgDark: "/integrations/erc721-icon.png", - }, - pooltogether_v4: { - name: "PoolTogether", - href: "/integration/pooltogether-v4", - url: "https://pooltogether.com/", - description: - "PoolTogether is a prize savings protocol, enable you to win by saving.", - imgLight: "/integrations/pooltogether.svg", - imgDark: "/integrations/pooltogether.svg", - }, - connext: { - name: "Connext", - href: "/integration/connext", - url: "https://docs.connext.network/", - description: - "Connext is a modular protocol for securely passing funds and data between chains.", - imgLight: "/integrations/connext.png", - imgDark: "/integrations/connext.png", - }, - push_protocol: { - name: "Push Protocol", - href: "/integration/push-protocol", - url: "https://push.org/", - description: - "Push Potocol is a web3 communication network, enabling cross-chain notifications and messaging for dapps, wallets, and services.", - imgLight: "/integrations/push.svg", - imgDark: "/integrations/push.svg", - }, - aave: { - name: "Aave", - href: "/integration/aave", - url: "https://docs.aave.com/hub/", - description: "Aave is a decentralized non-custodial liquidity protocol.", - imgLight: "/integrations/aave.png", - imgDark: "/integrations/aave.png", - }, - arweave: { - name: "Arweave", - href: "/integration/arweave", - url: "https://arwiki.arweave.dev", - description: - "Arweave is the first protocol that enables permanent data storage. Its design allows anyone to preserve data forever with just a single one-time fee.", - imgLight: "/integrations/arweave-light.png", - imgDark: "/integrations/arweave-dark.png", - }, - }, - services: { - disco: { - name: "Disco", - href: "/integration/disco", - url: "https://disco.xyz", - description: - "Disco's identity simplified. Giving the tools to consent to how information is shared and with whom.", - imgLight: "/integrations/discoLight.png", - imgDark: "/integrations/discoDark.png", - }, - litProtocol: { - name: "Lit Protocol", - href: "/integration/lit-protocol", - url: "https://litprotocol.com/", - description: - "Lit is distributed key management for encryption, signing, and compute.", - imgLight: "/integrations/lit-protocol.png", - imgDark: "/integrations/lit-protocol.png", - }, - livepeer: { - name: "Livepeer", - href: "/integration/livepeer", - url: "https://docs.livepeer.org/", - description: "Livepeer is the world's open video infrastructure.", - imgLight: "/integrations/livepeer.svg", - imgDark: "/integrations/livepeer.svg", - }, - gelato: { - name: "Gelato", - href: "/integration/gelato", - url: "https://docs.gelato.network/", - description: - "Enabling developers to create augmented smart contracts that are automated, gasless & off-chain aware", - imgLight: "/integrations/gelato-light.svg", - imgDark: "/integrations/gelato-light.svg", - }, - moralis: { - name: "Moralis", - href: "/integration/moralis", - url: "https://docs.moralis.io/", - description: - "Moralis provides a complete end-to-end blockchain application development platform.", - imgLight: "/integrations/moralis.png", - imgDark: "/integrations/moralis.png", - }, - }, -} diff --git a/data/turbo-integrations.ts b/data/turbo-integrations.ts index 999b11c3..626965d5 100644 --- a/data/turbo-integrations.ts +++ b/data/turbo-integrations.ts @@ -1,4 +1,20 @@ -export const turboIntegrations = { +export const integrationCategories = [ + "general", + "protocols", + "services", +] as const + +interface TurboIntegration { + name: string + href: string + url: string + description: string + imgLight: string + imgDark: string + category: (typeof integrationCategories)[number] +} + +export const turboIntegrations: Record = { siwe: { name: "SIWE", href: "/integration/sign-in-with-ethereum", @@ -7,6 +23,7 @@ export const turboIntegrations = { "Sign-In with Ethereum is Web3 authentication using an Ethereum account.", imgLight: "/integrations/siwe.svg", imgDark: "/integrations/siwe.svg", + category: "general", }, erc20: { name: "ERC20", @@ -15,6 +32,7 @@ export const turboIntegrations = { description: "ERC20 is a standard for fungible tokens on EVM chains", imgLight: "/integrations/erc20.png", imgDark: "/integrations/erc20.png", + category: "protocols", }, erc721: { name: "ERC721", @@ -23,6 +41,7 @@ export const turboIntegrations = { description: "ERC721 is a standard for non-fungible tokens on EVM chains", imgLight: "/integrations/erc721-icon.png", imgDark: "/integrations/erc721-icon.png", + category: "protocols", }, erc1155: { name: "ERC1155", @@ -31,6 +50,7 @@ export const turboIntegrations = { description: "ERC1155 is a multi-token standard on EVM chains", imgLight: "/integrations/erc1155-icon.png", imgDark: "/integrations/erc1155-icon.png", + category: "protocols", }, etherscan: { name: "Etherscan", @@ -40,6 +60,7 @@ export const turboIntegrations = { "Etherscan is the leading block explorer and search, API & analytics platform for Ethereum.", imgLight: "/integrations/etherscan-light.svg", imgDark: "/integrations/etherscan-dark.svg", + category: "general", }, disco: { name: "Disco", @@ -49,6 +70,7 @@ export const turboIntegrations = { "Disco is identity simplified. Giving the tools to consent to how information is shared and with whom.", imgLight: "/integrations/discoLight.png", imgDark: "/integrations/discoDark.png", + category: "services", }, sessionKeys: { name: "Session Keys", @@ -58,6 +80,7 @@ export const turboIntegrations = { "Short-lived private keys enable transaction signing and the granting of temporary smart contract permissions.", imgLight: "/integrations/session-keys.png", imgDark: "/integrations/session-keys.png", + category: "general", }, litProtocol: { name: "Lit Protocol", @@ -67,6 +90,7 @@ export const turboIntegrations = { "Lit is distributed key management for encryption, signing, and compute.", imgLight: "/integrations/lit-protocol.png", imgDark: "/integrations/lit-protocol.png", + category: "services", }, openai: { name: "OpenAI", @@ -76,6 +100,7 @@ export const turboIntegrations = { "OpenAI offers AI models designed for advanced natural language processing.", imgLight: "/integrations/openai-light.svg", imgDark: "/integrations/openai-dark.svg", + category: "general", }, pooltogether_v4: { name: "PoolTogether", @@ -85,6 +110,7 @@ export const turboIntegrations = { "PoolTogether is a prize savings protocol, enable you to win by saving.", imgLight: "/integrations/pooltogether.svg", imgDark: "/integrations/pooltogether.svg", + category: "protocols", }, livepeer: { name: "Livepeer", @@ -93,6 +119,7 @@ export const turboIntegrations = { description: "Livepeer is the world's open video infrastructure.", imgLight: "/integrations/livepeer.svg", imgDark: "/integrations/livepeer.svg", + category: "protocols", }, connext: { name: "Connext", @@ -102,6 +129,7 @@ export const turboIntegrations = { "Connext is a modular protocol for securely passing funds and data between chains.", imgLight: "/integrations/connext.png", imgDark: "/integrations/connext.png", + category: "protocols", }, gelato: { name: "Gelato", @@ -111,6 +139,7 @@ export const turboIntegrations = { "Enabling developers to create augmented smart contracts that are automated, gasless & off-chain aware", imgLight: "/integrations/gelato-light.svg", imgDark: "/integrations/gelato-light.svg", + category: "protocols", }, push_protocol: { name: "Push Protocol", @@ -120,6 +149,7 @@ export const turboIntegrations = { "Push Protocol is a web3 communication network, enabling cross-chain notifications and messaging for dapps, wallets, and services.", imgLight: "/integrations/push.svg", imgDark: "/integrations/push.svg", + category: "protocols", }, moralis: { name: "Moralis", @@ -129,8 +159,8 @@ export const turboIntegrations = { "Moralis provides a complete end-to-end blockchain application development platform.", imgLight: "/integrations/moralis.png", imgDark: "/integrations/moralis.png", + category: "services", }, - aave: { name: "Aave", href: "/integration/aave", @@ -138,6 +168,7 @@ export const turboIntegrations = { description: "Aave is a decentralized non-custodial liquidity protocol.", imgLight: "/integrations/aave.png", imgDark: "/integrations/aave.png", + category: "protocols", }, arweave: { name: "Arweave", @@ -147,6 +178,7 @@ export const turboIntegrations = { "Arweave is the first protocol that enables permanent data storage. Its design allows anyone to preserve data forever with just a single, one-time fee.", imgLight: "/integrations/arweave-light.png", imgDark: "/integrations/arweave-dark.png", + category: "protocols", }, starter: { name: "Starter Template", @@ -156,5 +188,6 @@ export const turboIntegrations = { "Use this template to get started building integrations with TurboETH.", imgLight: "/logo-gradient.png", imgDark: "/logo-dark.png", + category: "general", }, } From 5b006757b7f4c3621711931556e07909e4a4e8b9 Mon Sep 17 00:00:00 2001 From: Vitor Date: Tue, 5 Sep 2023 22:00:16 -0300 Subject: [PATCH 02/15] fix: navbar on medium screen size --- components/layout/main-nav.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/layout/main-nav.tsx b/components/layout/main-nav.tsx index 982ca9e9..590383ec 100644 --- a/components/layout/main-nav.tsx +++ b/components/layout/main-nav.tsx @@ -56,11 +56,11 @@ function MainNavMenu() { <>

{category.charAt(0).toUpperCase() + category.slice(1)}

- + {Object.values(turboIntegrations) .filter((integration) => integration.category === category) .map(({ name, href, description, imgDark, imgLight }) => ( @@ -106,13 +106,13 @@ const NavMenuListItem = ({ darkImage, }: NavMenuListItemProps) => { return ( -
  • +
  • -
    +
    Date: Tue, 5 Sep 2023 22:09:27 -0300 Subject: [PATCH 03/15] refactor: remove unused pages --- app/(general)/account/page.tsx | 55 ------------------- app/admin/layout.tsx | 55 ------------------- app/{ => dashboard}/admin/page.tsx | 0 config/menu-admin.ts | 2 +- integrations/siwe/README.md | 3 - .../branch-button-login-or-account.tsx | 36 ------------ 6 files changed, 1 insertion(+), 150 deletions(-) delete mode 100644 app/(general)/account/page.tsx delete mode 100644 app/admin/layout.tsx rename app/{ => dashboard}/admin/page.tsx (100%) delete mode 100644 integrations/siwe/components/branch-button-login-or-account.tsx diff --git a/app/(general)/account/page.tsx b/app/(general)/account/page.tsx deleted file mode 100644 index 543e8e85..00000000 --- a/app/(general)/account/page.tsx +++ /dev/null @@ -1,55 +0,0 @@ -"use client" - -import { motion } from "framer-motion" - -import { FADE_DOWN_ANIMATION_VARIANTS } from "@/config/design" -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from "@/components/ui/card" -import { WalletAddress } from "@/components/blockchain/wallet-address" -import { WalletBalance } from "@/components/blockchain/wallet-balance" -import { WalletNonce } from "@/components/blockchain/wallet-nonce" -import { IsWalletConnected } from "@/components/shared/is-wallet-connected" -import { IsWalletDisconnected } from "@/components/shared/is-wallet-disconnected" - -export default function PageDashboardAccount() { - return ( - - - - - Account - - Address: - - - -
    - Balance: {" "} - -
    -
    - Nonce: -
    -
    -
    -
    - -

    - Connect Wallet to view your personalized dashboard. -

    -
    -
    - ) -} diff --git a/app/admin/layout.tsx b/app/admin/layout.tsx deleted file mode 100644 index bd798299..00000000 --- a/app/admin/layout.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import Link from "next/link" -import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa" - -import { menuAdmin } from "@/config/menu-admin" -import { menuDashboard } from "@/config/menu-dashboard" -import { siteConfig } from "@/config/site" -import { ScrollArea } from "@/components/ui/scroll-area" -import { WalletConnect } from "@/components/blockchain/wallet-connect" -import { SidebarNav } from "@/components/layout/sidebar-nav" -import { SiteHeader } from "@/components/layout/site-header" - -interface DashboardLayoutProps { - children: React.ReactNode -} - -export default function DashboardLayout({ children }: DashboardLayoutProps) { - return ( -
    - ) -} diff --git a/app/admin/page.tsx b/app/dashboard/admin/page.tsx similarity index 100% rename from app/admin/page.tsx rename to app/dashboard/admin/page.tsx diff --git a/config/menu-admin.ts b/config/menu-admin.ts index a205d673..3d417c99 100644 --- a/config/menu-admin.ts +++ b/config/menu-admin.ts @@ -4,6 +4,6 @@ export const menuAdmin = [ { label: "Users", - href: "/admin", + href: "/dashboard/admin", }, ] diff --git a/integrations/siwe/README.md b/integrations/siwe/README.md index f4c7e1de..a8436116 100644 --- a/integrations/siwe/README.md +++ b/integrations/siwe/README.md @@ -24,9 +24,6 @@ Creates a SIWE message to be signed by the user's Ethereum wallet, and returns t ### Components -`BranchButtonLoginOrAccount()` -Renders either a login or logout button and a link to the user's account depending on whether the user is authenticated or not. - `IsSignedInd()` A React component that conditionally renders its children if the user is signed in. diff --git a/integrations/siwe/components/branch-button-login-or-account.tsx b/integrations/siwe/components/branch-button-login-or-account.tsx deleted file mode 100644 index 22abfa8b..00000000 --- a/integrations/siwe/components/branch-button-login-or-account.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { cn } from "@/lib/utils" -import { IsWalletConnected } from "@/components/shared/is-wallet-connected" -import { LinkComponent } from "@/components/shared/link-component" -import { ButtonSIWELogin } from "@/integrations/siwe/components/button-siwe-login" -import { ButtonSIWELogout } from "@/integrations/siwe/components/button-siwe-logout" - -import { IsSignedIn } from "./is-signed-in" -import { IsSignedOut } from "./is-signed-out" - -interface BranchButtonLoginOrAccountProps { - classNameButtonLogin?: string - classNameButtonLogout?: string -} - -export const BranchButtonLoginOrAccount = ({ - classNameButtonLogin, - classNameButtonLogout, -}: BranchButtonLoginOrAccountProps) => { - return ( - - -
    - - - Account - -
    -
    - - - -
    - ) -} - -export default BranchButtonLoginOrAccount From 65df8928083469295c36f039bf5fe8a1a2ff286b Mon Sep 17 00:00:00 2001 From: Vitor Date: Tue, 5 Sep 2023 22:38:05 -0300 Subject: [PATCH 04/15] refactor: remove unused components --- components/layout/page-section.tsx | 2 +- components/shared/icons.tsx | 24 -- components/shared/is-desktop.tsx | 16 -- components/shared/is-mobile.tsx | 16 -- components/ui/alert.tsx | 59 ----- components/ui/aspect-ratio.tsx | 7 - components/ui/collapsible.tsx | 11 - components/ui/command.tsx | 155 ------------ components/ui/context-menu.tsx | 201 --------------- components/ui/hover-card.tsx | 29 --- components/ui/menubar.tsx | 237 ------------------ components/ui/radio-group.tsx | 44 ---- components/ui/slider.tsx | 28 --- components/ui/toggle.tsx | 45 ---- .../components/dialog-stop-stream.tsx | 1 - 15 files changed, 1 insertion(+), 874 deletions(-) delete mode 100644 components/shared/icons.tsx delete mode 100644 components/shared/is-desktop.tsx delete mode 100644 components/shared/is-mobile.tsx delete mode 100644 components/ui/alert.tsx delete mode 100644 components/ui/aspect-ratio.tsx delete mode 100644 components/ui/collapsible.tsx delete mode 100644 components/ui/command.tsx delete mode 100644 components/ui/context-menu.tsx delete mode 100644 components/ui/hover-card.tsx delete mode 100644 components/ui/menubar.tsx delete mode 100644 components/ui/radio-group.tsx delete mode 100644 components/ui/slider.tsx delete mode 100644 components/ui/toggle.tsx diff --git a/components/layout/page-section.tsx b/components/layout/page-section.tsx index 69034dd9..453f849a 100644 --- a/components/layout/page-section.tsx +++ b/components/layout/page-section.tsx @@ -18,7 +18,7 @@ function PageSection({ className, children, ...props }: MotionSectionProps) { whileInView="show" viewport={{ once: true, amount: 0.25 }} className={cn( - "mx-auto flex w-full flex-col items-center gap-2 px-4 pt-8 md:pt-12", + "mx-auto flex w-full flex-col items-center gap-2 px-4 py-8 md:py-12", className )} {...props} diff --git a/components/shared/icons.tsx b/components/shared/icons.tsx deleted file mode 100644 index 9204587c..00000000 --- a/components/shared/icons.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { IconBaseProps, IconType } from "react-icons" -import { LuLaptop, LuMoon, LuSunMedium, LuTwitter } from "react-icons/lu" - -export type Icon = IconType - -export const Icons = { - sun: LuSunMedium, - moon: LuMoon, - laptop: LuLaptop, - twitter: LuTwitter, - logo: (props: IconBaseProps) => ( - - - - ), - gitHub: (props: IconBaseProps) => ( - - - - ), -} diff --git a/components/shared/is-desktop.tsx b/components/shared/is-desktop.tsx deleted file mode 100644 index cb761295..00000000 --- a/components/shared/is-desktop.tsx +++ /dev/null @@ -1,16 +0,0 @@ -"use client" - -import { ReactNode } from "react" -import { useMediaQuery } from "react-responsive" - -interface IsDesktopProps { - children: ReactNode -} - -export const IsDesktop = ({ children }: IsDesktopProps) => { - const isTabletOrMobile = useMediaQuery({ query: "(max-width: 1224px)" }) - - if (!isTabletOrMobile) return <>{children} - - return null -} diff --git a/components/shared/is-mobile.tsx b/components/shared/is-mobile.tsx deleted file mode 100644 index 82a2683e..00000000 --- a/components/shared/is-mobile.tsx +++ /dev/null @@ -1,16 +0,0 @@ -"use client" - -import { ReactNode } from "react" -import { useMediaQuery } from "react-responsive" - -interface IsMobileProps { - children: ReactNode -} - -export const IsMobile = ({ children }: IsMobileProps) => { - const isTabletOrMobile = useMediaQuery({ query: "(max-width: 1224px)" }) - - if (isTabletOrMobile) return <>{children} - - return null -} diff --git a/components/ui/alert.tsx b/components/ui/alert.tsx deleted file mode 100644 index 5afd41d1..00000000 --- a/components/ui/alert.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import * as React from "react" -import { cva, type VariantProps } from "class-variance-authority" - -import { cn } from "@/lib/utils" - -const alertVariants = cva( - "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", - { - variants: { - variant: { - default: "bg-background text-foreground", - destructive: - "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", - }, - }, - defaultVariants: { - variant: "default", - }, - } -) - -const Alert = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes & VariantProps ->(({ className, variant, ...props }, ref) => ( -
    -)) -Alert.displayName = "Alert" - -const AlertTitle = React.forwardRef< - HTMLParagraphElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
    -)) -AlertTitle.displayName = "AlertTitle" - -const AlertDescription = React.forwardRef< - HTMLParagraphElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
    -)) -AlertDescription.displayName = "AlertDescription" - -export { Alert, AlertTitle, AlertDescription } diff --git a/components/ui/aspect-ratio.tsx b/components/ui/aspect-ratio.tsx deleted file mode 100644 index d6a5226f..00000000 --- a/components/ui/aspect-ratio.tsx +++ /dev/null @@ -1,7 +0,0 @@ -"use client" - -import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio" - -const AspectRatio = AspectRatioPrimitive.Root - -export { AspectRatio } diff --git a/components/ui/collapsible.tsx b/components/ui/collapsible.tsx deleted file mode 100644 index 9fa48946..00000000 --- a/components/ui/collapsible.tsx +++ /dev/null @@ -1,11 +0,0 @@ -"use client" - -import * as CollapsiblePrimitive from "@radix-ui/react-collapsible" - -const Collapsible = CollapsiblePrimitive.Root - -const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger - -const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent - -export { Collapsible, CollapsibleTrigger, CollapsibleContent } diff --git a/components/ui/command.tsx b/components/ui/command.tsx deleted file mode 100644 index e07eebe6..00000000 --- a/components/ui/command.tsx +++ /dev/null @@ -1,155 +0,0 @@ -"use client" - -import * as React from "react" -import { DialogProps } from "@radix-ui/react-dialog" -import { Command as CommandPrimitive } from "cmdk" -import { LuSearch } from "react-icons/lu" - -import { cn } from "@/lib/utils" -import { Dialog, DialogContent } from "@/components/ui/dialog" - -const Command = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -Command.displayName = CommandPrimitive.displayName - -interface CommandDialogProps extends DialogProps {} - -const CommandDialog = ({ children, ...props }: CommandDialogProps) => { - return ( - - - - {children} - - - - ) -} - -const CommandInput = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( -
    - - -
    -)) - -CommandInput.displayName = CommandPrimitive.Input.displayName - -const CommandList = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) - -CommandList.displayName = CommandPrimitive.List.displayName - -const CommandEmpty = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->((props, ref) => ( - -)) - -CommandEmpty.displayName = CommandPrimitive.Empty.displayName - -const CommandGroup = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) - -CommandGroup.displayName = CommandPrimitive.Group.displayName - -const CommandSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -CommandSeparator.displayName = CommandPrimitive.Separator.displayName - -const CommandItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) - -CommandItem.displayName = CommandPrimitive.Item.displayName - -const CommandShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -CommandShortcut.displayName = "CommandShortcut" - -export { - Command, - CommandDialog, - CommandInput, - CommandList, - CommandEmpty, - CommandGroup, - CommandItem, - CommandShortcut, - CommandSeparator, -} diff --git a/components/ui/context-menu.tsx b/components/ui/context-menu.tsx deleted file mode 100644 index 70e569a7..00000000 --- a/components/ui/context-menu.tsx +++ /dev/null @@ -1,201 +0,0 @@ -"use client" - -import * as React from "react" -import * as ContextMenuPrimitive from "@radix-ui/react-context-menu" -import { LuCheck, LuChevronRight } from "react-icons/lu" -import { RxDot } from "react-icons/rx" - -import { cn } from "@/lib/utils" - -const ContextMenu = ContextMenuPrimitive.Root - -const ContextMenuTrigger = ContextMenuPrimitive.Trigger - -const ContextMenuGroup = ContextMenuPrimitive.Group - -const ContextMenuPortal = ContextMenuPrimitive.Portal - -const ContextMenuSub = ContextMenuPrimitive.Sub - -const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup - -const ContextMenuSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, children, ...props }, ref) => ( - - {children} - - -)) -ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName - -const ContextMenuSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName - -const ContextMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - - - -)) -ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName - -const ContextMenuItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName - -const ContextMenuCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, checked, ...props }, ref) => ( - - - - - - - {children} - -)) -ContextMenuCheckboxItem.displayName = - ContextMenuPrimitive.CheckboxItem.displayName - -const ContextMenuRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - - - - {children} - -)) -ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName - -const ContextMenuLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName - -const ContextMenuSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName - -const ContextMenuShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -ContextMenuShortcut.displayName = "ContextMenuShortcut" - -export { - ContextMenu, - ContextMenuTrigger, - ContextMenuContent, - ContextMenuItem, - ContextMenuCheckboxItem, - ContextMenuRadioItem, - ContextMenuLabel, - ContextMenuSeparator, - ContextMenuShortcut, - ContextMenuGroup, - ContextMenuPortal, - ContextMenuSub, - ContextMenuSubContent, - ContextMenuSubTrigger, - ContextMenuRadioGroup, -} diff --git a/components/ui/hover-card.tsx b/components/ui/hover-card.tsx deleted file mode 100644 index e54d91cf..00000000 --- a/components/ui/hover-card.tsx +++ /dev/null @@ -1,29 +0,0 @@ -"use client" - -import * as React from "react" -import * as HoverCardPrimitive from "@radix-ui/react-hover-card" - -import { cn } from "@/lib/utils" - -const HoverCard = HoverCardPrimitive.Root - -const HoverCardTrigger = HoverCardPrimitive.Trigger - -const HoverCardContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, align = "center", sideOffset = 4, ...props }, ref) => ( - -)) -HoverCardContent.displayName = HoverCardPrimitive.Content.displayName - -export { HoverCard, HoverCardTrigger, HoverCardContent } diff --git a/components/ui/menubar.tsx b/components/ui/menubar.tsx deleted file mode 100644 index 1e54254b..00000000 --- a/components/ui/menubar.tsx +++ /dev/null @@ -1,237 +0,0 @@ -"use client" - -import * as React from "react" -import * as MenubarPrimitive from "@radix-ui/react-menubar" -import { LuCheck, LuChevronRight } from "react-icons/lu" -import { RxDot } from "react-icons/rx" - -import { cn } from "@/lib/utils" - -const MenubarMenu = MenubarPrimitive.Menu - -const MenubarGroup = MenubarPrimitive.Group - -const MenubarPortal = MenubarPrimitive.Portal - -const MenubarSub = MenubarPrimitive.Sub - -const MenubarRadioGroup = MenubarPrimitive.RadioGroup - -const Menubar = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -Menubar.displayName = MenubarPrimitive.Root.displayName - -const MenubarTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName - -const MenubarSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, children, ...props }, ref) => ( - - {children} - - -)) -MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName - -const MenubarSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName - -const MenubarContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->( - ( - { className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, - ref - ) => ( - - - - ) -) -MenubarContent.displayName = MenubarPrimitive.Content.displayName - -const MenubarItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -MenubarItem.displayName = MenubarPrimitive.Item.displayName - -const MenubarCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, checked, ...props }, ref) => ( - - - - - - - {children} - -)) -MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName - -const MenubarRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - - - - {children} - -)) -MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName - -const MenubarLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -MenubarLabel.displayName = MenubarPrimitive.Label.displayName - -const MenubarSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName - -const MenubarShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -MenubarShortcut.displayname = "MenubarShortcut" - -export { - Menubar, - MenubarMenu, - MenubarTrigger, - MenubarContent, - MenubarItem, - MenubarSeparator, - MenubarLabel, - MenubarCheckboxItem, - MenubarRadioGroup, - MenubarRadioItem, - MenubarPortal, - MenubarSubContent, - MenubarSubTrigger, - MenubarGroup, - MenubarSub, - MenubarShortcut, -} diff --git a/components/ui/radio-group.tsx b/components/ui/radio-group.tsx deleted file mode 100644 index 1920325b..00000000 --- a/components/ui/radio-group.tsx +++ /dev/null @@ -1,44 +0,0 @@ -"use client" - -import * as React from "react" -import * as RadioGroupPrimitive from "@radix-ui/react-radio-group" -import { LuCheck } from "react-icons/lu" - -import { cn } from "@/lib/utils" - -const RadioGroup = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => { - return ( - - ) -}) -RadioGroup.displayName = RadioGroupPrimitive.Root.displayName - -const RadioGroupItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => { - return ( - - - - - - ) -}) -RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName - -export { RadioGroup, RadioGroupItem } diff --git a/components/ui/slider.tsx b/components/ui/slider.tsx deleted file mode 100644 index ab19d576..00000000 --- a/components/ui/slider.tsx +++ /dev/null @@ -1,28 +0,0 @@ -"use client" - -import * as React from "react" -import * as SliderPrimitive from "@radix-ui/react-slider" - -import { cn } from "@/lib/utils" - -const Slider = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - - - - - - -)) -Slider.displayName = SliderPrimitive.Root.displayName - -export { Slider } diff --git a/components/ui/toggle.tsx b/components/ui/toggle.tsx deleted file mode 100644 index c50c2733..00000000 --- a/components/ui/toggle.tsx +++ /dev/null @@ -1,45 +0,0 @@ -"use client" - -import * as React from "react" -import * as TogglePrimitive from "@radix-ui/react-toggle" -import { cva, type VariantProps } from "class-variance-authority" - -import { cn } from "@/lib/utils" - -const toggleVariants = cva( - "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", - { - variants: { - variant: { - default: "bg-transparent", - outline: - "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground", - }, - size: { - default: "h-9 px-3", - sm: "h-8 px-2", - lg: "h-10 px-3", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) - -const Toggle = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & - VariantProps ->(({ className, variant, size, ...props }, ref) => ( - -)) - -Toggle.displayName = TogglePrimitive.Root.displayName - -export { Toggle, toggleVariants } diff --git a/integrations/livepeer/components/dialog-stop-stream.tsx b/integrations/livepeer/components/dialog-stop-stream.tsx index 1b7264fe..fcd35f94 100644 --- a/integrations/livepeer/components/dialog-stop-stream.tsx +++ b/integrations/livepeer/components/dialog-stop-stream.tsx @@ -9,7 +9,6 @@ import { AlertDialogTrigger, } from "@/components/ui/alert-dialog" import { Button, buttonVariants } from "@/components/ui/button" -import { LinkComponent } from "@/components/shared/link-component" export function DialogStopStream() { return ( From 219b86934110850169fc1b65c159b4f228964daa Mon Sep 17 00:00:00 2001 From: Vitor Date: Tue, 5 Sep 2023 22:56:57 -0300 Subject: [PATCH 05/15] refactor: remove unused packages --- package.json | 17 +- pnpm-lock.yaml | 635 ++++++++++++++----------------------------------- 2 files changed, 185 insertions(+), 467 deletions(-) diff --git a/package.json b/package.json index 5c3a0b86..e9544a06 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "packageManager": "pnpm@7.1.8", "dependencies": { "@bgd-labs/aave-address-book": "^1.30.0", - "@connext/nxtp-utils": "^2.0.3", "@connext/sdk": "2.0.4-alpha.2", "@gelatonetwork/automate-sdk": "^2.14.0", "@graphql-typed-document-node/core": "^3.2.0", @@ -51,36 +50,26 @@ "@pushprotocol/uiweb": "1.0.1", "@radix-ui/react-accordion": "^1.1.0", "@radix-ui/react-alert-dialog": "^1.0.2", - "@radix-ui/react-aspect-ratio": "^1.0.1", "@radix-ui/react-avatar": "^1.0.1", "@radix-ui/react-checkbox": "^1.0.1", - "@radix-ui/react-collapsible": "^1.0.1", "@radix-ui/react-context-menu": "^2.1.1", "@radix-ui/react-dialog": "^1.0.2", "@radix-ui/react-dropdown-menu": "^2.0.1", "@radix-ui/react-form": "^0.0.2", - "@radix-ui/react-hover-card": "^1.0.3", "@radix-ui/react-label": "^2.0.0", - "@radix-ui/react-menubar": "^1.0.0", "@radix-ui/react-navigation-menu": "^1.1.1", "@radix-ui/react-popover": "^1.0.2", "@radix-ui/react-progress": "^1.0.1", - "@radix-ui/react-radio-group": "^1.1.0", "@radix-ui/react-scroll-area": "^1.0.2", "@radix-ui/react-select": "^1.2.0", "@radix-ui/react-separator": "^1.0.1", - "@radix-ui/react-slider": "^1.1.0", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.1", "@radix-ui/react-tabs": "^1.0.2", "@radix-ui/react-toast": "^1.1.3", - "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.3", "@rainbow-me/rainbowkit": "1.0.1", "@t3-oss/env-nextjs": "^0.4.0", - "@tailwindcss/forms": "^0.5.3", - "@tailwindcss/line-clamp": "^0.4.2", - "@tailwindcss/typography": "^0.5.9", "@tanstack/react-query": "^4.3.9", "abitype": "^0.9.6", "arweave": "^1.14.0", @@ -88,7 +77,6 @@ "axios": "^1.2.2", "class-variance-authority": "^0.4.0", "clsx": "^1.2.1", - "cmdk": "^0.2.0", "dexie": "^3.2.3", "dexie-react-hooks": "^1.1.3", "ethers": "^5.6.9", @@ -110,9 +98,9 @@ "react-hook-form": "^7.43.9", "react-icons": "^4.9.0", "react-markdown": "^8.0.4", - "react-responsive": "^9.0.2", "react-table": "^7.8.0", "react-wrap-balancer": "^0.3.0", + "sharp": "^0.32.5", "siwe": "1.1.6", "tailwind-merge": "^1.10.0", "tailwindcss": "^3.3.3", @@ -147,9 +135,6 @@ "eslint-config-next": "13.4.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^26.4.6", - "eslint-plugin-jest-dom": "^4.0.2", - "eslint-plugin-jest-formatting": "^3.1.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.30.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34002e8a..ad153d71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,12 +1,13 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + dependencies: '@bgd-labs/aave-address-book': specifier: ^1.30.0 version: 1.30.0 - '@connext/nxtp-utils': - specifier: ^2.0.3 - version: 2.0.3(sinon@15.2.0) '@connext/sdk': specifier: 2.0.4-alpha.2 version: 2.0.4-alpha.2(sinon@15.2.0)(ts-node@10.9.1)(typescript@5.0.4) @@ -43,18 +44,12 @@ dependencies: '@radix-ui/react-alert-dialog': specifier: ^1.0.2 version: 1.0.3(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-aspect-ratio': - specifier: ^1.0.1 - version: 1.0.2(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': specifier: ^1.0.1 version: 1.0.2(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-checkbox': specifier: ^1.0.1 version: 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collapsible': - specifier: ^1.0.1 - version: 1.0.2(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-context-menu': specifier: ^2.1.1 version: 2.1.3(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) @@ -67,15 +62,9 @@ dependencies: '@radix-ui/react-form': specifier: ^0.0.2 version: 0.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-hover-card': - specifier: ^1.0.3 - version: 1.0.5(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-label': specifier: ^2.0.0 version: 2.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-menubar': - specifier: ^1.0.0 - version: 1.0.2(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-navigation-menu': specifier: ^1.1.1 version: 1.1.2(react-dom@18.2.0)(react@18.2.0) @@ -85,9 +74,6 @@ dependencies: '@radix-ui/react-progress': specifier: ^1.0.1 version: 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-radio-group': - specifier: ^1.1.0 - version: 1.1.2(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': specifier: ^1.0.2 version: 1.0.3(react-dom@18.2.0)(react@18.2.0) @@ -97,9 +83,6 @@ dependencies: '@radix-ui/react-separator': specifier: ^1.0.1 version: 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slider': - specifier: ^1.1.0 - version: 1.1.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': specifier: ^1.0.2 version: 1.0.2(@types/react@18.0.26)(react@18.2.0) @@ -112,9 +95,6 @@ dependencies: '@radix-ui/react-toast': specifier: ^1.1.3 version: 1.1.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': - specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.0.10)(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.3 version: 1.0.5(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) @@ -124,15 +104,6 @@ dependencies: '@t3-oss/env-nextjs': specifier: ^0.4.0 version: 0.4.0(typescript@5.0.4)(zod@3.21.4) - '@tailwindcss/forms': - specifier: ^0.5.3 - version: 0.5.3(tailwindcss@3.3.3) - '@tailwindcss/line-clamp': - specifier: ^0.4.2 - version: 0.4.2(tailwindcss@3.3.3) - '@tailwindcss/typography': - specifier: ^0.5.9 - version: 0.5.9(tailwindcss@3.3.3) '@tanstack/react-query': specifier: ^4.3.9 version: 4.26.1(react-dom@18.2.0)(react-native@0.72.4)(react@18.2.0) @@ -154,9 +125,6 @@ dependencies: clsx: specifier: ^1.2.1 version: 1.2.1 - cmdk: - specifier: ^0.2.0 - version: 0.2.0(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) dexie: specifier: ^3.2.3 version: 3.2.3 @@ -220,15 +188,15 @@ dependencies: react-markdown: specifier: ^8.0.4 version: 8.0.5(@types/react@18.0.26)(react@18.2.0) - react-responsive: - specifier: ^9.0.2 - version: 9.0.2(react@18.2.0) react-table: specifier: ^7.8.0 version: 7.8.0(react@18.2.0) react-wrap-balancer: specifier: ^0.3.0 version: 0.3.0(react@18.2.0) + sharp: + specifier: ^0.32.5 + version: 0.32.5 siwe: specifier: 1.1.6 version: 1.1.6(ethers@5.7.2) @@ -327,15 +295,6 @@ devDependencies: eslint-plugin-import: specifier: ^2.26.0 version: 2.27.5(@typescript-eslint/parser@5.59.11)(eslint-import-resolver-typescript@3.5.5)(eslint@8.30.0) - eslint-plugin-jest: - specifier: ^26.4.6 - version: 26.9.0(@typescript-eslint/eslint-plugin@5.59.11)(eslint@8.30.0)(typescript@5.0.4) - eslint-plugin-jest-dom: - specifier: ^4.0.2 - version: 4.0.3(eslint@8.30.0) - eslint-plugin-jest-formatting: - specifier: ^3.1.0 - version: 3.1.0(eslint@8.30.0) eslint-plugin-jsx-a11y: specifier: ^6.5.1 version: 6.7.1(eslint@8.30.0) @@ -7732,18 +7691,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-aspect-ratio@1.0.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YCujQYnwcVcakbdhE8eTjhh4QR8CsngEcRlSzIPWw1vp3KPC9orETo8CxuVM65j5HAp0oFoOlIy6v7SuF+9P+Q==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-avatar@1.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XRL8z2l9V7hRLCPjHWg/34RBPZUGpmOjmsRSNvIh2DI28GyIWDChbcsDUVc63MzOItk6Q83Ob2KK8k2FUlXlGA==} peerDependencies: @@ -7901,33 +7848,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.0(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.0(react@18.2.0) - '@radix-ui/react-portal': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.0(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - aria-hidden: 1.2.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.4(@types/react@18.0.26)(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /@radix-ui/react-dialog@1.0.3(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==} peerDependencies: @@ -8012,22 +7932,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-dismissable-layer@1.0.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==} peerDependencies: @@ -8112,20 +8016,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-focus-scope@1.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==} peerDependencies: @@ -8180,28 +8070,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-hover-card@1.0.5(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jXRuZEkxSWdHZbVyL0J46cm7pQjmOMpwJEFKY+VqAJnV+FxS+zIZExI1OCeIiDwCBzUy6If1FfouOsfqBxr86g==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.1(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /@radix-ui/react-id@1.0.0(react@18.2.0): resolution: {integrity: sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==} peerDependencies: @@ -8270,29 +8138,6 @@ packages: - '@types/react' dev: false - /@radix-ui/react-menubar@1.0.2(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-woEg2ZODGoJHonr6ZwC01ZCpDifS6BapI5ythRfvWPBeL/80CX3u4sQKaF/58bbAZQsDnVwO5M9b0XVBN3jLhA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-collection': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-direction': 1.0.0(react@18.2.0) - '@radix-ui/react-id': 1.0.0(react@18.2.0) - '@radix-ui/react-menu': 2.0.4(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /@radix-ui/react-navigation-menu@1.1.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1fSjOAGTThYSgJ5pENG2V8we7+6KDbfbiyt66HmLTeo0W3PAmmciclm0o97VlcVZW7q5Vg2hN7Cbj4XKo5u2sw==} peerDependencies: @@ -8434,18 +8279,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-portal@1.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==} peerDependencies: @@ -8514,18 +8347,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/react-slot': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-primitive@1.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==} peerDependencies: @@ -8572,27 +8393,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-radio-group@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-direction': 1.0.0(react@18.2.0) - '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.0(react@18.2.0) - '@radix-ui/react-use-size': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-roving-focus@1.0.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ==} peerDependencies: @@ -8720,38 +8520,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-slider@1.1.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-0aswLpUKZIraPEOcXfwW25N1KPfLA6Mvm1TxogUChGsbLbys2ihd7uk9XAKsol9ZQPucxh2/mybwdRtAKrs/MQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/number': 1.0.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-collection': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-direction': 1.0.0(react@18.2.0) - '@radix-ui/react-primitive': 1.0.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.0(react@18.2.0) - '@radix-ui/react-use-size': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-slot@1.0.0(react@18.2.0): - resolution: {integrity: sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-slot@1.0.1(react@18.2.0): resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} peerDependencies: @@ -8837,29 +8605,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.0.10)(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.10)(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.0.26)(react@18.2.0) - '@types/react': 18.0.26 - '@types/react-dom': 18.0.10 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-tooltip@1.0.5(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w==} peerDependencies: @@ -8933,16 +8678,6 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0): - resolution: {integrity: sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.21.5 - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-use-escape-keydown@1.0.2(react@18.2.0): resolution: {integrity: sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==} peerDependencies: @@ -9967,35 +9702,6 @@ packages: zod: 3.21.4 dev: false - /@tailwindcss/forms@0.5.3(tailwindcss@3.3.3): - resolution: {integrity: sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q==} - peerDependencies: - tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' - dependencies: - mini-svg-data-uri: 1.4.4 - tailwindcss: 3.3.3(ts-node@10.9.1) - dev: false - - /@tailwindcss/line-clamp@0.4.2(tailwindcss@3.3.3): - resolution: {integrity: sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==} - peerDependencies: - tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' - dependencies: - tailwindcss: 3.3.3(ts-node@10.9.1) - dev: false - - /@tailwindcss/typography@0.5.9(tailwindcss@3.3.3): - resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders' - dependencies: - lodash.castarray: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.3(ts-node@10.9.1) - dev: false - /@tanstack/query-async-storage-persister@4.29.23: resolution: {integrity: sha512-TlUCpJTwqzHyniiSCyyqe2Dw/oq5iKc7U5nQLLT3qFKUSFUa8Y7SzaNiCGm6WxOr0e3zlDze+Dh4uHx7s7CGTw==} dependencies: @@ -10072,20 +9778,6 @@ packages: react-native: 0.72.4(@babel/core@7.18.5)(@babel/preset-env@7.20.2)(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) - /@testing-library/dom@8.20.0: - resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} - engines: {node: '>=12'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/runtime': 7.21.5 - '@types/aria-query': 5.0.1 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -10117,10 +9809,6 @@ packages: '@types/node': 17.0.45 dev: false - /@types/aria-query@5.0.1: - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} - dev: true - /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: @@ -12230,6 +11918,10 @@ packages: deep-equal: 2.2.0 dev: true + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: false + /babel-core@7.0.0-bridge.0(@babel/core@7.18.5): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: @@ -13276,20 +12968,6 @@ packages: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} - /cmdk@0.2.0(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) - command-score: 0.1.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -13307,6 +12985,21 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + /colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} @@ -13335,10 +13028,6 @@ packages: /command-exists@1.2.9: resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - /command-score@0.1.2: - resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} - dev: false - /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} @@ -13674,10 +13363,6 @@ packages: engines: {node: '>=4'} dev: false - /css-mediaquery@0.1.2: - resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==} - dev: false - /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -13913,6 +13598,11 @@ packages: which-typed-array: 1.1.9 dev: true + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -14036,6 +13726,11 @@ packages: engines: {node: '>=8'} dev: true + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} dev: false @@ -14125,10 +13820,6 @@ packages: esutils: 2.0.3 dev: true - /dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true - /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: @@ -14877,48 +14568,6 @@ packages: - supports-color dev: true - /eslint-plugin-jest-dom@4.0.3(eslint@8.30.0): - resolution: {integrity: sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'} - peerDependencies: - eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@babel/runtime': 7.21.0 - '@testing-library/dom': 8.20.0 - eslint: 8.30.0 - requireindex: 1.2.0 - dev: true - - /eslint-plugin-jest-formatting@3.1.0(eslint@8.30.0): - resolution: {integrity: sha512-XyysraZ1JSgGbLSDxjj5HzKKh0glgWf+7CkqxbTqb7zEhW7X2WHo5SBQ8cGhnszKN+2Lj3/oevBlHNbHezoc/A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=0.8.0' - dependencies: - eslint: 8.30.0 - dev: true - - /eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.59.11)(eslint@8.30.0)(typescript@5.0.4): - resolution: {integrity: sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.30.0)(typescript@5.0.4) - '@typescript-eslint/utils': 5.54.1(eslint@8.30.0)(typescript@5.0.4) - eslint: 8.30.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.30.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} @@ -15472,6 +15121,11 @@ packages: strip-final-newline: 3.0.0 dev: true + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -15896,6 +15550,10 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: false + /fs-extra@0.30.0: resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} dependencies: @@ -16070,6 +15728,10 @@ packages: through2: 4.0.2 dev: true + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -16708,10 +16370,6 @@ packages: uuid-parse: 1.1.0 dev: false - /hyphenate-style-name@1.0.4: - resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} - dev: false - /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -16813,7 +16471,6 @@ packages: /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} @@ -17091,6 +16748,10 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -18402,10 +18063,6 @@ packages: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true - /lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - dev: false - /lodash.clone@4.5.0: resolution: {integrity: sha512-GhrVeweiTD6uTmmn5hV/lzgCQhccwReIVRLHp7LT4SopOjqEZ5BbX8b5WWEtAKasjmy8hR7ZPwsYlxRCku5odg==} dev: true @@ -18425,6 +18082,7 @@ packages: /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -18432,6 +18090,7 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true /lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} @@ -18592,11 +18251,6 @@ packages: engines: {node: '>=12'} dev: false - /lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - dev: true - /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -18646,12 +18300,6 @@ packages: hasBin: true dev: false - /matchmediaquery@0.3.1: - resolution: {integrity: sha512-Hlk20WQHRIm9EE9luN1kjRjYXAQToHOIAHPJn9buxBwuhfTHoKUcX+lXBbxc85DVQfXYbEQ4HcwQdd128E3qHQ==} - dependencies: - css-mediaquery: 0.1.2 - dev: false - /mcl-wasm@0.7.9: resolution: {integrity: sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==} engines: {node: '>=8.9.0'} @@ -19468,11 +19116,6 @@ packages: engines: {node: '>=4'} dev: true - /mini-svg-data-uri@1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - dev: false - /minimal-polyfills@2.2.3: resolution: {integrity: sha512-oxdmJ9cL+xV72h0xYxp4tP2d5/fTBpP45H8DIOn9pASuF8a3IYTf+25fMGDYGiWW+MFsuog6KD6nfmhZJQ+uUw==} dev: false @@ -19547,6 +19190,10 @@ packages: minipass: 2.9.0 dev: false + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + /mkdirp-promise@5.0.1: resolution: {integrity: sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==} engines: {node: '>=4'} @@ -19782,6 +19429,10 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + /napi-macros@2.2.2: resolution: {integrity: sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==} dev: false @@ -19913,12 +19564,23 @@ packages: resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} engines: {node: '>=12.0.0'} + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: false + /node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} /node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: false + /node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -20722,14 +20384,6 @@ packages: postcss: 8.4.29 postcss-selector-parser: 6.0.11 - /postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: false - /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} @@ -20769,6 +20423,25 @@ packages: /preact@10.13.2: resolution: {integrity: sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==} + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.47.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -20857,15 +20530,6 @@ packages: ansi-styles: 4.3.0 react-is: 17.0.2 - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - dev: true - /pretty-format@29.6.3: resolution: {integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -21127,6 +20791,10 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: false + /queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} dependencies: @@ -21189,6 +20857,16 @@ packages: unpipe: 1.0.0 dev: false + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + /react-copy-to-clipboard@5.1.0(react@18.2.0): resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} peerDependencies: @@ -21420,19 +21098,6 @@ packages: use-sidecar: 1.1.2(@types/react@18.0.26)(react@18.2.0) dev: false - /react-responsive@9.0.2(react@18.2.0): - resolution: {integrity: sha512-+4CCab7z8G8glgJoRjAwocsgsv6VA2w7JPxFWHRc7kvz8mec1/K5LutNC2MG28Mn8mu6+bu04XZxHv5gyfT7xQ==} - engines: {node: '>=0.10'} - peerDependencies: - react: '>=16.8.0' - dependencies: - hyphenate-style-name: 1.0.4 - matchmediaquery: 0.3.1 - prop-types: 15.8.1 - react: 18.2.0 - shallow-equal: 1.2.1 - dev: false - /react-shallow-renderer@16.15.0(react@18.2.0): resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: @@ -21723,11 +21388,6 @@ packages: /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - /requireindex@1.2.0: - resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} - engines: {node: '>=0.10.5'} - dev: true - /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: false @@ -22157,14 +21817,25 @@ packages: dependencies: kind-of: 6.0.3 - /shallow-equal@1.2.1: - resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} - dev: false - /shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} dev: false + /sharp@0.32.5: + resolution: {integrity: sha512-0dap3iysgDkNaPOaOL4X/0akdu0ma62GcdC2NBQ+93eqpePdDdr2/LM0sFdDSMmN7yS+odyZtPsb7tx/cYBKnQ==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + dev: false + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -22218,6 +21889,14 @@ packages: simple-concat: 1.0.1 dev: false + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + /simple-peer@9.11.1: resolution: {integrity: sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==} dependencies: @@ -22232,6 +21911,12 @@ packages: - supports-color dev: false + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + /sinon-chai@3.7.0(chai@4.3.7)(sinon@15.2.0): resolution: {integrity: sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==} peerDependencies: @@ -22535,6 +22220,13 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + /streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + dependencies: + fast-fifo: 1.2.0 + queue-tick: 1.0.1 + dev: false + /strict-uri-encode@1.1.0: resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} engines: {node: '>=0.10.0'} @@ -22675,6 +22367,11 @@ packages: min-indent: 1.0.1 dev: true + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -22891,6 +22588,42 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + dev: false + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.2.0 + streamx: 2.15.1 + dev: false + /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} From 246d029adfc20472f5a1ac187f087745a0ad50fe Mon Sep 17 00:00:00 2001 From: Vitor Date: Tue, 5 Sep 2023 23:41:40 -0300 Subject: [PATCH 06/15] fix: nav layout --- components/layout/main-nav.tsx | 2 +- components/layout/mobile-nav.tsx | 2 +- components/layout/page-section.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/layout/main-nav.tsx b/components/layout/main-nav.tsx index 590383ec..6ba67864 100644 --- a/components/layout/main-nav.tsx +++ b/components/layout/main-nav.tsx @@ -110,7 +110,7 @@ const NavMenuListItem = ({
    Date: Wed, 6 Sep 2023 00:00:28 -0300 Subject: [PATCH 07/15] fix: session keys on mobile --- app/(general)/integration/session-keys/page.tsx | 4 ++-- integrations/session-keys/components/list-session-keys.tsx | 6 ++++-- lib/utils/index.ts | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/(general)/integration/session-keys/page.tsx b/app/(general)/integration/session-keys/page.tsx index a06bab54..6138f489 100644 --- a/app/(general)/integration/session-keys/page.tsx +++ b/app/(general)/integration/session-keys/page.tsx @@ -52,7 +52,7 @@ export default function SessionKeysPage() { -
    +
    -
    +
    +

    Session Keys:

    )} - {address} + {address} + {truncateEthAddress(address)} ))} diff --git a/lib/utils/index.ts b/lib/utils/index.ts index 498cfcae..d16a0cf2 100644 --- a/lib/utils/index.ts +++ b/lib/utils/index.ts @@ -32,3 +32,7 @@ export function trimFormattedBalance( const trimmedDecimal = decimal.slice(0, decimals) return `${integer}.${trimmedDecimal}` } + +export function truncateEthAddress(address: string) { + return `${address.slice(0, 6)}...${address.slice(-4)}` +} From 5cf99021767fd2b5acb339e6f5d01a250adc3662 Mon Sep 17 00:00:00 2001 From: Vitor Date: Wed, 6 Sep 2023 10:54:20 -0300 Subject: [PATCH 08/15] fix: mobile nav integrations --- app/(general)/integration/erc20/page.tsx | 66 ++++++++++++------------ components/layout/mobile-nav.tsx | 37 +++++-------- 2 files changed, 45 insertions(+), 58 deletions(-) diff --git a/app/(general)/integration/erc20/page.tsx b/app/(general)/integration/erc20/page.tsx index 783e90ee..72767ff8 100644 --- a/app/(general)/integration/erc20/page.tsx +++ b/app/(general)/integration/erc20/page.tsx @@ -55,40 +55,38 @@ export default function Erc20Page() { -
    - -
    - - - {token && ( - <> -
    - - Access the token page where you can update the url - parameters to select which ERC20 token to view - - - View Token Page - -
    - - - - - )} -
    -
    - -
    - -
    -
    -
    + +
    + + + {token && ( + <> +
    + + Access the token page where you can update the url + parameters to select which ERC20 token to view + + + View Token Page + +
    + + + + + )} +
    +
    + +
    + +
    +
    ) diff --git a/components/layout/mobile-nav.tsx b/components/layout/mobile-nav.tsx index eb4d3db7..aebf044e 100644 --- a/components/layout/mobile-nav.tsx +++ b/components/layout/mobile-nav.tsx @@ -90,23 +90,16 @@ export function MobileNav() { .filter( (integration) => integration.category === category ) - .map( - ({ - name, - href, - description, - imgDark, - imgLight, - }) => ( - - ) - )} + .map(({ name, href, imgDark, imgLight }) => ( + + ))} ))} @@ -198,15 +191,11 @@ const NavMenuListItem = ({ darkImage, onOpenChange, }: NavMenuListItemProps) => { - const router = useRouter() return (
  • - { - router.push(href.toString()) - onOpenChange?.(false) - }} className="block select-none space-y-1 rounded-md py-3 pl-2 leading-none no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground" >
    @@ -220,7 +209,7 @@ const NavMenuListItem = ({ /> {name}
    - +
  • ) } From 6e2235f3a273d1a2dd160c5032a4d8ef0ae2e97a Mon Sep 17 00:00:00 2001 From: Vitor Date: Wed, 6 Sep 2023 11:07:22 -0300 Subject: [PATCH 09/15] fix: cta on homepage --- app/(general)/page.tsx | 6 ++++-- components/shared/copy-button.tsx | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/(general)/page.tsx b/app/(general)/page.tsx index 198ddd15..209b4b22 100644 --- a/app/(general)/page.tsx +++ b/app/(general)/page.tsx @@ -17,7 +17,7 @@ import { ExampleDemos } from "@/components/shared/example-demos" export default function HomePage() { return ( -
    +
    - pnpm create turbo-eth@latest + + pnpm create turbo-eth@latest + diff --git a/components/shared/copy-button.tsx b/components/shared/copy-button.tsx index 02928262..4dc14109 100644 --- a/components/shared/copy-button.tsx +++ b/components/shared/copy-button.tsx @@ -34,7 +34,7 @@ export function CopyButton({ return ( ) From c725f7e96aab5e182a494065f11c41ab7edcb4d2 Mon Sep 17 00:00:00 2001 From: Vitor Date: Wed, 6 Sep 2023 14:46:28 -0300 Subject: [PATCH 10/15] fix: card in disco integration --- app/(general)/integration/disco/page.tsx | 34 ++-- .../disco/components/disco-profile-basic.tsx | 2 +- .../components/disco-profile-credentials.tsx | 42 ++--- .../form-issue-proof-of-hack/index.tsx | 145 ++++++++++-------- 4 files changed, 124 insertions(+), 99 deletions(-) diff --git a/app/(general)/integration/disco/page.tsx b/app/(general)/integration/disco/page.tsx index 871d1089..cf3863a3 100644 --- a/app/(general)/integration/disco/page.tsx +++ b/app/(general)/integration/disco/page.tsx @@ -7,6 +7,8 @@ import { useAccount } from "wagmi" import { cn } from "@/lib/utils" import { buttonVariants } from "@/components/ui/button" +import { Card, CardContent, CardHeader } from "@/components/ui/card" +import { Separator } from "@/components/ui/separator" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { WalletConnect } from "@/components/blockchain/wallet-connect" import { @@ -66,18 +68,26 @@ export default function DiscoPage() {
    -
    -

    Disco Profile

    -
    - -
    -
    -

    - Disco Verifiable Credentials -

    -
    - -
    + + +

    Disco Profile

    + +
    + + + +
    + + +

    + Disco Verifiable Credentials +

    + +
    + + + +
    diff --git a/integrations/disco/components/disco-profile-basic.tsx b/integrations/disco/components/disco-profile-basic.tsx index a51deae3..b668e571 100644 --- a/integrations/disco/components/disco-profile-basic.tsx +++ b/integrations/disco/components/disco-profile-basic.tsx @@ -36,7 +36,7 @@ export const DiscoProfileBasic = ({ return (
    ( -
    {`${ - credential?.type[1] || credential?.type[0] - }`}
    -
    -
    -
      - {credential?.type?.map((type, idx) => { - return ( -
    • - {type} -
    • - ) - })} -
    -
    + + +
    {`${ + credential?.type[1] || credential?.type[0] + }`}
    +
    +
    +
      + {credential?.type?.map((type, idx) => { + return ( +
    • + {type} +
    • + ) + })} +
    +
    +
    +
    ))}
    diff --git a/integrations/disco/components/form-issue-proof-of-hack/index.tsx b/integrations/disco/components/form-issue-proof-of-hack/index.tsx index 77b78234..18cb9730 100644 --- a/integrations/disco/components/form-issue-proof-of-hack/index.tsx +++ b/integrations/disco/components/form-issue-proof-of-hack/index.tsx @@ -3,6 +3,7 @@ import { FaCopy } from "react-icons/fa" import { useToast } from "@/lib/hooks/use-toast" import { Button } from "@/components/ui/button" +import { Card, CardContent, CardFooter, CardHeader } from "@/components/ui/card" import { Form, FormControl, @@ -11,6 +12,7 @@ import { FormLabel, FormMessage, } from "@/components/ui/form" +import { Separator } from "@/components/ui/separator" import { getComponent } from "../../utils/get-element-component" import { issueProofOfHackFormControls } from "./controls" @@ -35,79 +37,88 @@ export function FormCredentialIssuanceProofOfHack() { return ( <> -
    -
    - - {issueProofOfHackFormControls.map((item) => { - const Item = getComponent(item?.component) + + + + + {issueProofOfHackFormControls.map((item) => { + const Item = getComponent(item?.component) - return ( - ( - - {item?.label} - - - - - - )} - /> - ) - })} -
    - {isError && ( -
    - {error instanceof Error ? error.message : String(error)} -
    - )} - -
    - - -
    -
    + return ( + ( + + {item?.label} + + + + + + )} + /> + ) + })} +
    + {isError && ( +
    + {error instanceof Error ? error.message : String(error)} +
    + )} + +
    + + + + +

    Proof of Hack

    Proof of Hack recognizes the holder for participating in a Hackathon

    -
    -
    + + {isSuccess && ( -
    -
    -

    - Successfully Created Proof of Hack Credential -

    - - - - - -
    - -
    -