From 59f570db55fc2ebf4ee85b582a9eeecd2750eb5f Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:32:34 -0500
Subject: [PATCH 01/35] Remove App Directory
---
app/create/page.tsx | 66 -----
.../[daoAddress]/edit/governance/page.tsx | 68 -----
app/daos/[daoAddress]/hierarchy/page.tsx | 46 ----
app/daos/[daoAddress]/layout.tsx | 146 ----------
app/daos/[daoAddress]/new/page.tsx | 42 ---
app/daos/[daoAddress]/page.tsx | 23 --
.../proposal-templates/new/page.tsx | 218 ---------------
.../[daoAddress]/proposal-templates/page.tsx | 44 ---
.../proposals/[proposalId]/page.tsx | 88 ------
app/daos/[daoAddress]/proposals/new/page.tsx | 166 ------------
app/daos/[daoAddress]/proposals/page.tsx | 109 --------
app/daos/[daoAddress]/settings/page.tsx | 42 ---
app/daos/[daoAddress]/treasury/page.tsx | 67 -----
app/layout.tsx | 75 ------
app/page.tsx | 253 ------------------
15 files changed, 1453 deletions(-)
delete mode 100644 app/create/page.tsx
delete mode 100644 app/daos/[daoAddress]/edit/governance/page.tsx
delete mode 100644 app/daos/[daoAddress]/hierarchy/page.tsx
delete mode 100644 app/daos/[daoAddress]/layout.tsx
delete mode 100644 app/daos/[daoAddress]/new/page.tsx
delete mode 100644 app/daos/[daoAddress]/page.tsx
delete mode 100644 app/daos/[daoAddress]/proposal-templates/new/page.tsx
delete mode 100644 app/daos/[daoAddress]/proposal-templates/page.tsx
delete mode 100644 app/daos/[daoAddress]/proposals/[proposalId]/page.tsx
delete mode 100644 app/daos/[daoAddress]/proposals/new/page.tsx
delete mode 100644 app/daos/[daoAddress]/proposals/page.tsx
delete mode 100644 app/daos/[daoAddress]/settings/page.tsx
delete mode 100644 app/daos/[daoAddress]/treasury/page.tsx
delete mode 100644 app/layout.tsx
delete mode 100644 app/page.tsx
diff --git a/app/create/page.tsx b/app/create/page.tsx
deleted file mode 100644
index 2fe1bd9925..0000000000
--- a/app/create/page.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-'use client';
-
-import { ethers } from 'ethers';
-import { useRouter } from 'next/navigation';
-import { useCallback, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { toast } from 'react-toastify';
-import DaoCreator from '../../src/components/DaoCreator';
-import { DAOCreateMode } from '../../src/components/DaoCreator/formComponents/EstablishEssentials';
-import ClientOnly from '../../src/components/ui/utils/ClientOnly';
-import { BASE_ROUTES, DAO_ROUTES } from '../../src/constants/routes';
-import { useAccountFavorites } from '../../src/hooks/DAO/loaders/useFavorites';
-import useDeployDAO from '../../src/hooks/DAO/useDeployDAO';
-import { useAsyncRetry } from '../../src/hooks/utils/useAsyncRetry';
-import { useSafeAPI } from '../../src/providers/App/hooks/useSafeAPI';
-import { SafeMultisigDAO, AzoriusERC20DAO, AzoriusERC721DAO } from '../../src/types';
-
-export default function DaoCreatePage() {
- const { push } = useRouter();
- const { requestWithRetries } = useAsyncRetry();
- const { toggleFavorite } = useAccountFavorites();
- const [redirectPending, setRedirectPending] = useState(false);
- const { t } = useTranslation('transaction');
- const safeAPI = useSafeAPI();
-
- const successCallback = useCallback(
- async (daoAddress: string) => {
- setRedirectPending(true);
- const { getAddress } = ethers.utils;
- const daoFound = await requestWithRetries(
- () => safeAPI.getSafeCreationInfo(getAddress(daoAddress)),
- 8
- );
- toggleFavorite(daoAddress);
- if (daoFound) {
- push(DAO_ROUTES.dao.relative(daoAddress));
- } else {
- toast(t('failedIndexSafe'), {
- autoClose: false,
- closeOnClick: true,
- draggable: false,
- closeButton: false,
- progress: 1,
- });
- push(BASE_ROUTES.landing);
- }
- },
- [safeAPI, requestWithRetries, toggleFavorite, push, t]
- );
-
- const [deploy, pending] = useDeployDAO();
-
- const deployDAO = (daoData: SafeMultisigDAO | AzoriusERC20DAO | AzoriusERC721DAO) => {
- deploy(daoData, successCallback);
- };
-
- return (
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/edit/governance/page.tsx b/app/daos/[daoAddress]/edit/governance/page.tsx
deleted file mode 100644
index d712090f23..0000000000
--- a/app/daos/[daoAddress]/edit/governance/page.tsx
+++ /dev/null
@@ -1,68 +0,0 @@
-'use client';
-
-import { Box } from '@chakra-ui/react';
-import { CloseX } from '@decent-org/fractal-ui';
-import { useRouter } from 'next/navigation';
-import { useTranslation } from 'react-i18next';
-import DaoCreator from '../../../../../src/components/DaoCreator';
-import { DAOCreateMode } from '../../../../../src/components/DaoCreator/formComponents/EstablishEssentials';
-import { EmptyBox } from '../../../../../src/components/ui/containers/EmptyBox';
-import PageHeader from '../../../../../src/components/ui/page/Header/PageHeader';
-import { DAO_ROUTES } from '../../../../../src/constants/routes';
-import useDeployAzorius from '../../../../../src/hooks/DAO/useDeployAzorius';
-import { createAccountSubstring } from '../../../../../src/hooks/utils/useDisplayName';
-import { useFractal } from '../../../../../src/providers/App/AppProvider';
-import {
- DAOTrigger,
- AzoriusERC20DAO,
- AzoriusERC721DAO,
- GovernanceType,
-} from '../../../../../src/types';
-
-export default function ModifyGovernancePage() {
- const {
- node: { daoAddress, safe, daoName, daoSnapshotURL },
- governance: { type },
- readOnly: { user },
- } = useFractal();
- const { t } = useTranslation(['daoEdit', 'common', 'breadcrumbs']);
- const { push } = useRouter();
- const isMultisig = type === GovernanceType.MULTISIG;
- const isSigner = user.address && safe?.owners.includes(user.address);
- const deployAzorius = useDeployAzorius();
-
- const handleDeployAzorius: DAOTrigger = daoData => {
- deployAzorius(
- daoData as AzoriusERC20DAO | AzoriusERC721DAO,
- !daoName || createAccountSubstring(daoAddress!) === daoName,
- !daoSnapshotURL && !!daoData.snapshotURL
- );
- };
-
- return (
-
- push(DAO_ROUTES.dao.relative(daoAddress))}
- isButtonDisabled={false}
- breadcrumbs={[
- {
- terminus: t('modifyGovernance', { ns: 'breadcrumbs' }),
- path: '',
- },
- ]}
- />
- {isMultisig && isSigner ? (
-
- ) : (
-
- )}
-
- );
-}
diff --git a/app/daos/[daoAddress]/hierarchy/page.tsx b/app/daos/[daoAddress]/hierarchy/page.tsx
deleted file mode 100644
index c148044bcb..0000000000
--- a/app/daos/[daoAddress]/hierarchy/page.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-'use client';
-
-import { Center } from '@chakra-ui/react';
-import { useTranslation } from 'react-i18next';
-import { DaoNode } from '../../../../src/components/pages/DaoHierarchy/DaoNode';
-import { BarLoader } from '../../../../src/components/ui/loaders/BarLoader';
-import PageHeader from '../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import { HEADER_HEIGHT } from '../../../../src/constants/common';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-
-export default function HierarchyPage() {
- const {
- node: { daoAddress, daoName, nodeHierarchy },
- } = useFractal();
- const { t } = useTranslation('breadcrumbs');
-
- if (!daoAddress) {
- return (
-
-
-
- );
- }
-
- return (
-
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/layout.tsx b/app/daos/[daoAddress]/layout.tsx
deleted file mode 100644
index d41156d4dc..0000000000
--- a/app/daos/[daoAddress]/layout.tsx
+++ /dev/null
@@ -1,146 +0,0 @@
-'use client';
-
-import { Button, Center, Text, VStack, ChakraProvider, extendTheme } from '@chakra-ui/react';
-import { theme } from '@decent-org/fractal-ui';
-import Script from 'next/script';
-import { ReactNode, useMemo } from 'react';
-import { useTranslation } from 'react-i18next';
-import { useNetwork } from 'wagmi';
-import ClientOnly from '../../../src/components/ui/utils/ClientOnly';
-import { APP_NAME } from '../../../src/constants/common';
-import useDAOController from '../../../src/hooks/DAO/useDAOController';
-import useDAOMetadata from '../../../src/hooks/DAO/useDAOMetadata';
-import { useFractal } from '../../../src/providers/App/AppProvider';
-import {
- disconnectedChain,
- supportedChains,
-} from '../../../src/providers/NetworkConfig/NetworkConfigProvider';
-
-function InvalidSafe() {
- const { chain } = useNetwork();
- const { t } = useTranslation('common');
- return (
-
-
-
- {t('errorSentryFallbackTitle')}
-
- {t('invalidSafe1', { chain: chain ? chain.name : disconnectedChain.name })}
- {t('invalidSafe2')}
-
-
-
- );
-}
-
-function InvalidChain() {
- const { t } = useTranslation(['common', 'menu']);
- const supportedChainNames = supportedChains.map(c => c.name).join(', ');
- return (
-
-
-
- {t('errorSentryFallbackTitle')}
-
- {t('invalidChain')}
-
- {t('toastSwitchChain', { ns: 'menu', chainNames: supportedChainNames })}
-
-
-
- );
-}
-
-export default function DaoPageLayout({
- children,
- params: { daoAddress },
-}: {
- children: ReactNode;
- params: { daoAddress?: string };
-}) {
- const { node } = useFractal();
- const { nodeLoading, reloadingDAO, errorLoading } = useDAOController({ daoAddress });
- const daoMetadata = useDAOMetadata();
- const { chain } = useNetwork();
- const activeTheme = useMemo(() => {
- if (daoMetadata && daoMetadata.bodyBackground) {
- return extendTheme({
- ...theme,
- styles: {
- ...theme.styles,
- global: {
- ...theme.styles.global,
- html: {
- ...theme.styles.global.html,
- background: daoMetadata.bodyBackground,
- },
- body: {
- ...theme.styles.global.body,
- background: 'none',
- },
- },
- },
- });
- }
- return theme;
- }, [daoMetadata]);
-
- const validSafe = node.safe;
- let display;
- const childrenDisplay = {children};
-
- if (process.env.NEXT_PUBLIC_TESTING_ENVIRONMENT) {
- display = childrenDisplay;
- } else if (!chain) {
- // if we're disconnected
- if (nodeLoading || reloadingDAO || validSafe || !errorLoading) {
- display = children;
- } else {
- display = ;
- }
- } else {
- // if we're connected
- const invalidChain = !supportedChains.map(c => c.chainId).includes(chain.id);
- if (invalidChain) {
- display = ;
- } else if (nodeLoading || reloadingDAO || validSafe || !errorLoading) {
- display = children;
- } else {
- display = ;
- }
- }
-
- return (
-
- {node?.daoName ? `${node.daoName} | ${APP_NAME}` : APP_NAME}
- {node && node.daoAddress === '0x167bE4073f52aD2Aa0D6d6FeddF0F1f79a82B98e' && (
-
- )}
- {display}
-
- );
-}
diff --git a/app/daos/[daoAddress]/new/page.tsx b/app/daos/[daoAddress]/new/page.tsx
deleted file mode 100644
index 3ad9324976..0000000000
--- a/app/daos/[daoAddress]/new/page.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-'use client';
-
-import { useRouter } from 'next/navigation';
-import { useState } from 'react';
-import DaoCreator from '../../../../src/components/DaoCreator';
-import { DAOCreateMode } from '../../../../src/components/DaoCreator/formComponents/EstablishEssentials';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import { DAO_ROUTES } from '../../../../src/constants/routes';
-import { useCreateSubDAOProposal } from '../../../../src/hooks/DAO/useCreateSubDAOProposal';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-import { SafeMultisigDAO, AzoriusGovernanceDAO, SubDAO } from '../../../../src/types';
-
-export default function SubDaoCreate() {
- const { push } = useRouter();
- const [redirectPending, setRedirectPending] = useState(false);
- const {
- node: { safe },
- } = useFractal();
-
- const successCallback = async (daoAddress: string) => {
- setRedirectPending(true);
- push(DAO_ROUTES.dao.relative(daoAddress));
- };
-
- const { proposeDao, pendingCreateTx } = useCreateSubDAOProposal();
-
- const proposeSubDAO = (daoData: SafeMultisigDAO | AzoriusGovernanceDAO | SubDAO) => {
- const subDAOData = daoData as SubDAO;
- proposeDao(subDAOData, subDAOData.customNonce || safe?.nonce, successCallback);
- };
-
- return (
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/page.tsx b/app/daos/[daoAddress]/page.tsx
deleted file mode 100644
index e1054d30d3..0000000000
--- a/app/daos/[daoAddress]/page.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-'use client';
-
-import { Activities } from '../../../src/components/pages/DaoDashboard/Activities';
-import { ERCO20Claim } from '../../../src/components/pages/DaoDashboard/ERC20Claim';
-import { Info } from '../../../src/components/pages/DaoDashboard/Info';
-import InfoHeader from '../../../src/components/pages/DaoDashboard/Info/InfoHeader';
-import ClientOnly from '../../../src/components/ui/utils/ClientOnly';
-import useDAOMetadata from '../../../src/hooks/DAO/useDAOMetadata';
-
-export default function DaoDashboardPage() {
- const daoMetadata = useDAOMetadata();
-
- return (
- <>
-
-
-
-
-
-
- >
- );
-}
diff --git a/app/daos/[daoAddress]/proposal-templates/new/page.tsx b/app/daos/[daoAddress]/proposal-templates/new/page.tsx
deleted file mode 100644
index 87bfd7d7b8..0000000000
--- a/app/daos/[daoAddress]/proposal-templates/new/page.tsx
+++ /dev/null
@@ -1,218 +0,0 @@
-'use client';
-
-import { Box, Flex, Grid, GridItem, Text } from '@chakra-ui/react';
-import { Trash } from '@decent-org/fractal-ui';
-import { BigNumber } from 'ethers';
-import { Formik, FormikProps } from 'formik';
-import { useRouter, useSearchParams } from 'next/navigation';
-import { useEffect, useState, useMemo } from 'react';
-import { useTranslation } from 'react-i18next';
-import ProposalTemplateDetails from '../../../../../src/components/CreateProposalTemplate/ProposalTemplateDetails';
-import ProposalTemplateMetadata from '../../../../../src/components/CreateProposalTemplate/ProposalTemplateMetadata';
-import ProposalTemplateTransactionsForm from '../../../../../src/components/CreateProposalTemplate/ProposalTemplateTransactionsForm';
-import { DEFAULT_PROPOSAL_TEMPLATE } from '../../../../../src/components/CreateProposalTemplate/constants';
-import { CustomNonceInput } from '../../../../../src/components/ui/forms/CustomNonceInput';
-import PageHeader from '../../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../../src/components/ui/utils/ClientOnly';
-import { BACKGROUND_SEMI_TRANSPARENT } from '../../../../../src/constants/common';
-import { BASE_ROUTES, DAO_ROUTES } from '../../../../../src/constants/routes';
-import { logError } from '../../../../../src/helpers/errorLogging';
-import useCreateProposalTemplate from '../../../../../src/hooks/DAO/proposal/useCreateProposalTemplate';
-import useSubmitProposal from '../../../../../src/hooks/DAO/proposal/useSubmitProposal';
-import useCreateProposalTemplateSchema from '../../../../../src/hooks/schemas/createProposalTemplate/useCreateProposalTemplateSchema';
-import { useFractal } from '../../../../../src/providers/App/AppProvider';
-import useIPFSClient from '../../../../../src/providers/App/hooks/useIPFSClient';
-import {
- CreateProposalTemplateForm,
- CreateProposalTemplateFormState,
- ProposalTemplate,
-} from '../../../../../src/types/createProposalTemplate';
-
-const templateAreaTwoCol = '"content details"';
-const templateAreaSingleCol = `"content"
- "details"`;
-
-export default function CreateProposalTemplatePage() {
- const [formState, setFormState] = useState(CreateProposalTemplateFormState.METADATA_FORM);
- const [initialProposalTemplate, setInitialProposalTemplate] = useState(DEFAULT_PROPOSAL_TEMPLATE);
- const { t } = useTranslation(['proposalTemplate', 'proposal']);
-
- const { push } = useRouter();
- const searchParams = useSearchParams();
- const defaultProposalTemplatesHash = useMemo(
- () => searchParams?.get('templatesHash'),
- [searchParams]
- );
- const defaultProposalTemplateIndex = useMemo(
- () => searchParams?.get('templateIndex'),
- [searchParams]
- );
-
- const {
- node: { daoAddress, safe },
- } = useFractal();
-
- const { prepareProposalTemplateProposal } = useCreateProposalTemplate();
- const { submitProposal, pendingCreateTx, canUserCreateProposal } = useSubmitProposal();
- const { createProposalTemplateValidation } = useCreateProposalTemplateSchema();
- const ipfsClient = useIPFSClient();
-
- const successCallback = () => {
- if (daoAddress) {
- // Redirecting to proposals page so that user will see Proposal for Proposal Template creation
- push(DAO_ROUTES.proposals.relative(daoAddress));
- }
- };
-
- useEffect(() => {
- const loadInitialTemplate = async () => {
- if (defaultProposalTemplatesHash && defaultProposalTemplateIndex) {
- try {
- const proposalTemplates = await ipfsClient.cat(defaultProposalTemplatesHash);
- const initialTemplate: ProposalTemplate = proposalTemplates[defaultProposalTemplateIndex];
- if (initialTemplate) {
- const newInitialValue = {
- nonce: undefined,
- proposalTemplateMetadata: {
- title: initialTemplate.title,
- description: initialTemplate.description || '',
- },
- transactions: initialTemplate.transactions.map(tx => ({
- ...tx,
- ethValue: {
- value: tx.ethValue.value,
- bigNumerValue: BigNumber.from(tx.ethValue.value || 0),
- },
- })),
- };
- setInitialProposalTemplate(newInitialValue);
- }
- } catch (e) {
- logError('Error while fetching initial template values', e);
- }
- }
- };
- loadInitialTemplate();
- }, [defaultProposalTemplatesHash, defaultProposalTemplateIndex, ipfsClient]);
-
- return (
-
-
- validationSchema={createProposalTemplateValidation}
- initialValues={initialProposalTemplate}
- enableReinitialize
- onSubmit={async values => {
- if (canUserCreateProposal) {
- const proposalData = await prepareProposalTemplateProposal(values);
- if (proposalData) {
- submitProposal({
- proposalData,
- nonce: values?.nonce,
- pendingToastMessage: t('proposalCreatePendingToastMessage', { ns: 'proposal' }),
- successToastMessage: t('proposalCreateSuccessToastMessage', { ns: 'proposal' }),
- failedToastMessage: t('proposalCreateFailureToastMessage', { ns: 'proposal' }),
- successCallback,
- });
- }
- }
- }}
- >
- {(formikProps: FormikProps) => {
- const { handleSubmit } = formikProps;
-
- return (
-
- );
- }}
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/proposal-templates/page.tsx b/app/daos/[daoAddress]/proposal-templates/page.tsx
deleted file mode 100644
index 963221cd99..0000000000
--- a/app/daos/[daoAddress]/proposal-templates/page.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-'use client';
-
-import { Button, Show } from '@chakra-ui/react';
-import { AddPlus } from '@decent-org/fractal-ui';
-import Link from 'next/link';
-import { useTranslation } from 'react-i18next';
-import ProposalTemplates from '../../../../src/components/ProposalTemplates';
-import PageHeader from '../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import { DAO_ROUTES } from '../../../../src/constants/routes';
-import useSubmitProposal from '../../../../src/hooks/DAO/proposal/useSubmitProposal';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-
-export default function ProposalTemplatesPage() {
- const { t } = useTranslation();
- const {
- node: { daoAddress },
- } = useFractal();
- const { canUserCreateProposal } = useSubmitProposal();
-
- return (
-
-
- {canUserCreateProposal && (
-
-
-
- )}
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/proposals/[proposalId]/page.tsx b/app/daos/[daoAddress]/proposals/[proposalId]/page.tsx
deleted file mode 100644
index 3a86f14b33..0000000000
--- a/app/daos/[daoAddress]/proposals/[proposalId]/page.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-'use client';
-
-import { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import { AzoriusProposalDetails } from '../../../../../src/components/Proposals/AzoriusDetails';
-import { MultisigProposalDetails } from '../../../../../src/components/Proposals/MultisigProposalDetails';
-import SnapshotProposalDetails from '../../../../../src/components/Proposals/SnapshotProposalDetails';
-import { EmptyBox } from '../../../../../src/components/ui/containers/EmptyBox';
-import { InfoBoxLoader } from '../../../../../src/components/ui/loaders/InfoBoxLoader';
-import PageHeader from '../../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../../src/components/ui/utils/ClientOnly';
-import { DAO_ROUTES } from '../../../../../src/constants/routes';
-import useSnapshotProposal from '../../../../../src/hooks/DAO/loaders/snapshot/useSnapshotProposal';
-import { useGetMetadata } from '../../../../../src/hooks/DAO/proposal/useGetMetadata';
-import { useFractal } from '../../../../../src/providers/App/AppProvider';
-import { FractalProposal, AzoriusProposal, SnapshotProposal } from '../../../../../src/types';
-
-export default function ProposalDetailsPage({
- params: { proposalId },
-}: {
- params: { proposalId: string };
-}) {
- const {
- node: { daoAddress },
- governance: { proposals },
- readOnly: { dao },
- } = useFractal();
-
- const [proposal, setProposal] = useState();
- const { isSnapshotProposal, snapshotProposal } = useSnapshotProposal(proposal);
- const metaData = useGetMetadata(proposal);
- const { t } = useTranslation(['proposal', 'navigation', 'breadcrumbs', 'dashboard']);
-
- const azoriusProposal = proposal as AzoriusProposal;
-
- useEffect(() => {
- if (!proposals || !proposals.length || !proposalId) {
- setProposal(undefined);
- return;
- }
-
- const foundProposal = proposals.find(p => {
- const currentSnapshotProposal = p as SnapshotProposal;
- if (!!currentSnapshotProposal.snapshotProposalId) {
- return currentSnapshotProposal.snapshotProposalId === proposalId;
- }
- return p.proposalId === proposalId;
- });
- if (!foundProposal) {
- setProposal(null);
- return;
- }
- setProposal(foundProposal);
- }, [proposals, proposalId, isSnapshotProposal]);
-
- return (
-
-
- {proposal === undefined ? (
-
- ) : proposal === null ? (
-
- ) : isSnapshotProposal ? (
-
- ) : dao?.isAzorius ? (
-
- ) : (
-
- )}
-
- );
-}
diff --git a/app/daos/[daoAddress]/proposals/new/page.tsx b/app/daos/[daoAddress]/proposals/new/page.tsx
deleted file mode 100644
index dc79b44ba5..0000000000
--- a/app/daos/[daoAddress]/proposals/new/page.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-'use client';
-
-import { Grid, GridItem, Box, Flex, Center } from '@chakra-ui/react';
-import { Trash } from '@decent-org/fractal-ui';
-import { Formik, FormikProps } from 'formik';
-import { useRouter } from 'next/navigation';
-import { useState, useMemo } from 'react';
-import { useTranslation } from 'react-i18next';
-import { ProposalDetails } from '../../../../../src/components/ProposalCreate/ProposalDetails';
-import { ProposalHeader } from '../../../../../src/components/ProposalCreate/ProposalHeader';
-import ProposalMetadata from '../../../../../src/components/ProposalCreate/ProposalMetadata';
-import TransactionsForm from '../../../../../src/components/ProposalCreate/TransactionsForm';
-import { DEFAULT_PROPOSAL } from '../../../../../src/components/ProposalCreate/constants';
-import { BarLoader } from '../../../../../src/components/ui/loaders/BarLoader';
-import PageHeader from '../../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../../src/components/ui/utils/ClientOnly';
-import { BACKGROUND_SEMI_TRANSPARENT, HEADER_HEIGHT } from '../../../../../src/constants/common';
-import { DAO_ROUTES } from '../../../../../src/constants/routes';
-import { usePrepareProposal } from '../../../../../src/hooks/DAO/proposal/usePrepareProposal';
-import useSubmitProposal from '../../../../../src/hooks/DAO/proposal/useSubmitProposal';
-import { useCreateProposalSchema } from '../../../../../src/hooks/schemas/proposalCreate/useCreateProposalSchema';
-import { useFractal } from '../../../../../src/providers/App/AppProvider';
-import { CreateProposalForm, CreateProposalState, GovernanceType } from '../../../../../src/types';
-
-const templateAreaTwoCol = '"content details"';
-const templateAreaSingleCol = `"content"
- "details"`;
-
-export default function ProposalCreatePage() {
- const {
- node: { daoAddress, safe },
- governance: { type },
- } = useFractal();
- const { createProposalValidation } = useCreateProposalSchema();
- const { prepareProposal } = usePrepareProposal();
- const { submitProposal, pendingCreateTx, canUserCreateProposal } = useSubmitProposal();
-
- const { push } = useRouter();
- const { t } = useTranslation(['proposal', 'common', 'breadcrumbs']);
-
- const [formState, setFormState] = useState(CreateProposalState.METADATA_FORM);
- const isAzorius = useMemo(
- () => type === GovernanceType.AZORIUS_ERC20 || type === GovernanceType.AZORIUS_ERC721,
- [type]
- );
-
- const successCallback = () => {
- if (daoAddress) {
- push(DAO_ROUTES.proposals.relative(daoAddress));
- }
- };
-
- if (!type || !daoAddress || !safe) {
- return (
-
-
-
- );
- }
-
- return (
-
-
- validationSchema={createProposalValidation}
- initialValues={{ ...DEFAULT_PROPOSAL, nonce: safe.nonce }}
- onSubmit={async values => {
- const { nonce } = values;
- const proposalData = await prepareProposal(values);
- submitProposal({
- proposalData,
- nonce,
- pendingToastMessage: t('proposalCreatePendingToastMessage'),
- successToastMessage: t('proposalCreateSuccessToastMessage'),
- failedToastMessage: t('proposalCreateFailureToastMessage'),
- successCallback,
- });
- }}
- validateOnMount
- isInitialValid={false}
- >
- {(formikProps: FormikProps) => {
- const { handleSubmit, setFieldValue, values } = formikProps;
- return (
-
- );
- }}
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/proposals/page.tsx b/app/daos/[daoAddress]/proposals/page.tsx
deleted file mode 100644
index a62a32f0f9..0000000000
--- a/app/daos/[daoAddress]/proposals/page.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-'use client';
-
-import { Button, Flex, Show, Text } from '@chakra-ui/react';
-import { AddPlus, TokenPlaceholder } from '@decent-org/fractal-ui';
-import Link from 'next/link';
-import { useMemo } from 'react';
-import { useTranslation } from 'react-i18next';
-import Proposals from '../../../../src/components/Proposals';
-import { ModalType } from '../../../../src/components/ui/modals/ModalProvider';
-import { useFractalModal } from '../../../../src/components/ui/modals/useFractalModal';
-import PageHeader from '../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import { DAO_ROUTES } from '../../../../src/constants/routes';
-import useSubmitProposal from '../../../../src/hooks/DAO/proposal/useSubmitProposal';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-import { AzoriusGovernance, DecentGovernance, GovernanceType } from '../../../../src/types';
-
-export default function ProposalsPage() {
- const { t } = useTranslation(['common', 'proposal', 'breadcrumbs']);
- const {
- governance,
- node: { daoAddress },
- } = useFractal();
- const azoriusGovernance = governance as AzoriusGovernance;
- const delegate = useFractalModal(ModalType.DELEGATE);
- const wrapTokenOpen = useFractalModal(ModalType.WRAP_TOKEN);
- const unwrapTokenOpen = useFractalModal(ModalType.UNWRAP_TOKEN);
- const canDelegate = useMemo(() => {
- if (azoriusGovernance.type === GovernanceType.AZORIUS_ERC20) {
- const decentGovernance = azoriusGovernance as DecentGovernance;
- const hasLockedTokenBalance = decentGovernance?.lockedVotesToken?.balance?.gt(0);
- const hasVotesTokenBalance = azoriusGovernance?.votesToken?.balance?.gt(0);
- return hasVotesTokenBalance || hasLockedTokenBalance;
- }
- return false;
- }, [azoriusGovernance]);
- const { canUserCreateProposal } = useSubmitProposal();
-
- const showWrapTokenButton = !!azoriusGovernance.votesToken?.underlyingTokenData;
- const showUnWrapTokenButton =
- showWrapTokenButton &&
- !!azoriusGovernance.votesToken?.balance &&
- !azoriusGovernance.votesToken.balance.isZero();
-
- return (
-
-
- {showWrapTokenButton && (
-
- )}
- {showUnWrapTokenButton && (
-
- )}
- {canUserCreateProposal && (
-
-
-
- )}
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/settings/page.tsx b/app/daos/[daoAddress]/settings/page.tsx
deleted file mode 100644
index cc21aafe32..0000000000
--- a/app/daos/[daoAddress]/settings/page.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-'use client';
-
-import { Center } from '@chakra-ui/react';
-import { useTranslation } from 'react-i18next';
-import { Settings } from '../../../../src/components/pages/DaoSettings';
-import { BarLoader } from '../../../../src/components/ui/loaders/BarLoader';
-import PageHeader from '../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import { HEADER_HEIGHT } from '../../../../src/constants/common';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-
-export default function SettingsPage() {
- const { t } = useTranslation('breadcrumbs');
- const {
- node: { daoAddress, daoName },
- } = useFractal();
-
- if (!daoAddress) {
- return (
-
-
-
- );
- }
- return (
-
-
-
-
- );
-}
diff --git a/app/daos/[daoAddress]/treasury/page.tsx b/app/daos/[daoAddress]/treasury/page.tsx
deleted file mode 100644
index 12450364bc..0000000000
--- a/app/daos/[daoAddress]/treasury/page.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-'use client';
-
-import { Flex } from '@chakra-ui/react';
-import { useTranslation } from 'react-i18next';
-import { Assets } from '../../../../src/components/pages/DAOTreasury/components/Assets';
-import { Transactions } from '../../../../src/components/pages/DAOTreasury/components/Transactions';
-import { useTreasuryTotalBN } from '../../../../src/components/pages/DAOTreasury/hooks/useTreasuryTotalBN';
-import { TitledInfoBox } from '../../../../src/components/ui/containers/TitledInfoBox';
-import { ModalType } from '../../../../src/components/ui/modals/ModalProvider';
-import { useFractalModal } from '../../../../src/components/ui/modals/useFractalModal';
-import PageHeader from '../../../../src/components/ui/page/Header/PageHeader';
-import ClientOnly from '../../../../src/components/ui/utils/ClientOnly';
-import useSubmitProposal from '../../../../src/hooks/DAO/proposal/useSubmitProposal';
-import { useFractal } from '../../../../src/providers/App/AppProvider';
-
-export default function Treasury() {
- const {
- node: { daoName, daoAddress },
- } = useFractal();
- const { t } = useTranslation('treasury');
- const treasuryTotal = useTreasuryTotalBN();
- const { canUserCreateProposal } = useSubmitProposal();
- const showButton = canUserCreateProposal && !treasuryTotal.isZero();
-
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/app/layout.tsx b/app/layout.tsx
deleted file mode 100644
index 51970ce0bf..0000000000
--- a/app/layout.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import 'i18next';
-import { ReactNode } from 'react';
-import { APP_NAME } from '../src/constants/common';
-import Providers from '../src/providers/Providers';
-
-export default function RootLayout({ children }: { children: ReactNode }) {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {APP_NAME}
-
-
- {children}
-
-
- );
-}
diff --git a/app/page.tsx b/app/page.tsx
deleted file mode 100644
index 9cba45c4cd..0000000000
--- a/app/page.tsx
+++ /dev/null
@@ -1,253 +0,0 @@
-'use client';
-
-import { Center, VStack, Text, Button, Flex, Box } from '@chakra-ui/react';
-import { useRouter } from 'next/navigation';
-import { useEffect } from 'react';
-import { useTranslation } from 'react-i18next';
-import { useNetwork } from 'wagmi';
-import { mainnet, sepolia } from 'wagmi/chains';
-import { AppFooter } from '../src/components/pages/AppHome/AppFooter';
-import { CTABox } from '../src/components/pages/AppHome/CTABox';
-import FeaturedDAOCard from '../src/components/pages/AppHome/FeaturedDAOCard';
-import ValueProposition from '../src/components/pages/AppHome/ValueProposition';
-import ExternalLink from '../src/components/ui/links/ExternalLink';
-import ClientOnly from '../src/components/ui/utils/ClientOnly';
-import { BASE_ROUTES } from '../src/constants/routes';
-import { URL_DOCS } from '../src/constants/url';
-import { useFractal } from '../src/providers/App/AppProvider';
-import { disconnectedChain } from '../src/providers/NetworkConfig/NetworkConfigProvider';
-
-const VALUE_PROPS = [
- {
- iconSrc: '/images/icon-structure.svg',
- titleKey: 'structure',
- descKey: 'structureDesc',
- },
- {
- iconSrc: '/images/icon-operate.svg',
- titleKey: 'operate',
- descKey: 'operateDesc',
- },
- {
- iconSrc: '/images/icon-govern.svg',
- titleKey: 'govern',
- descKey: 'governDesc',
- },
-];
-
-interface Feature {
- iconSrc: string;
- titleKey: string;
- descKey: string;
- address: string;
-}
-
-// featured DAOs are dependent on the connected chain
-const FEATURED_DAOS = new Map([
- [
- mainnet.id,
- [
- {
- iconSrc: '/images/shutter-icon-only-logo.svg',
- titleKey: 'shutterTitle',
- descKey: 'shutterDesc',
- address: '0x36bD3044ab68f600f6d3e081056F34f2a58432c4',
- },
- {
- iconSrc: '/images/icon-decent.svg',
- titleKey: 'decentTitle',
- descKey: 'decentDesc',
- address: '0xD26c85D435F02DaB8B220cd4D2d398f6f646e235',
- },
- {
- iconSrc: '/images/icon-awakevc.svg',
- titleKey: 'awakeTitle',
- descKey: 'awakeDesc',
- address: '0xdD6CeFA62239272f1eDf755ba6471eacb7DF2Fa5',
- },
- ],
- ],
- [
- sepolia.id,
- [
- {
- iconSrc: '/images/icon-myosin.svg',
- titleKey: 'myosinTitle',
- descKey: 'myosinDesc',
- address: '0xdef90A94273a1A1A72B33D39129fa41E6C08Be3a',
- },
- ],
- ],
-]);
-
-export default function HomePage() {
- const { t } = useTranslation('home');
- const { push } = useRouter();
- const createDAO = () => {
- push(BASE_ROUTES.create);
- };
- const {
- node: { daoAddress },
- action,
- } = useFractal();
-
- useEffect(() => {
- if (daoAddress) {
- action.resetDAO();
- }
- }, [daoAddress, action]);
-
- const { chain } = useNetwork();
- const features = FEATURED_DAOS.get(chain ? chain.id : disconnectedChain.id);
-
- return (
-
-
-
-
- {t('homeTitle')}
-
-
-
-
- {t('homeDesc')}
-
-
-
-
-
- {VALUE_PROPS.map((daoAction, index) => {
- return (
-
- );
- })}
-
-
-
-
- }
- rightSlot={
-
- {t('learnCTA')}
-
- }
- />
- {features && features.length > 0 ? (
- <>
-
- {t('featuredTitle')}
-
-
- {t('featuredDesc')}
-
-
- {features.map((feature, index) => {
- if (
- typeof location !== 'undefined' &&
- location.pathname === 'app.fractalframework.xyz'
- ) {
- return null;
- }
- return (
-
- );
- })}
-
- >
- ) : (
- // if there are no features just show padding
-
- )}
-
- {t('readyCTA')}
-
- }
- rightSlot={
-
- }
- />
-
-
-
-
- );
-}
From 215d2be30cb4372a0ad62e3cbb103f2616aa889a Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:32:46 -0500
Subject: [PATCH 02/35] updates to next config
---
next-env.d.ts | 1 -
next.config.js | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/next-env.d.ts b/next-env.d.ts
index fd36f9494e..4f11a03dc6 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,6 +1,5 @@
///
///
-///
// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
index c8095e7756..2a9c5cdef9 100644
--- a/next.config.js
+++ b/next.config.js
@@ -7,6 +7,7 @@ module.exports = {
return config;
},
+ output: 'export',
images: {
dangerouslyAllowSVG: true,
contentDispositionType: 'attachment',
@@ -15,6 +16,5 @@ module.exports = {
},
experimental: {
esmExternals: false,
- appDir: true,
},
};
From 46104dc93474729c8a8a28b3748ce954838867cb Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:33:26 -0500
Subject: [PATCH 03/35] refactor AppRouter pages for use in Page Router
---
src/pages/_app.tsx | 81 ++++++
src/pages/create/index.tsx | 66 +++++
.../[daoAddress]/edit/governance/index.tsx | 68 +++++
.../daos/[daoAddress]/hierarchy/index.tsx | 46 ++++
src/pages/daos/[daoAddress]/index.tsx | 23 ++
src/pages/daos/[daoAddress]/new/index.tsx | 42 +++
.../[daoAddress]/proposal-templates/index.tsx | 44 ++++
.../proposal-templates/new/index.tsx | 218 +++++++++++++++
.../proposals/[proposalId]/index.tsx | 86 ++++++
.../daos/[daoAddress]/proposals/index.tsx | 109 ++++++++
.../daos/[daoAddress]/proposals/new/index.tsx | 166 ++++++++++++
.../daos/[daoAddress]/settings/index.tsx | 42 +++
.../daos/[daoAddress]/treasury/index.tsx | 67 +++++
src/pages/index.tsx | 248 ++++++++++++++++++
14 files changed, 1306 insertions(+)
create mode 100644 src/pages/_app.tsx
create mode 100644 src/pages/create/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/edit/governance/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/hierarchy/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/new/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/proposal-templates/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/proposal-templates/new/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/proposals/[proposalId]/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/proposals/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/proposals/new/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/settings/index.tsx
create mode 100644 src/pages/daos/[daoAddress]/treasury/index.tsx
create mode 100644 src/pages/index.tsx
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
new file mode 100644
index 0000000000..b16d5d904c
--- /dev/null
+++ b/src/pages/_app.tsx
@@ -0,0 +1,81 @@
+import { AppProps } from 'next/app';
+import Head from 'next/head';
+import { APP_NAME } from '../constants/common';
+import Providers from '../providers/Providers';
+import '@fontsource/ibm-plex-mono';
+import '@fontsource/ibm-plex-sans';
+import 'react-toastify/dist/ReactToastify.min.css';
+import '../assets/css/SnapshotProposalMarkdown.css';
+import DAOController from './DAOController';
+export default function AppRoot({ Component, pageProps }: AppProps) {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{APP_NAME}
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/pages/create/index.tsx b/src/pages/create/index.tsx
new file mode 100644
index 0000000000..487865e979
--- /dev/null
+++ b/src/pages/create/index.tsx
@@ -0,0 +1,66 @@
+'use client';
+
+import { ethers } from 'ethers';
+import { useRouter } from 'next/navigation';
+import { useCallback, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { toast } from 'react-toastify';
+import DaoCreator from '../../components/DaoCreator';
+import { DAOCreateMode } from '../../components/DaoCreator/formComponents/EstablishEssentials';
+import ClientOnly from '../../components/ui/utils/ClientOnly';
+import { BASE_ROUTES, DAO_ROUTES } from '../../constants/routes';
+import { useAccountFavorites } from '../../hooks/DAO/loaders/useFavorites';
+import useDeployDAO from '../../hooks/DAO/useDeployDAO';
+import { useAsyncRetry } from '../../hooks/utils/useAsyncRetry';
+import { useSafeAPI } from '../../providers/App/hooks/useSafeAPI';
+import { SafeMultisigDAO, AzoriusERC20DAO, AzoriusERC721DAO } from '../../types';
+
+export default function DaoCreatePage() {
+ const { push } = useRouter();
+ const { requestWithRetries } = useAsyncRetry();
+ const { toggleFavorite } = useAccountFavorites();
+ const [redirectPending, setRedirectPending] = useState(false);
+ const { t } = useTranslation('transaction');
+ const safeAPI = useSafeAPI();
+
+ const successCallback = useCallback(
+ async (daoAddress: string) => {
+ setRedirectPending(true);
+ const { getAddress } = ethers.utils;
+ const daoFound = await requestWithRetries(
+ () => safeAPI.getSafeCreationInfo(getAddress(daoAddress)),
+ 8
+ );
+ toggleFavorite(daoAddress);
+ if (daoFound) {
+ push(DAO_ROUTES.dao.relative(daoAddress));
+ } else {
+ toast(t('failedIndexSafe'), {
+ autoClose: false,
+ closeOnClick: true,
+ draggable: false,
+ closeButton: false,
+ progress: 1,
+ });
+ push(BASE_ROUTES.landing);
+ }
+ },
+ [safeAPI, requestWithRetries, toggleFavorite, push, t]
+ );
+
+ const [deploy, pending] = useDeployDAO();
+
+ const deployDAO = (daoData: SafeMultisigDAO | AzoriusERC20DAO | AzoriusERC721DAO) => {
+ deploy(daoData, successCallback);
+ };
+
+ return (
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/edit/governance/index.tsx b/src/pages/daos/[daoAddress]/edit/governance/index.tsx
new file mode 100644
index 0000000000..55ad6e766f
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/edit/governance/index.tsx
@@ -0,0 +1,68 @@
+'use client';
+
+import { Box } from '@chakra-ui/react';
+import { CloseX } from '@decent-org/fractal-ui';
+import { useRouter } from 'next/navigation';
+import { useTranslation } from 'react-i18next';
+import DaoCreator from '../../../../../components/DaoCreator';
+import { DAOCreateMode } from '../../../../../components/DaoCreator/formComponents/EstablishEssentials';
+import { EmptyBox } from '../../../../../components/ui/containers/EmptyBox';
+import PageHeader from '../../../../../components/ui/page/Header/PageHeader';
+import { DAO_ROUTES } from '../../../../../constants/routes';
+import useDeployAzorius from '../../../../../hooks/DAO/useDeployAzorius';
+import { createAccountSubstring } from '../../../../../hooks/utils/useDisplayName';
+import { useFractal } from '../../../../../providers/App/AppProvider';
+import {
+ DAOTrigger,
+ AzoriusERC20DAO,
+ AzoriusERC721DAO,
+ GovernanceType,
+} from '../../../../../types';
+
+export default function ModifyGovernancePage() {
+ const {
+ node: { daoAddress, safe, daoName, daoSnapshotURL },
+ governance: { type },
+ readOnly: { user },
+ } = useFractal();
+ const { t } = useTranslation(['daoEdit', 'common', 'breadcrumbs']);
+ const { push } = useRouter();
+ const isMultisig = type === GovernanceType.MULTISIG;
+ const isSigner = user.address && safe?.owners.includes(user.address);
+ const deployAzorius = useDeployAzorius();
+
+ const handleDeployAzorius: DAOTrigger = daoData => {
+ deployAzorius(
+ daoData as AzoriusERC20DAO | AzoriusERC721DAO,
+ !daoName || createAccountSubstring(daoAddress!) === daoName,
+ !daoSnapshotURL && !!daoData.snapshotURL
+ );
+ };
+
+ return (
+
+ push(DAO_ROUTES.dao.relative(daoAddress))}
+ isButtonDisabled={false}
+ breadcrumbs={[
+ {
+ terminus: t('modifyGovernance', { ns: 'breadcrumbs' }),
+ path: '',
+ },
+ ]}
+ />
+ {isMultisig && isSigner ? (
+
+ ) : (
+
+ )}
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/hierarchy/index.tsx b/src/pages/daos/[daoAddress]/hierarchy/index.tsx
new file mode 100644
index 0000000000..77ac73f156
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/hierarchy/index.tsx
@@ -0,0 +1,46 @@
+'use client';
+
+import { Center } from '@chakra-ui/react';
+import { useTranslation } from 'react-i18next';
+import { DaoNode } from '../../../../components/pages/DaoHierarchy/DaoNode';
+import { BarLoader } from '../../../../components/ui/loaders/BarLoader';
+import PageHeader from '../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import { HEADER_HEIGHT } from '../../../../constants/common';
+import { useFractal } from '../../../../providers/App/AppProvider';
+
+export default function HierarchyPage() {
+ const {
+ node: { daoAddress, daoName, nodeHierarchy },
+ } = useFractal();
+ const { t } = useTranslation('breadcrumbs');
+
+ if (!daoAddress) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/index.tsx b/src/pages/daos/[daoAddress]/index.tsx
new file mode 100644
index 0000000000..760f9baa20
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/index.tsx
@@ -0,0 +1,23 @@
+'use client';
+
+import { Box } from '@chakra-ui/react';
+import { Activities } from '../../../components/pages/DaoDashboard/Activities';
+import { ERCO20Claim } from '../../../components/pages/DaoDashboard/ERC20Claim';
+import { Info } from '../../../components/pages/DaoDashboard/Info';
+import InfoHeader from '../../../components/pages/DaoDashboard/Info/InfoHeader';
+import useDAOMetadata from '../../../hooks/DAO/useDAOMetadata';
+
+export default function DaoDashboardPage() {
+ const daoMetadata = useDAOMetadata();
+
+ return (
+ <>
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/new/index.tsx b/src/pages/daos/[daoAddress]/new/index.tsx
new file mode 100644
index 0000000000..786063c669
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/new/index.tsx
@@ -0,0 +1,42 @@
+'use client';
+
+import { useRouter } from 'next/navigation';
+import { useState } from 'react';
+import DaoCreator from '../../../../components/DaoCreator';
+import { DAOCreateMode } from '../../../../components/DaoCreator/formComponents/EstablishEssentials';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import { DAO_ROUTES } from '../../../../constants/routes';
+import { useCreateSubDAOProposal } from '../../../../hooks/DAO/useCreateSubDAOProposal';
+import { useFractal } from '../../../../providers/App/AppProvider';
+import { SafeMultisigDAO, AzoriusGovernanceDAO, SubDAO } from '../../../../types';
+
+export default function SubDaoCreate() {
+ const { push } = useRouter();
+ const [redirectPending, setRedirectPending] = useState(false);
+ const {
+ node: { safe },
+ } = useFractal();
+
+ const successCallback = async (daoAddress: string) => {
+ setRedirectPending(true);
+ push(DAO_ROUTES.dao.relative(daoAddress));
+ };
+
+ const { proposeDao, pendingCreateTx } = useCreateSubDAOProposal();
+
+ const proposeSubDAO = (daoData: SafeMultisigDAO | AzoriusGovernanceDAO | SubDAO) => {
+ const subDAOData = daoData as SubDAO;
+ proposeDao(subDAOData, subDAOData.customNonce || safe?.nonce, successCallback);
+ };
+
+ return (
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/proposal-templates/index.tsx b/src/pages/daos/[daoAddress]/proposal-templates/index.tsx
new file mode 100644
index 0000000000..6885b67bcc
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/proposal-templates/index.tsx
@@ -0,0 +1,44 @@
+'use client';
+
+import { Button, Show } from '@chakra-ui/react';
+import { AddPlus } from '@decent-org/fractal-ui';
+import Link from 'next/link';
+import { useTranslation } from 'react-i18next';
+import ProposalTemplates from '../../../../components/ProposalTemplates';
+import PageHeader from '../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import { DAO_ROUTES } from '../../../../constants/routes';
+import useSubmitProposal from '../../../../hooks/DAO/proposal/useSubmitProposal';
+import { useFractal } from '../../../../providers/App/AppProvider';
+
+export default function ProposalTemplatesPage() {
+ const { t } = useTranslation();
+ const {
+ node: { daoAddress },
+ } = useFractal();
+ const { canUserCreateProposal } = useSubmitProposal();
+
+ return (
+
+
+ {canUserCreateProposal && (
+
+
+
+ )}
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/proposal-templates/new/index.tsx b/src/pages/daos/[daoAddress]/proposal-templates/new/index.tsx
new file mode 100644
index 0000000000..ba0ff307e2
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/proposal-templates/new/index.tsx
@@ -0,0 +1,218 @@
+'use client';
+
+import { Box, Flex, Grid, GridItem, Text } from '@chakra-ui/react';
+import { Trash } from '@decent-org/fractal-ui';
+import { BigNumber } from 'ethers';
+import { Formik, FormikProps } from 'formik';
+import { useRouter, useSearchParams } from 'next/navigation';
+import { useEffect, useState, useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+import ProposalTemplateDetails from '../../../../../components/CreateProposalTemplate/ProposalTemplateDetails';
+import ProposalTemplateMetadata from '../../../../../components/CreateProposalTemplate/ProposalTemplateMetadata';
+import ProposalTemplateTransactionsForm from '../../../../../components/CreateProposalTemplate/ProposalTemplateTransactionsForm';
+import { DEFAULT_PROPOSAL_TEMPLATE } from '../../../../../components/CreateProposalTemplate/constants';
+import { CustomNonceInput } from '../../../../../components/ui/forms/CustomNonceInput';
+import PageHeader from '../../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../../components/ui/utils/ClientOnly';
+import { BACKGROUND_SEMI_TRANSPARENT } from '../../../../../constants/common';
+import { BASE_ROUTES, DAO_ROUTES } from '../../../../../constants/routes';
+import { logError } from '../../../../../helpers/errorLogging';
+import useCreateProposalTemplate from '../../../../../hooks/DAO/proposal/useCreateProposalTemplate';
+import useSubmitProposal from '../../../../../hooks/DAO/proposal/useSubmitProposal';
+import useCreateProposalTemplateSchema from '../../../../../hooks/schemas/createProposalTemplate/useCreateProposalTemplateSchema';
+import { useFractal } from '../../../../../providers/App/AppProvider';
+import useIPFSClient from '../../../../../providers/App/hooks/useIPFSClient';
+import {
+ CreateProposalTemplateForm,
+ CreateProposalTemplateFormState,
+ ProposalTemplate,
+} from '../../../../../types/createProposalTemplate';
+
+const templateAreaTwoCol = '"content details"';
+const templateAreaSingleCol = `"content"
+ "details"`;
+
+export default function CreateProposalTemplatePage() {
+ const [formState, setFormState] = useState(CreateProposalTemplateFormState.METADATA_FORM);
+ const [initialProposalTemplate, setInitialProposalTemplate] = useState(DEFAULT_PROPOSAL_TEMPLATE);
+ const { t } = useTranslation(['proposalTemplate', 'proposal']);
+
+ const { push } = useRouter();
+ const searchParams = useSearchParams();
+ const defaultProposalTemplatesHash = useMemo(
+ () => searchParams?.get('templatesHash'),
+ [searchParams]
+ );
+ const defaultProposalTemplateIndex = useMemo(
+ () => searchParams?.get('templateIndex'),
+ [searchParams]
+ );
+
+ const {
+ node: { daoAddress, safe },
+ } = useFractal();
+
+ const { prepareProposalTemplateProposal } = useCreateProposalTemplate();
+ const { submitProposal, pendingCreateTx, canUserCreateProposal } = useSubmitProposal();
+ const { createProposalTemplateValidation } = useCreateProposalTemplateSchema();
+ const ipfsClient = useIPFSClient();
+
+ const successCallback = () => {
+ if (daoAddress) {
+ // Redirecting to proposals page so that user will see Proposal for Proposal Template creation
+ push(DAO_ROUTES.proposals.relative(daoAddress));
+ }
+ };
+
+ useEffect(() => {
+ const loadInitialTemplate = async () => {
+ if (defaultProposalTemplatesHash && defaultProposalTemplateIndex) {
+ try {
+ const proposalTemplates = await ipfsClient.cat(defaultProposalTemplatesHash);
+ const initialTemplate: ProposalTemplate = proposalTemplates[defaultProposalTemplateIndex];
+ if (initialTemplate) {
+ const newInitialValue = {
+ nonce: undefined,
+ proposalTemplateMetadata: {
+ title: initialTemplate.title,
+ description: initialTemplate.description || '',
+ },
+ transactions: initialTemplate.transactions.map(tx => ({
+ ...tx,
+ ethValue: {
+ value: tx.ethValue.value,
+ bigNumerValue: BigNumber.from(tx.ethValue.value || 0),
+ },
+ })),
+ };
+ setInitialProposalTemplate(newInitialValue);
+ }
+ } catch (e) {
+ logError('Error while fetching initial template values', e);
+ }
+ }
+ };
+ loadInitialTemplate();
+ }, [defaultProposalTemplatesHash, defaultProposalTemplateIndex, ipfsClient]);
+
+ return (
+
+
+ validationSchema={createProposalTemplateValidation}
+ initialValues={initialProposalTemplate}
+ enableReinitialize
+ onSubmit={async values => {
+ if (canUserCreateProposal) {
+ const proposalData = await prepareProposalTemplateProposal(values);
+ if (proposalData) {
+ submitProposal({
+ proposalData,
+ nonce: values?.nonce,
+ pendingToastMessage: t('proposalCreatePendingToastMessage', { ns: 'proposal' }),
+ successToastMessage: t('proposalCreateSuccessToastMessage', { ns: 'proposal' }),
+ failedToastMessage: t('proposalCreateFailureToastMessage', { ns: 'proposal' }),
+ successCallback,
+ });
+ }
+ }
+ }}
+ >
+ {(formikProps: FormikProps) => {
+ const { handleSubmit } = formikProps;
+
+ return (
+
+ );
+ }}
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/proposals/[proposalId]/index.tsx b/src/pages/daos/[daoAddress]/proposals/[proposalId]/index.tsx
new file mode 100644
index 0000000000..31cb863ab0
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/proposals/[proposalId]/index.tsx
@@ -0,0 +1,86 @@
+'use client';
+
+import { useRouter } from 'next/router';
+import { useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { AzoriusProposalDetails } from '../../../../../components/Proposals/AzoriusDetails';
+import { MultisigProposalDetails } from '../../../../../components/Proposals/MultisigProposalDetails';
+import SnapshotProposalDetails from '../../../../../components/Proposals/SnapshotProposalDetails';
+import { EmptyBox } from '../../../../../components/ui/containers/EmptyBox';
+import { InfoBoxLoader } from '../../../../../components/ui/loaders/InfoBoxLoader';
+import PageHeader from '../../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../../components/ui/utils/ClientOnly';
+import { DAO_ROUTES } from '../../../../../constants/routes';
+import useSnapshotProposal from '../../../../../hooks/DAO/loaders/snapshot/useSnapshotProposal';
+import { useGetMetadata } from '../../../../../hooks/DAO/proposal/useGetMetadata';
+import { useFractal } from '../../../../../providers/App/AppProvider';
+import { FractalProposal, AzoriusProposal, SnapshotProposal } from '../../../../../types';
+
+export default function ProposalDetailsPage() {
+ const {
+ node: { daoAddress },
+ governance: { proposals },
+ readOnly: { dao },
+ } = useFractal();
+ const router = useRouter();
+ const proposalId = router.query.proposalId;
+ const [proposal, setProposal] = useState();
+ const { isSnapshotProposal, snapshotProposal } = useSnapshotProposal(proposal);
+ const metaData = useGetMetadata(proposal);
+ const { t } = useTranslation(['proposal', 'navigation', 'breadcrumbs', 'dashboard']);
+
+ const azoriusProposal = proposal as AzoriusProposal;
+
+ useEffect(() => {
+ if (!proposals || !proposals.length || !proposalId) {
+ setProposal(undefined);
+ return;
+ }
+
+ const foundProposal = proposals.find(p => {
+ const currentSnapshotProposal = p as SnapshotProposal;
+ if (!!currentSnapshotProposal.snapshotProposalId) {
+ return currentSnapshotProposal.snapshotProposalId === proposalId;
+ }
+ return p.proposalId === proposalId;
+ });
+ if (!foundProposal) {
+ setProposal(null);
+ return;
+ }
+ setProposal(foundProposal);
+ }, [proposals, proposalId, isSnapshotProposal]);
+
+ return (
+
+
+ {proposal === undefined ? (
+
+ ) : proposal === null ? (
+
+ ) : isSnapshotProposal ? (
+
+ ) : dao?.isAzorius ? (
+
+ ) : (
+
+ )}
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/proposals/index.tsx b/src/pages/daos/[daoAddress]/proposals/index.tsx
new file mode 100644
index 0000000000..cf29135591
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/proposals/index.tsx
@@ -0,0 +1,109 @@
+'use client';
+
+import { Button, Flex, Show, Text } from '@chakra-ui/react';
+import { AddPlus, TokenPlaceholder } from '@decent-org/fractal-ui';
+import Link from 'next/link';
+import { useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+import Proposals from '../../../../components/Proposals';
+import { ModalType } from '../../../../components/ui/modals/ModalProvider';
+import { useFractalModal } from '../../../../components/ui/modals/useFractalModal';
+import PageHeader from '../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import { DAO_ROUTES } from '../../../../constants/routes';
+import useSubmitProposal from '../../../../hooks/DAO/proposal/useSubmitProposal';
+import { useFractal } from '../../../../providers/App/AppProvider';
+import { AzoriusGovernance, DecentGovernance, GovernanceType } from '../../../../types';
+
+export default function ProposalsPage() {
+ const { t } = useTranslation(['common', 'proposal', 'breadcrumbs']);
+ const {
+ governance,
+ node: { daoAddress },
+ } = useFractal();
+ const azoriusGovernance = governance as AzoriusGovernance;
+ const delegate = useFractalModal(ModalType.DELEGATE);
+ const wrapTokenOpen = useFractalModal(ModalType.WRAP_TOKEN);
+ const unwrapTokenOpen = useFractalModal(ModalType.UNWRAP_TOKEN);
+ const canDelegate = useMemo(() => {
+ if (azoriusGovernance.type === GovernanceType.AZORIUS_ERC20) {
+ const decentGovernance = azoriusGovernance as DecentGovernance;
+ const hasLockedTokenBalance = decentGovernance?.lockedVotesToken?.balance?.gt(0);
+ const hasVotesTokenBalance = azoriusGovernance?.votesToken?.balance?.gt(0);
+ return hasVotesTokenBalance || hasLockedTokenBalance;
+ }
+ return false;
+ }, [azoriusGovernance]);
+ const { canUserCreateProposal } = useSubmitProposal();
+
+ const showWrapTokenButton = !!azoriusGovernance.votesToken?.underlyingTokenData;
+ const showUnWrapTokenButton =
+ showWrapTokenButton &&
+ !!azoriusGovernance.votesToken?.balance &&
+ !azoriusGovernance.votesToken.balance.isZero();
+
+ return (
+
+
+ {showWrapTokenButton && (
+
+ )}
+ {showUnWrapTokenButton && (
+
+ )}
+ {canUserCreateProposal && (
+
+
+
+ )}
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/proposals/new/index.tsx b/src/pages/daos/[daoAddress]/proposals/new/index.tsx
new file mode 100644
index 0000000000..2ff7b666db
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/proposals/new/index.tsx
@@ -0,0 +1,166 @@
+'use client';
+
+import { Grid, GridItem, Box, Flex, Center } from '@chakra-ui/react';
+import { Trash } from '@decent-org/fractal-ui';
+import { Formik, FormikProps } from 'formik';
+import { useRouter } from 'next/navigation';
+import { useState, useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { ProposalDetails } from '../../../../../components/ProposalCreate/ProposalDetails';
+import { ProposalHeader } from '../../../../../components/ProposalCreate/ProposalHeader';
+import ProposalMetadata from '../../../../../components/ProposalCreate/ProposalMetadata';
+import TransactionsForm from '../../../../../components/ProposalCreate/TransactionsForm';
+import { DEFAULT_PROPOSAL } from '../../../../../components/ProposalCreate/constants';
+import { BarLoader } from '../../../../../components/ui/loaders/BarLoader';
+import PageHeader from '../../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../../components/ui/utils/ClientOnly';
+import { BACKGROUND_SEMI_TRANSPARENT, HEADER_HEIGHT } from '../../../../../constants/common';
+import { DAO_ROUTES } from '../../../../../constants/routes';
+import { usePrepareProposal } from '../../../../../hooks/DAO/proposal/usePrepareProposal';
+import useSubmitProposal from '../../../../../hooks/DAO/proposal/useSubmitProposal';
+import { useCreateProposalSchema } from '../../../../../hooks/schemas/proposalCreate/useCreateProposalSchema';
+import { useFractal } from '../../../../../providers/App/AppProvider';
+import { CreateProposalForm, CreateProposalState, GovernanceType } from '../../../../../types';
+
+const templateAreaTwoCol = '"content details"';
+const templateAreaSingleCol = `"content"
+ "details"`;
+
+export default function ProposalCreatePage() {
+ const {
+ node: { daoAddress, safe },
+ governance: { type },
+ } = useFractal();
+ const { createProposalValidation } = useCreateProposalSchema();
+ const { prepareProposal } = usePrepareProposal();
+ const { submitProposal, pendingCreateTx, canUserCreateProposal } = useSubmitProposal();
+
+ const { push } = useRouter();
+ const { t } = useTranslation(['proposal', 'common', 'breadcrumbs']);
+
+ const [formState, setFormState] = useState(CreateProposalState.METADATA_FORM);
+ const isAzorius = useMemo(
+ () => type === GovernanceType.AZORIUS_ERC20 || type === GovernanceType.AZORIUS_ERC721,
+ [type]
+ );
+
+ const successCallback = () => {
+ if (daoAddress) {
+ push(DAO_ROUTES.proposals.relative(daoAddress));
+ }
+ };
+
+ if (!type || !daoAddress || !safe) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+
+ validationSchema={createProposalValidation}
+ initialValues={{ ...DEFAULT_PROPOSAL, nonce: safe.nonce }}
+ onSubmit={async values => {
+ const { nonce } = values;
+ const proposalData = await prepareProposal(values);
+ submitProposal({
+ proposalData,
+ nonce,
+ pendingToastMessage: t('proposalCreatePendingToastMessage'),
+ successToastMessage: t('proposalCreateSuccessToastMessage'),
+ failedToastMessage: t('proposalCreateFailureToastMessage'),
+ successCallback,
+ });
+ }}
+ validateOnMount
+ isInitialValid={false}
+ >
+ {(formikProps: FormikProps) => {
+ const { handleSubmit, setFieldValue, values } = formikProps;
+ return (
+
+ );
+ }}
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/settings/index.tsx b/src/pages/daos/[daoAddress]/settings/index.tsx
new file mode 100644
index 0000000000..5f9ad3a8bc
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/settings/index.tsx
@@ -0,0 +1,42 @@
+'use client';
+
+import { Center } from '@chakra-ui/react';
+import { useTranslation } from 'react-i18next';
+import { Settings } from '../../../../components/pages/DaoSettings';
+import { BarLoader } from '../../../../components/ui/loaders/BarLoader';
+import PageHeader from '../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import { HEADER_HEIGHT } from '../../../../constants/common';
+import { useFractal } from '../../../../providers/App/AppProvider';
+
+export default function SettingsPage() {
+ const { t } = useTranslation('breadcrumbs');
+ const {
+ node: { daoAddress, daoName },
+ } = useFractal();
+
+ if (!daoAddress) {
+ return (
+
+
+
+ );
+ }
+ return (
+
+
+
+
+ );
+}
diff --git a/src/pages/daos/[daoAddress]/treasury/index.tsx b/src/pages/daos/[daoAddress]/treasury/index.tsx
new file mode 100644
index 0000000000..0758ba1424
--- /dev/null
+++ b/src/pages/daos/[daoAddress]/treasury/index.tsx
@@ -0,0 +1,67 @@
+'use client';
+
+import { Flex } from '@chakra-ui/react';
+import { useTranslation } from 'react-i18next';
+import { Assets } from '../../../../components/pages/DAOTreasury/components/Assets';
+import { Transactions } from '../../../../components/pages/DAOTreasury/components/Transactions';
+import { useTreasuryTotalBN } from '../../../../components/pages/DAOTreasury/hooks/useTreasuryTotalBN';
+import { TitledInfoBox } from '../../../../components/ui/containers/TitledInfoBox';
+import { ModalType } from '../../../../components/ui/modals/ModalProvider';
+import { useFractalModal } from '../../../../components/ui/modals/useFractalModal';
+import PageHeader from '../../../../components/ui/page/Header/PageHeader';
+import ClientOnly from '../../../../components/ui/utils/ClientOnly';
+import useSubmitProposal from '../../../../hooks/DAO/proposal/useSubmitProposal';
+import { useFractal } from '../../../../providers/App/AppProvider';
+
+export default function Treasury() {
+ const {
+ node: { daoName, daoAddress },
+ } = useFractal();
+ const { t } = useTranslation('treasury');
+ const treasuryTotal = useTreasuryTotalBN();
+ const { canUserCreateProposal } = useSubmitProposal();
+ const showButton = canUserCreateProposal && !treasuryTotal.isZero();
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
new file mode 100644
index 0000000000..644b427f4a
--- /dev/null
+++ b/src/pages/index.tsx
@@ -0,0 +1,248 @@
+import { Center, VStack, Text, Button, Flex, Box } from '@chakra-ui/react';
+import { useRouter } from 'next/navigation';
+import { useEffect } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useNetwork } from 'wagmi';
+import { mainnet, sepolia } from 'wagmi/chains';
+import { AppFooter } from '../components/pages/AppHome/AppFooter';
+import { CTABox } from '../components/pages/AppHome/CTABox';
+import FeaturedDAOCard from '../components/pages/AppHome/FeaturedDAOCard';
+import ValueProposition from '../components/pages/AppHome/ValueProposition';
+import ExternalLink from '../components/ui/links/ExternalLink';
+import { BASE_ROUTES } from '../constants/routes';
+import { URL_DOCS } from '../constants/url';
+import { useFractal } from '../providers/App/AppProvider';
+import { disconnectedChain } from '../providers/NetworkConfig/NetworkConfigProvider';
+
+const VALUE_PROPS = [
+ {
+ iconSrc: '/images/icon-structure.svg',
+ titleKey: 'structure',
+ descKey: 'structureDesc',
+ },
+ {
+ iconSrc: '/images/icon-operate.svg',
+ titleKey: 'operate',
+ descKey: 'operateDesc',
+ },
+ {
+ iconSrc: '/images/icon-govern.svg',
+ titleKey: 'govern',
+ descKey: 'governDesc',
+ },
+];
+
+interface Feature {
+ iconSrc: string;
+ titleKey: string;
+ descKey: string;
+ address: string;
+}
+
+// featured DAOs are dependent on the connected chain
+const FEATURED_DAOS = new Map([
+ [
+ mainnet.id,
+ [
+ {
+ iconSrc: '/images/shutter-icon-only-logo.svg',
+ titleKey: 'shutterTitle',
+ descKey: 'shutterDesc',
+ address: '0x36bD3044ab68f600f6d3e081056F34f2a58432c4',
+ },
+ {
+ iconSrc: '/images/icon-decent.svg',
+ titleKey: 'decentTitle',
+ descKey: 'decentDesc',
+ address: '0xD26c85D435F02DaB8B220cd4D2d398f6f646e235',
+ },
+ {
+ iconSrc: '/images/icon-awakevc.svg',
+ titleKey: 'awakeTitle',
+ descKey: 'awakeDesc',
+ address: '0xdD6CeFA62239272f1eDf755ba6471eacb7DF2Fa5',
+ },
+ ],
+ ],
+ [
+ sepolia.id,
+ [
+ {
+ iconSrc: '/images/icon-myosin.svg',
+ titleKey: 'myosinTitle',
+ descKey: 'myosinDesc',
+ address: '0xdef90A94273a1A1A72B33D39129fa41E6C08Be3a',
+ },
+ ],
+ ],
+]);
+
+export default function HomePage() {
+ const { t } = useTranslation('home');
+ const { push } = useRouter();
+ const createDAO = () => {
+ push(BASE_ROUTES.create);
+ };
+ const {
+ node: { daoAddress },
+ action,
+ } = useFractal();
+
+ useEffect(() => {
+ if (daoAddress) {
+ action.resetDAO();
+ }
+ }, [daoAddress, action]);
+
+ const { chain } = useNetwork();
+ const features = FEATURED_DAOS.get(chain ? chain.id : disconnectedChain.id);
+
+ return (
+
+
+
+ {t('homeTitle')}
+
+
+
+
+ {t('homeDesc')}
+
+
+
+
+
+ {VALUE_PROPS.map((daoAction, index) => {
+ return (
+
+ );
+ })}
+
+
+
+
+ }
+ rightSlot={
+
+ {t('learnCTA')}
+
+ }
+ />
+ {features && features.length > 0 ? (
+ <>
+
+ {t('featuredTitle')}
+
+
+ {t('featuredDesc')}
+
+
+ {features.map((feature, index) => {
+ if (
+ typeof location !== 'undefined' &&
+ location.pathname === 'app.fractalframework.xyz'
+ ) {
+ return null;
+ }
+ return (
+
+ );
+ })}
+
+ >
+ ) : (
+ // if there are no features just show padding
+
+ )}
+
+ {t('readyCTA')}
+
+ }
+ rightSlot={
+
+ }
+ />
+
+
+
+ );
+}
From 3a6c1d89d9d485dd8c22262872ab5f8f7e3220a1 Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:34:03 -0500
Subject: [PATCH 04/35] refactor DAO Layout into Compontent that wraps apps
(needed for new setup)
---
src/pages/DAOController.tsx | 139 ++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
create mode 100644 src/pages/DAOController.tsx
diff --git a/src/pages/DAOController.tsx b/src/pages/DAOController.tsx
new file mode 100644
index 0000000000..02630a9791
--- /dev/null
+++ b/src/pages/DAOController.tsx
@@ -0,0 +1,139 @@
+'use client';
+
+import { Button, Center, Text, VStack, ChakraProvider, extendTheme } from '@chakra-ui/react';
+import { theme } from '@decent-org/fractal-ui';
+import Script from 'next/script';
+import { useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useNetwork } from 'wagmi';
+import { APP_NAME } from '../constants/common';
+import useDAOController from '../hooks/DAO/useDAOController';
+import useDAOMetadata from '../hooks/DAO/useDAOMetadata';
+import { useFractal } from '../providers/App/AppProvider';
+import {
+ disconnectedChain,
+ supportedChains,
+} from '../providers/NetworkConfig/NetworkConfigProvider';
+
+function InvalidSafe() {
+ const { chain } = useNetwork();
+ const { t } = useTranslation('common');
+ return (
+
+
+
+ {t('errorSentryFallbackTitle')}
+
+ {t('invalidSafe1', { chain: chain ? chain.name : disconnectedChain.name })}
+ {t('invalidSafe2')}
+
+
+
+ );
+}
+
+function InvalidChain() {
+ const { t } = useTranslation(['common', 'menu']);
+ const supportedChainNames = supportedChains.map(c => c.name).join(', ');
+ return (
+
+
+
+ {t('errorSentryFallbackTitle')}
+
+ {t('invalidChain')}
+
+ {t('toastSwitchChain', { ns: 'menu', chainNames: supportedChainNames })}
+
+
+
+ );
+}
+
+export default function DAOController({ children }: { children: React.ReactNode }) {
+ const { node } = useFractal();
+ const { nodeLoading, errorLoading } = useDAOController();
+ const daoMetadata = useDAOMetadata();
+ const { chain } = useNetwork();
+ const activeTheme = useMemo(() => {
+ if (daoMetadata && daoMetadata.bodyBackground) {
+ return extendTheme({
+ ...theme,
+ styles: {
+ ...theme.styles,
+ global: {
+ ...theme.styles.global,
+ html: {
+ ...theme.styles.global.html,
+ background: daoMetadata.bodyBackground,
+ },
+ body: {
+ ...theme.styles.global.body,
+ background: 'none',
+ },
+ },
+ },
+ });
+ }
+ return theme;
+ }, [daoMetadata]);
+
+ const validSafe = node.safe;
+ let display;
+ const childrenDisplay = {children};
+
+ if (process.env.NEXT_PUBLIC_TESTING_ENVIRONMENT) {
+ display = childrenDisplay;
+ } else if (!chain) {
+ // if we're disconnected
+ if (nodeLoading || validSafe || !errorLoading) {
+ display = children;
+ } else {
+ display = ;
+ }
+ } else {
+ // if we're connected
+ const invalidChain = !supportedChains.map(c => c.chainId).includes(chain.id);
+ if (invalidChain) {
+ display = ;
+ } else if (nodeLoading || validSafe || !errorLoading) {
+ display = children;
+ } else {
+ display = ;
+ }
+ }
+
+ return (
+ <>
+ {node?.daoName ? `${node.daoName} | ${APP_NAME}` : APP_NAME}
+ {node && node.daoAddress === '0x167bE4073f52aD2Aa0D6d6FeddF0F1f79a82B98e' && (
+
+ )}
+ {display}
+ >
+ );
+}
From 06e0067224428057b477f1befe6e37c90d090ae8 Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:34:37 -0500
Subject: [PATCH 05/35] addresses issues with items loading now that component
isn't remounted
---
src/hooks/DAO/loaders/governance/useERC20Claim.ts | 7 +++++--
src/hooks/DAO/loaders/useFractalFreeze.ts | 3 +++
src/hooks/DAO/loaders/useFractalGovernance.ts | 4 ++++
src/hooks/DAO/loaders/useFractalGuardContracts.ts | 3 +++
src/hooks/DAO/loaders/useFractalNode.ts | 8 +++++++-
src/hooks/DAO/loaders/useFractalTreasury.ts | 8 ++++++--
src/hooks/DAO/loaders/useGovernanceContracts.ts | 3 +++
7 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/src/hooks/DAO/loaders/governance/useERC20Claim.ts b/src/hooks/DAO/loaders/governance/useERC20Claim.ts
index a9fc4e0424..580b8c445c 100644
--- a/src/hooks/DAO/loaders/governance/useERC20Claim.ts
+++ b/src/hooks/DAO/loaders/governance/useERC20Claim.ts
@@ -8,6 +8,7 @@ import { FractalGovernanceAction } from '../../../../providers/App/governance/ac
export function useERC20Claim() {
const {
+ node: { daoAddress },
governanceContracts: { tokenContract },
baseContracts: { claimingMasterCopyContract },
action,
@@ -41,7 +42,9 @@ export function useERC20Claim() {
}, [claimingMasterCopyContract, tokenContract, action]);
useEffect(() => {
- loadTokenClaimContract();
- }, [loadTokenClaimContract]);
+ if (daoAddress) {
+ loadTokenClaimContract();
+ }
+ }, [loadTokenClaimContract, daoAddress]);
return;
}
diff --git a/src/hooks/DAO/loaders/useFractalFreeze.ts b/src/hooks/DAO/loaders/useFractalFreeze.ts
index 4f8bdff7a9..4ec3e70eb5 100644
--- a/src/hooks/DAO/loaders/useFractalFreeze.ts
+++ b/src/hooks/DAO/loaders/useFractalFreeze.ts
@@ -161,6 +161,9 @@ export const useFractalFreeze = ({
loadKey.current = guardContracts.freezeVotingContract.asProvider.address;
setFractalFreezeGuard(guardContracts);
}
+ if (!daoAddress) {
+ loadKey.current = undefined;
+ }
}, [setFractalFreezeGuard, guardContracts, daoAddress, loadOnMount]);
useEffect(() => {
diff --git a/src/hooks/DAO/loaders/useFractalGovernance.ts b/src/hooks/DAO/loaders/useFractalGovernance.ts
index c5fbc0796f..4a3b86ff3e 100644
--- a/src/hooks/DAO/loaders/useFractalGovernance.ts
+++ b/src/hooks/DAO/loaders/useFractalGovernance.ts
@@ -115,6 +115,9 @@ export const useFractalGovernance = () => {
});
}
}
+ if (!daoAddress) {
+ loadKey.current = undefined;
+ }
}, [
governanceContracts,
loadDAOProposals,
@@ -127,6 +130,7 @@ export const useFractalGovernance = () => {
loadERC721Strategy,
loadERC721Tokens,
action,
+ daoAddress,
]);
useEffect(() => {
diff --git a/src/hooks/DAO/loaders/useFractalGuardContracts.ts b/src/hooks/DAO/loaders/useFractalGuardContracts.ts
index bf4281ab94..c0c393e116 100644
--- a/src/hooks/DAO/loaders/useFractalGuardContracts.ts
+++ b/src/hooks/DAO/loaders/useFractalGuardContracts.ts
@@ -126,6 +126,9 @@ export const useFractalGuardContracts = ({ loadOnMount = true }: { loadOnMount?:
loadKey.current = chainId + daoAddress;
setGuardContracts();
}
+ if (!daoAddress) {
+ loadKey.current = undefined;
+ }
}, [setGuardContracts, isModulesLoaded, daoAddress, loadOnMount, chainId]);
return loadFractalGuardContracts;
};
diff --git a/src/hooks/DAO/loaders/useFractalNode.ts b/src/hooks/DAO/loaders/useFractalNode.ts
index 5bd8cd4b9c..4a497e2726 100644
--- a/src/hooks/DAO/loaders/useFractalNode.ts
+++ b/src/hooks/DAO/loaders/useFractalNode.ts
@@ -16,7 +16,7 @@ import { useFractalModules } from './useFractalModules';
const ONE_MINUTE = 60 * 1000;
-export const useFractalNode = ({ daoAddress }: { daoAddress?: string }) => {
+export const useFractalNode = ({ daoAddress }: { daoAddress: string | null }) => {
// tracks the current valid Safe address and chain id; helps prevent unnecessary calls
const currentValidSafe = useRef();
const [nodeLoading, setNodeLoading] = useState(true);
@@ -128,10 +128,16 @@ export const useFractalNode = ({ daoAddress }: { daoAddress?: string }) => {
const { chain } = useNetwork();
const chainId = chain ? chain.id : disconnectedChain.id;
useEffect(() => {
+ console.log('🚀 ~ daoAddress:', daoAddress);
+
if (daoAddress && chainId + daoAddress !== currentValidSafe.current) {
setNodeLoading(true);
setDAO(chainId, daoAddress);
}
+ if (!daoAddress) {
+ currentValidSafe.current = undefined;
+ setNodeLoading(false);
+ }
}, [daoAddress, setDAO, currentValidSafe, chainId]);
return { nodeLoading, errorLoading };
diff --git a/src/hooks/DAO/loaders/useFractalTreasury.ts b/src/hooks/DAO/loaders/useFractalTreasury.ts
index 92c56f66aa..29d9305baf 100644
--- a/src/hooks/DAO/loaders/useFractalTreasury.ts
+++ b/src/hooks/DAO/loaders/useFractalTreasury.ts
@@ -24,7 +24,7 @@ export const useFractalTreasury = () => {
const { safeBaseURL } = useNetworkConfig();
- const { setMethodOnInterval } = useUpdateTimer(daoAddress);
+ const { setMethodOnInterval, clearIntervals } = useUpdateTimer(daoAddress);
const loadTreasury = useCallback(async () => {
if (!daoAddress) {
@@ -60,7 +60,11 @@ export const useFractalTreasury = () => {
loadKey.current = chainId + daoAddress;
setMethodOnInterval(loadTreasury);
}
- }, [chainId, daoAddress, loadTreasury, setMethodOnInterval]);
+ if (!daoAddress) {
+ loadKey.current = null;
+ clearIntervals();
+ }
+ }, [chainId, daoAddress, loadTreasury, setMethodOnInterval, clearIntervals]);
return;
};
diff --git a/src/hooks/DAO/loaders/useGovernanceContracts.ts b/src/hooks/DAO/loaders/useGovernanceContracts.ts
index cc8999e124..b2e9f23943 100644
--- a/src/hooks/DAO/loaders/useGovernanceContracts.ts
+++ b/src/hooks/DAO/loaders/useGovernanceContracts.ts
@@ -209,5 +209,8 @@ export const useGovernanceContracts = () => {
loadGovernanceContracts();
currentValidAddress.current = daoAddress;
}
+ if (!daoAddress) {
+ currentValidAddress.current = null;
+ }
}, [isModulesLoaded, loadGovernanceContracts, daoAddress]);
};
From 6f17b189c43a89e04825caf78096bf34a5e65bb7 Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Thu, 7 Mar 2024 15:34:55 -0500
Subject: [PATCH 06/35] move imports to _app.tsx (top of tree)
---
.../SnapshotProposalDescription.tsx | 1 -
src/hooks/DAO/useDAOController.ts | 23 ++++++++-----------
src/providers/Providers.tsx | 5 +---
3 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/src/components/Proposals/SnapshotProposalDetails/SnapshotProposalDescription.tsx b/src/components/Proposals/SnapshotProposalDetails/SnapshotProposalDescription.tsx
index a45cb4a7f1..a97a866ebc 100644
--- a/src/components/Proposals/SnapshotProposalDetails/SnapshotProposalDescription.tsx
+++ b/src/components/Proposals/SnapshotProposalDetails/SnapshotProposalDescription.tsx
@@ -5,7 +5,6 @@ import { useTranslation } from 'react-i18next';
import Markdown, { Components } from 'react-markdown';
import remarkGfm from 'remark-gfm';
import { SnapshotProposal } from '../../../types';
-import '../../../assets/css/SnapshotProposalMarkdown.css';
function CustomMarkdownImage({ src, alt }: { src?: string; alt?: string }) {
const [error, setError] = useState(false);
diff --git a/src/hooks/DAO/useDAOController.ts b/src/hooks/DAO/useDAOController.ts
index 7735b6937a..ba075b1d18 100644
--- a/src/hooks/DAO/useDAOController.ts
+++ b/src/hooks/DAO/useDAOController.ts
@@ -1,6 +1,7 @@
'use client';
-import { useEffect, useState } from 'react';
+import { useSearchParams } from 'next/navigation';
+import { useEffect } from 'react';
import { useFractal } from '../../providers/App/AppProvider';
import { useERC20Claim } from './loaders/governance/useERC20Claim';
import { useSnapshotProposals } from './loaders/snapshot/useSnapshotProposals';
@@ -11,9 +12,9 @@ import { useFractalNode } from './loaders/useFractalNode';
import { useFractalTreasury } from './loaders/useFractalTreasury';
import { useGovernanceContracts } from './loaders/useGovernanceContracts';
-export default function useDAOController({ daoAddress }: { daoAddress?: string }) {
- const [currentDAOAddress, setCurrentDAOAddress] = useState();
- const [reloadingDAO, setReloadingDAO] = useState(false);
+export default function useDAOController() {
+ const params = useSearchParams();
+ const daoAddress = params.get('daoAddress');
const {
node: {
nodeHierarchy: { parentAddress },
@@ -21,16 +22,12 @@ export default function useDAOController({ daoAddress }: { daoAddress?: string }
action,
} = useFractal();
useEffect(() => {
- if (daoAddress && currentDAOAddress !== daoAddress) {
- setReloadingDAO(true);
- action.resetDAO().then(() => {
- setCurrentDAOAddress(daoAddress);
- setReloadingDAO(false);
- });
+ if (!daoAddress) {
+ action.resetDAO();
}
- }, [daoAddress, currentDAOAddress, action]);
+ }, [action, daoAddress]);
- const { nodeLoading, errorLoading } = useFractalNode({ daoAddress: currentDAOAddress });
+ const { nodeLoading, errorLoading } = useFractalNode({ daoAddress });
useGovernanceContracts();
useFractalGuardContracts({});
useFractalFreeze({ parentSafeAddress: parentAddress });
@@ -38,5 +35,5 @@ export default function useDAOController({ daoAddress }: { daoAddress?: string }
useFractalTreasury();
useERC20Claim();
useSnapshotProposals();
- return { nodeLoading, reloadingDAO, errorLoading };
+ return { nodeLoading, errorLoading };
}
diff --git a/src/providers/Providers.tsx b/src/providers/Providers.tsx
index 2968441281..1f453b7f8c 100644
--- a/src/providers/Providers.tsx
+++ b/src/providers/Providers.tsx
@@ -1,4 +1,3 @@
-'use client';
import { ApolloProvider } from '@apollo/client';
import { ChakraProvider } from '@chakra-ui/react';
import { theme } from '@decent-org/fractal-ui';
@@ -14,9 +13,7 @@ import { FractalErrorBoundary, initErrorLogging } from '../helpers/errorLogging'
import { AppProvider } from './App/AppProvider';
import { NetworkConfigProvider } from './NetworkConfig/NetworkConfigProvider';
import { wagmiConfig, chains } from './NetworkConfig/rainbow-kit.config';
-import '@fontsource/ibm-plex-mono';
-import '@fontsource/ibm-plex-sans';
-import 'react-toastify/dist/ReactToastify.min.css';
+
export default function Providers({ children }: { children: ReactNode }) {
useEffect(() => {
initErrorLogging();
From 29c045c894ca9c3c17fc39391d04c46c9082a11e Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Fri, 8 Mar 2024 07:49:22 -0500
Subject: [PATCH 07/35] remove console log
---
src/hooks/DAO/loaders/useFractalNode.ts | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/hooks/DAO/loaders/useFractalNode.ts b/src/hooks/DAO/loaders/useFractalNode.ts
index 60fe2f474c..49c09b3e96 100644
--- a/src/hooks/DAO/loaders/useFractalNode.ts
+++ b/src/hooks/DAO/loaders/useFractalNode.ts
@@ -128,8 +128,6 @@ export const useFractalNode = ({ daoAddress }: { daoAddress: string | null }) =>
const { chain } = useNetwork();
const chainId = chain ? chain.id : disconnectedChain.id;
useEffect(() => {
- console.log('🚀 ~ daoAddress:', daoAddress);
-
if (daoAddress && chainId + daoAddress !== currentValidSafe.current) {
setNodeLoading(true);
setDAO(chainId, daoAddress);
From 8b400d0d14471da25dd07978634180111af8b890 Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Fri, 8 Mar 2024 07:50:06 -0500
Subject: [PATCH 08/35] remove export config property (for now)
---
next.config.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/next.config.js b/next.config.js
index 2a9c5cdef9..0cc30c8923 100644
--- a/next.config.js
+++ b/next.config.js
@@ -7,7 +7,6 @@ module.exports = {
return config;
},
- output: 'export',
images: {
dangerouslyAllowSVG: true,
contentDispositionType: 'attachment',
From 40cf01b1eb4bdf35ae2d4f5025cf09f28ce40b94 Mon Sep 17 00:00:00 2001
From: David Colon <38386583+Da-Colon@users.noreply.github.com>
Date: Mon, 11 Mar 2024 12:34:14 -0400
Subject: [PATCH 09/35] Replace NextJS with Vite and React-Router-Dom - remove
next config and types - Add vite and react-router-dom - Add vite config -
Create index.html (update with metadata from next/head) - Create main.tsx
(entry point) - Add CSS imports, providers to entry point - Create router.tsx
to handle page router - Add DAOController and Layout element to Router - Add
Pages to Router (A few index -> default component name file changes) -
Replace next's Script with custom hook - Replace next Link Component with
React Router Link - Replace process.env -> import.meta with update ENV names
- Replace next/image component with Chakra Image component - Replace
next/router push instances with `useNavigate` - Replace package.json next
scripts with vite runner
---
.env | 21 +-
.gitignore | 2 +
docker/blockchain/hardhat.config.js | 2 +-
global.d.ts | 10 +
index.html | 68 +
next-env.d.ts | 5 -
next.config.js | 19 -
package-lock.json | 3049 ++++++++---------
package.json | 14 +-
.../Activity/ActivityGovernance.tsx | 4 +-
src/components/DaoCreator/StepWrapper.tsx | 6 +-
.../ProposalTemplateCard.tsx | 8 +-
src/components/ProposalTemplates/index.tsx | 4 +-
src/components/Proposals/ProposalsList.tsx | 4 +-
.../SnapshotProposalDescription.tsx | 3 +-
src/components/pages/AppHome/AppFooter.tsx | 6 +-
.../pages/DaoDashboard/Info/ParentLink.tsx | 2 +-
.../DaoSettings/components/Metadata/index.tsx | 6 +-
src/components/ui/cards/DAOInfoCard.tsx | 2 +-
src/components/ui/containers/InfoBox.tsx | 6 +-
src/components/ui/forms/ABISelector.tsx | 2 +-
src/components/ui/icons/IconWithText.tsx | 2 +-
.../ui/menus/DAOSearch/SearchDisplay.tsx | 6 +-
.../ui/menus/FavoritesMenu/Favorite.tsx | 6 +-
.../ui/menus/ManageDAO/ManageDAOMenu.tsx | 12 +-
.../modals/ConfirmModifyGovernanceModal.tsx | 4 +-
.../ui/modals/ForkProposalTemplateModal.tsx | 6 +-
.../ui/modals/ProposalTemplateModal.tsx | 6 +-
src/components/ui/modals/Stake.tsx | 6 +-
src/components/ui/page/Header/Breadcrumbs.tsx | 2 +-
src/components/ui/page/Layout/index.tsx | 6 +-
.../ui/page/Navigation/NavigationLink.tsx | 8 +-
src/components/ui/page/Navigation/index.tsx | 4 +-
src/components/ui/utils/ErrorFallback.tsx | 3 +-
src/helpers/errorLogging.ts | 4 +-
src/hooks/DAO/loaders/useFractalNode.ts | 2 +-
src/hooks/DAO/useDAOController.ts | 5 +-
src/hooks/DAO/useDeployAzorius.ts | 8 +-
src/hooks/utils/useETHLizardsScript.tsx | 32 +
src/hooks/utils/useUpdateTimer.tsx | 2 +-
src/main.tsx | 22 +
src/metadata/lizzardsDAO/index.ts | 4 +-
src/pages/404.tsx | 12 +-
src/pages/DAOController.tsx | 30 +-
src/pages/{index.tsx => HomePage.tsx} | 7 +-
src/pages/_app.tsx | 81 -
src/pages/create/index.tsx | 10 +-
.../{index.tsx => DaoDashboardPage.tsx} | 0
.../[daoAddress]/edit/governance/index.tsx | 7 +-
src/pages/daos/[daoAddress]/new/index.tsx | 6 +-
.../[daoAddress]/proposal-templates/index.tsx | 4 +-
.../proposal-templates/new/index.tsx | 10 +-
.../proposals/[proposalId]/index.tsx | 5 +-
.../daos/[daoAddress]/proposals/index.tsx | 4 +-
.../daos/[daoAddress]/proposals/new/index.tsx | 8 +-
src/providers/App/hooks/useIPFSClient.ts | 2 +-
.../NetworkConfig/rainbow-kit.config.ts | 18 +-
src/providers/Providers.tsx | 2 +-
src/router.tsx | 97 +
src/utils/dev.ts | 2 +-
src/utils/shutter.ts | 2 +-
src/vite-env.d.ts | 10 +
tsconfig.json | 10 +-
vite.config.ts | 10 +
64 files changed, 1895 insertions(+), 1835 deletions(-)
create mode 100644 global.d.ts
create mode 100644 index.html
delete mode 100644 next-env.d.ts
delete mode 100644 next.config.js
create mode 100644 src/hooks/utils/useETHLizardsScript.tsx
create mode 100644 src/main.tsx
rename src/pages/{index.tsx => HomePage.tsx} (98%)
delete mode 100644 src/pages/_app.tsx
rename src/pages/daos/[daoAddress]/{index.tsx => DaoDashboardPage.tsx} (100%)
create mode 100644 src/router.tsx
create mode 100644 src/vite-env.d.ts
create mode 100644 vite.config.ts
diff --git a/.env b/.env
index 2745aac863..97ed71ba14 100644
--- a/.env
+++ b/.env
@@ -1,24 +1,25 @@
# CoinGecko API key
COINGECKO_API_KEY=""
+VITE_APP_NAME=Fractal
# Alchemy provider API key, used on Mainnet
-NEXT_PUBLIC_ALCHEMY_MAINNET_API_KEY=""
+VITE_APP_ALCHEMY_MAINNET_API_KEY=""
# Alchemy provider API key, used on Sepolia
-NEXT_PUBLIC_ALCHEMY_SEPOLIA_API_KEY=""
+VITE_APP_ALCHEMY_SEPOLIA_API_KEY=""
# automated testing workflows
-NEXT_PUBLIC_ALCHEMY_TESTING_API_KEY=""
+VITE_APP_ALCHEMY_TESTING_API_KEY=""
# ABI selector (*)
-NEXT_PUBLIC_ETHERSCAN_API_KEY=""
+VITE_APP_ETHERSCAN_API_KEY=""
# IPFS pinning (*)
-NEXT_PUBLIC_INFURA_IPFS_API_KEY=""
+VITE_APP_INFURA_IPFS_API_KEY=""
# IPFS pinning (*)
-NEXT_PUBLIC_INFURA_IPFS_API_SECRET=""
+VITE_APP_INFURA_IPFS_API_SECRET=""
# Sentry DSN URL, not used locally
-NEXT_PUBLIC_SENTRY_DSN_URL=""
+VITE_APP_SENTRY_DSN_URL=""
# Shutter Public Key
-NEXT_PUBLIC_SHUTTER_EON_PUBKEY=0x0e6493bbb4ee8b19aa9b70367685049ff01dc9382c46aed83f8bc07d2a5ba3e6030bd83b942c1fd3dff5b79bef3b40bf6b666e51e7f0be14ed62daaffad47435265f5c9403b1a801921981f7d8659a9bd91fe92fb1cf9afdb16178a532adfaf51a237103874bb03afafe9cab2118dae1be5f08a0a28bf488c1581e9db4bc23ca
+VITE_APP_SHUTTER_EON_PUBKEY=0x0e6493bbb4ee8b19aa9b70367685049ff01dc9382c46aed83f8bc07d2a5ba3e6030bd83b942c1fd3dff5b79bef3b40bf6b666e51e7f0be14ed62daaffad47435265f5c9403b1a801921981f7d8659a9bd91fe92fb1cf9afdb16178a532adfaf51a237103874bb03afafe9cab2118dae1be5f08a0a28bf488c1581e9db4bc23ca
# site preview links
-NEXT_PUBLIC_SITE_URL="https://app.dev.fractalframework.xyz/"
+VITE_APP_SITE_URL="https://app.dev.fractalframework.xyz/"
# WalletConnect Cloud Project ID
-NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=""
+VITE_APP_WALLET_CONNECT_PROJECT_ID=""
# Minutes to cache prices for token addresses
TOKEN_PRICE_CACHE_INTERVAL_MINUTES=""
diff --git a/.gitignore b/.gitignore
index 888bc818a6..92bd7ee706 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,5 @@ yarn-error.log*
# Local Netlify folder
.netlify
+
+./dist
diff --git a/docker/blockchain/hardhat.config.js b/docker/blockchain/hardhat.config.js
index 39702cac26..e07a987373 100644
--- a/docker/blockchain/hardhat.config.js
+++ b/docker/blockchain/hardhat.config.js
@@ -9,7 +9,7 @@ module.exports = {
hardhat: {
chainId: 31337,
forking: {
- url: `https://eth-sepolia.g.alchemy.com/v2/${process.env.NEXT_PUBLIC_ALCHEMY_TESTING_API_KEY}`,
+ url: `https://eth-sepolia.g.alchemy.com/v2/${import.meta.env.VITE_APP_ALCHEMY_TESTING_API_KEY}`,
},
},
},
diff --git a/global.d.ts b/global.d.ts
new file mode 100644
index 0000000000..2361dd89e7
--- /dev/null
+++ b/global.d.ts
@@ -0,0 +1,10 @@
+// global.d.ts
+export {};
+
+// @dev for ethlizards script
+declare global {
+ interface Window {
+ hj: ((...params: any[]) => void) & { q: [string, any[]][] };
+ _hjSettings: { hjid: number; hjsv: number; };
+ }
+}
diff --git a/index.html b/index.html
new file mode 100644
index 0000000000..112606380a
--- /dev/null
+++ b/index.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %VITE_APP_NAME%
+
+
+
+
+
+
diff --git a/next-env.d.ts b/next-env.d.ts
deleted file mode 100644
index 4f11a03dc6..0000000000
--- a/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
deleted file mode 100644
index 0cc30c8923..0000000000
--- a/next.config.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/** @type {import('next').NextConfig} */
-module.exports = {
- webpack(config) {
- config.resolve.fallback = {
- fs: false,
- };
-
- return config;
- },
- images: {
- dangerouslyAllowSVG: true,
- contentDispositionType: 'attachment',
- contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;",
- unoptimized: true,
- },
- experimental: {
- esmExternals: false,
- },
-};
diff --git a/package-lock.json b/package-lock.json
index 825913bcf9..57d26bfc5f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,6 @@
"name": "fractal-interface",
"dependencies": {
"@apollo/client": "^3.7.10",
- "@chakra-ui/next-js": "^2.2.0",
"@chakra-ui/react": "^2.8.2",
"@decent-org/fractal-ui": "^0.1.23",
"@emotion/react": "^11.10.6",
@@ -30,6 +29,7 @@
"@shutter-network/shutter-crypto": "^1.0.1",
"@snapshot-labs/snapshot.js": "^0.7.3",
"@ukstv/jazzicon-react": "^1.0.0",
+ "@vitejs/plugin-react-swc": "^3.5.0",
"@walletconnect/ethereum-provider": "^2.11.0",
"axios": "^0.27.2",
"classnames": "^2.3.1",
@@ -42,16 +42,17 @@
"i18next": "^21.9.2",
"i18next-browser-languagedetector": "^6.1.5",
"js-big-decimal": "^1.3.12",
- "next": "^13.3.0",
"react": "latest",
"react-dom": "latest",
"react-i18next": "^11.18.6",
"react-idle-timer": "^5.5.3",
"react-image": "^4.0.3",
"react-markdown": "^9.0.0",
+ "react-router-dom": "^6.22.0",
"react-toastify": "^9.0.8",
"remark-gfm": "^4.0.0",
"viem": "^1.21",
+ "vite": "^5.1.0",
"wagmi": "^1.4.11",
"yup": "^1"
},
@@ -68,7 +69,6 @@
"encoding": "^0.1.13",
"eslint": "^8.22.0",
"eslint-config-airbnb-typescript": "^17.1.0",
- "eslint-config-next": "^13.2.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.26.0",
"jsdom": "^24.0.0",
@@ -76,6 +76,7 @@
"prettier": "^3.2.5",
"typescript": "^5.0.4",
"url": "^0.11.0",
+ "vite-plugin-node-polyfills": "^0.21.0",
"vitest": "^1.2.2"
},
"engines": {
@@ -2629,20 +2630,6 @@
"react-dom": ">=18"
}
},
- "node_modules/@chakra-ui/next-js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/next-js/-/next-js-2.2.0.tgz",
- "integrity": "sha512-brCz0UEOlImX4Np2jDIaljZJkW6kiDSuXG5erxvYjZlklLhmti1zj0o1sSjt5yff1xndfgHoOJb+BYG5wx+vDg==",
- "dependencies": {
- "@emotion/cache": "^11.11.0"
- },
- "peerDependencies": {
- "@chakra-ui/react": ">=2.4.0",
- "@emotion/react": ">=11",
- "next": ">=13",
- "react": ">=18"
- }
- },
"node_modules/@chakra-ui/number-input": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz",
@@ -3672,7 +3659,6 @@
"cpu": [
"ppc64"
],
- "dev": true,
"optional": true,
"os": [
"aix"
@@ -3688,7 +3674,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"android"
@@ -3704,7 +3689,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"android"
@@ -3720,7 +3704,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"android"
@@ -3736,7 +3719,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -3752,7 +3734,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -3768,7 +3749,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"freebsd"
@@ -3784,7 +3764,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"freebsd"
@@ -3800,7 +3779,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3816,7 +3794,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3832,7 +3809,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3848,7 +3824,6 @@
"cpu": [
"loong64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3864,7 +3839,6 @@
"cpu": [
"mips64el"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3880,7 +3854,6 @@
"cpu": [
"ppc64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3896,7 +3869,6 @@
"cpu": [
"riscv64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3912,7 +3884,6 @@
"cpu": [
"s390x"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3928,7 +3899,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -3944,7 +3914,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"netbsd"
@@ -3960,7 +3929,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"openbsd"
@@ -3976,7 +3944,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"sunos"
@@ -3992,7 +3959,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -4008,7 +3974,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -4024,7 +3989,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -8144,175 +8108,6 @@
"resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz",
"integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ=="
},
- "node_modules/@next/env": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.3.0.tgz",
- "integrity": "sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ=="
- },
- "node_modules/@next/eslint-plugin-next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz",
- "integrity": "sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==",
- "dev": true,
- "dependencies": {
- "glob": "7.1.7"
- }
- },
- "node_modules/@next/eslint-plugin-next/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@next/swc-darwin-arm64": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.3.0.tgz",
- "integrity": "sha512-DmIQCNq6JtccLPPBzf0dgh2vzMWt5wjxbP71pCi5EWpWYE3MsP6FcRXi4MlAmFNDQOfcFXR2r7kBeG1LpZUh1w==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-x64": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.3.0.tgz",
- "integrity": "sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-gnu": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.3.0.tgz",
- "integrity": "sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-musl": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.3.0.tgz",
- "integrity": "sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-gnu": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.3.0.tgz",
- "integrity": "sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-musl": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.3.0.tgz",
- "integrity": "sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-arm64-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.3.0.tgz",
- "integrity": "sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-ia32-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.3.0.tgz",
- "integrity": "sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-x64-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.3.0.tgz",
- "integrity": "sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/@noble/curves": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
@@ -9112,26 +8907,6 @@
"node": ">=10.12.0"
}
},
- "node_modules/@pkgr/utils": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz",
- "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "is-glob": "^4.0.3",
- "open": "^8.4.0",
- "picocolors": "^1.0.0",
- "tiny-glob": "^0.2.9",
- "tslib": "^2.4.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts"
- }
- },
"node_modules/@playwright/test": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz",
@@ -9640,11 +9415,75 @@
"integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==",
"peer": true
},
+ "node_modules/@remix-run/router": {
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/@repeaterjs/repeater": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz",
"integrity": "sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA=="
},
+ "node_modules/@rollup/plugin-inject": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz",
+ "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-inject/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
+ "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.10.0.tgz",
@@ -9652,7 +9491,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"android"
@@ -9665,7 +9503,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"android"
@@ -9678,7 +9515,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -9691,7 +9527,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"darwin"
@@ -9704,7 +9539,6 @@
"cpu": [
"arm"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9717,7 +9551,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9730,7 +9563,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9743,7 +9575,6 @@
"cpu": [
"riscv64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9756,7 +9587,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9769,7 +9599,6 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"linux"
@@ -9782,7 +9611,6 @@
"cpu": [
"arm64"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -9795,7 +9623,6 @@
"cpu": [
"ia32"
],
- "dev": true,
"optional": true,
"os": [
"win32"
@@ -9808,18 +9635,11 @@
"cpu": [
"x64"
],
- "dev": true,
"optional": true,
"os": [
"win32"
]
},
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==",
- "dev": true
- },
"node_modules/@safe-global/safe-apps-provider": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.2.tgz",
@@ -10677,14 +10497,166 @@
"@stablelib/wipe": "^1.0.1"
}
},
- "node_modules/@swc/helpers": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
- "dependencies": {
- "tslib": "^2.4.0"
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.6.tgz",
+ "integrity": "sha512-bpggpx/BfLFyy48aUKq1PsNUxb7J6CINlpAUk0V4yXfmGnpZH80Gp1pM3GkFDQyCfq7L7IpjPrIjWQwCrL4hYw==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
}
},
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.6.tgz",
+ "integrity": "sha512-vJn+/ZuBTg+vtNkcmgZdH6FQpa0hFVdnB9bAeqYwKkyqP15zaPe6jfC+qL2y/cIeC7ASvHXEKrnCZgBLxfVQ9w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.6.tgz",
+ "integrity": "sha512-hEmYcB/9XBAl02MtuVHszhNjQpjBzhk/NFulnU33tBMbNZpy2TN5yTsitezMq090QXdDz8sKIALApDyg07ZR8g==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.6.tgz",
+ "integrity": "sha512-/UCYIVoGpm2YVvGHZM2QOA3dexa28BjcpLAIYnoCbgH5f7ulDhE8FAIO/9pasj+kixDBsdqewHfsNXFYlgGJjQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.6.tgz",
+ "integrity": "sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.6.tgz",
+ "integrity": "sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.6.tgz",
+ "integrity": "sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.6.tgz",
+ "integrity": "sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.6.tgz",
+ "integrity": "sha512-ZuQm81FhhvNVYtVb9GfZ+Du6e7fZlkisWvuCeBeRiyseNt1tcrQ8J3V67jD2nxje8CVXrwG3oUIbPcybv2rxfQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.6.tgz",
+ "integrity": "sha512-UagPb7w5V0uzWSjrXwOavGa7s9iv3wrVdEgWy+/inm0OwY4lj3zpK9qDnMWAwYLuFwkI3UG4Q3dH8wD+CUUcjw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
+ "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw=="
+ },
"node_modules/@tanstack/query-core": {
"version": "4.36.1",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz",
@@ -10955,8 +10927,7 @@
"node_modules/@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
},
"node_modules/@types/hast": {
"version": "3.0.1",
@@ -11489,6 +11460,64 @@
"vite": "^4.2.0 || ^5.0.0"
}
},
+ "node_modules/@vitejs/plugin-react-swc": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz",
+ "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==",
+ "dependencies": {
+ "@swc/core": "^1.3.107"
+ },
+ "peerDependencies": {
+ "vite": "^4 || ^5"
+ }
+ },
+ "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.6.tgz",
+ "integrity": "sha512-A7iK9+1qzTCIuc3IYcS8gPHCm9bZVKUJrfNnwveZYyo6OFp3jLno4WOM2yBy5uqedgYATEiWgBYHKq37KrU6IA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.2",
+ "@swc/types": "^0.1.5"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.4.6",
+ "@swc/core-darwin-x64": "1.4.6",
+ "@swc/core-linux-arm-gnueabihf": "1.4.6",
+ "@swc/core-linux-arm64-gnu": "1.4.6",
+ "@swc/core-linux-arm64-musl": "1.4.6",
+ "@swc/core-linux-x64-gnu": "1.4.6",
+ "@swc/core-linux-x64-musl": "1.4.6",
+ "@swc/core-win32-arm64-msvc": "1.4.6",
+ "@swc/core-win32-ia32-msvc": "1.4.6",
+ "@swc/core-win32-x64-msvc": "1.4.6"
+ },
+ "peerDependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitejs/plugin-react-swc/node_modules/@swc/helpers": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.6.tgz",
+ "integrity": "sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@vitejs/plugin-react/node_modules/react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
@@ -12881,42 +12910,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
"node_modules/asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
+ "node_modules/asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"node_modules/asn1js": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz",
@@ -12930,6 +12939,19 @@
"node": ">=12.0.0"
}
},
+ "node_modules/assert": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
+ "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
+ }
+ },
"node_modules/assertion-error": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
@@ -12960,12 +12982,6 @@
"node": ">=4"
}
},
- "node_modules/ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
- },
"node_modules/astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
@@ -13043,15 +13059,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
@@ -13061,15 +13068,6 @@
"form-data": "^4.0.0"
}
},
- "node_modules/axobject-query": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
- "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
- "dev": true,
- "dependencies": {
- "deep-equal": "^2.0.5"
- }
- },
"node_modules/babel-core": {
"version": "7.0.0-bridge.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
@@ -13357,8 +13355,7 @@
"node_modules/bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
- "peer": true
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
},
"node_modules/borsh": {
"version": "0.7.0",
@@ -13417,6 +13414,15 @@
"resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz",
"integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg=="
},
+ "node_modules/browser-resolve": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
+ "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.17.0"
+ }
+ },
"node_modules/browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -13436,6 +13442,157 @@
"safe-buffer": "^5.0.1"
}
},
+ "node_modules/browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "dependencies": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "node_modules/browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/browserify-rsa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "node_modules/browserify-rsa/node_modules/bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
+ "dev": true
+ },
+ "node_modules/browserify-sign": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
+ "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.5",
+ "hash-base": "~3.0",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.7",
+ "readable-stream": "^2.3.8",
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
+ "dev": true
+ },
+ "node_modules/browserify-sign/node_modules/elliptic": {
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz",
+ "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/elliptic/node_modules/bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
+ "dev": true
+ },
+ "node_modules/browserify-sign/node_modules/hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
+ "node_modules/browserify-sign/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/browserify-sign/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "dependencies": {
+ "pako": "~1.0.5"
+ }
+ },
"node_modules/browserslist": {
"version": "4.22.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz",
@@ -13539,6 +13696,12 @@
"node": ">=6.14.2"
}
},
+ "node_modules/builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
+ "dev": true
+ },
"node_modules/busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
@@ -14024,11 +14187,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
"node_modules/clipboardy": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz",
@@ -14436,6 +14594,12 @@
"node": "^14.18.0 || >=16.10.0"
}
},
+ "node_modules/console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+ "dev": true
+ },
"node_modules/constant-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
@@ -14447,6 +14611,12 @@
"upper-case": "^2.0.2"
}
},
+ "node_modules/constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
+ "dev": true
+ },
"node_modules/convert-source-map": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
@@ -14507,8 +14677,7 @@
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "peer": true
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cosmiconfig": {
"version": "7.1.0",
@@ -14537,6 +14706,16 @@
"node": ">=0.8"
}
},
+ "node_modules/create-ecdh": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ }
+ },
"node_modules/create-hash": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
@@ -14589,6 +14768,28 @@
"node": ">= 8"
}
},
+ "node_modules/crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "dependencies": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/css-box-model": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
@@ -14651,12 +14852,6 @@
"type": "^1.0.1"
}
},
- "node_modules/damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
- },
"node_modules/data-urls": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
@@ -14847,15 +15042,6 @@
"node": ">=0.8"
}
},
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/define-properties": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
@@ -14959,6 +15145,16 @@
"node": ">=6"
}
},
+ "node_modules/des.js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
+ "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"node_modules/destr": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz",
@@ -15025,6 +15221,17 @@
"node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
}
},
+ "node_modules/diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
@@ -15070,6 +15277,18 @@
"integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==",
"dev": true
},
+ "node_modules/domain-browser": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz",
+ "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://bevry.me/fund"
+ }
+ },
"node_modules/dot-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
@@ -15138,12 +15357,6 @@
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
},
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
"node_modules/encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
@@ -15175,19 +15388,6 @@
"once": "^1.4.0"
}
},
- "node_modules/enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -15421,7 +15621,6 @@
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
"integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
- "dev": true,
"hasInstallScript": true,
"bin": {
"esbuild": "bin/esbuild"
@@ -15579,133 +15778,6 @@
"eslint-plugin-import": "^2.25.3"
}
},
- "node_modules/eslint-config-next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.2.4.tgz",
- "integrity": "sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==",
- "dev": true,
- "dependencies": {
- "@next/eslint-plugin-next": "13.2.4",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^3.5.2",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- },
- "peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
- "typescript": ">=3.3.1"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
- "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
- "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
- "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-config-next/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
"node_modules/eslint-config-prettier": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
@@ -15737,62 +15809,6 @@
"ms": "^2.1.1"
}
},
- "node_modules/eslint-import-resolver-typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz",
- "integrity": "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==",
- "dev": true,
- "dependencies": {
- "debug": "^4.3.4",
- "enhanced-resolve": "^5.10.0",
- "get-tsconfig": "^4.2.0",
- "globby": "^13.1.2",
- "is-core-module": "^2.10.0",
- "is-glob": "^4.0.3",
- "synckit": "^0.8.4"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/globby": {
- "version": "13.1.3",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz",
- "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==",
- "dev": true,
- "dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint-import-resolver-typescript/node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/eslint-module-utils": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
@@ -15873,124 +15889,6 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
- "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.20.7",
- "aria-query": "^5.1.3",
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.6.2",
- "axobject-query": "^3.1.1",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.3",
- "language-tags": "=1.0.5",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=4.0"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
@@ -17357,15 +17255,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-tsconfig": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.4.0.tgz",
- "integrity": "sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
"node_modules/get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -17436,12 +17325,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "dev": true
- },
"node_modules/globby": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
@@ -17462,12 +17345,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -18018,6 +17895,12 @@
"node": ">= 0.12.0"
}
},
+ "node_modules/https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
+ "dev": true
+ },
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -18601,6 +18484,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-nan": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
+ "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -18895,6 +18794,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/isomorphic-timers-promises": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz",
+ "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/isomorphic-unfetch": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz",
@@ -19865,19 +19773,6 @@
"node": "*"
}
},
- "node_modules/jsx-ast-utils": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
- "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "dev": true,
- "dependencies": {
- "array-includes": "^3.1.5",
- "object.assign": "^4.1.3"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
"node_modules/keccak": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz",
@@ -19924,21 +19819,6 @@
"node": ">=6"
}
},
- "node_modules/language-subtag-registry": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
- },
- "node_modules/language-tags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
- "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
- "dependencies": {
- "language-subtag-registry": "~0.3.2"
- }
- },
"node_modules/level": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz",
@@ -21847,6 +21727,19 @@
"node": ">=8.6"
}
},
+ "node_modules/miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ },
+ "bin": {
+ "miller-rabin": "bin/miller-rabin"
+ }
+ },
"node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -22301,86 +22194,11 @@
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
},
- "node_modules/next": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/next/-/next-13.3.0.tgz",
- "integrity": "sha512-OVTw8MpIPa12+DCUkPqRGPS3thlJPcwae2ZL4xti3iBff27goH024xy4q2lhlsdoYiKOi8Kz6uJoLW/GXwgfOA==",
- "dependencies": {
- "@next/env": "13.3.0",
- "@swc/helpers": "0.4.14",
- "busboy": "1.6.0",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.1"
- },
- "bin": {
- "next": "dist/bin/next"
- },
- "engines": {
- "node": ">=14.6.0"
- },
- "optionalDependencies": {
- "@next/swc-darwin-arm64": "13.3.0",
- "@next/swc-darwin-x64": "13.3.0",
- "@next/swc-linux-arm64-gnu": "13.3.0",
- "@next/swc-linux-arm64-musl": "13.3.0",
- "@next/swc-linux-x64-gnu": "13.3.0",
- "@next/swc-linux-x64-musl": "13.3.0",
- "@next/swc-win32-arm64-msvc": "13.3.0",
- "@next/swc-win32-ia32-msvc": "13.3.0",
- "@next/swc-win32-x64-msvc": "13.3.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.1.0",
- "fibers": ">= 3.1.0",
- "node-sass": "^6.0.0 || ^7.0.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "sass": "^1.3.0"
- },
- "peerDependenciesMeta": {
- "@opentelemetry/api": {
- "optional": true
- },
- "fibers": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "sass": {
- "optional": true
- }
- }
- },
"node_modules/next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
- "node_modules/next/node_modules/postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
"node_modules/nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -22475,6 +22293,86 @@
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
+ "node_modules/node-stdlib-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz",
+ "integrity": "sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==",
+ "dev": true,
+ "dependencies": {
+ "assert": "^2.0.0",
+ "browser-resolve": "^2.0.0",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^5.7.1",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "create-require": "^1.1.1",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^4.22.0",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "isomorphic-timers-promises": "^1.0.1",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "^1.0.1",
+ "pkg-dir": "^5.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.4.1",
+ "querystring-es3": "^0.2.1",
+ "readable-stream": "^3.6.0",
+ "stream-browserify": "^3.0.0",
+ "stream-http": "^3.2.0",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.1",
+ "url": "^0.11.0",
+ "util": "^0.12.4",
+ "vm-browserify": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-stdlib-browser/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/node-stdlib-browser/node_modules/pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-stdlib-browser/node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
"node_modules/node-stream-zip": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz",
@@ -22722,36 +22620,6 @@
"node": ">= 0.4"
}
},
- "node_modules/object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@@ -22854,23 +22722,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "dev": true,
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/optimism": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.2.tgz",
@@ -22920,6 +22771,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
+ "dev": true
+ },
"node_modules/os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -22994,6 +22851,12 @@
"node": ">=6"
}
},
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
"node_modules/param-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
@@ -23015,6 +22878,36 @@
"node": ">=6"
}
},
+ "node_modules/parse-asn1": {
+ "version": "5.1.7",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
+ "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
+ "dev": true,
+ "dependencies": {
+ "asn1.js": "^4.10.1",
+ "browserify-aes": "^1.2.0",
+ "evp_bytestokey": "^1.0.3",
+ "hash-base": "~3.0",
+ "pbkdf2": "^3.1.2",
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/parse-asn1/node_modules/hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@@ -23408,7 +23301,6 @@
"version": "8.4.35",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
"integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -23505,11 +23397,19 @@
"@types/yargs-parser": "*"
}
},
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "peer": true
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/process-warning": {
"version": "1.0.0",
@@ -23578,6 +23478,20 @@
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
"dev": true
},
+ "node_modules/public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -23670,6 +23584,15 @@
"node": ">=0.4.x"
}
},
+ "node_modules/querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
"node_modules/querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -23713,6 +23636,16 @@
"safe-buffer": "^5.1.0"
}
},
+ "node_modules/randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -24076,6 +24009,36 @@
}
}
},
+ "node_modules/react-router": {
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz",
+ "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==",
+ "dependencies": {
+ "@remix-run/router": "1.15.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz",
+ "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==",
+ "dependencies": {
+ "@remix-run/router": "1.15.3",
+ "react-router": "6.22.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
"node_modules/react-shallow-renderer": {
"version": "16.15.0",
"resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
@@ -24568,7 +24531,6 @@
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.10.0.tgz",
"integrity": "sha512-t2v9G2AKxcQ8yrG+WGxctBes1AomT0M4ND7jTFBCVPXQ/WFTvNSefIrNSmLKhIKBrvN8SG+CZslimJcT3W2u2g==",
- "dev": true,
"dependencies": {
"@types/estree": "1.0.5"
},
@@ -25753,6 +25715,18 @@
"readable-stream": "^3.5.0"
}
},
+ "node_modules/stream-http": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
+ "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
+ "dev": true,
+ "dependencies": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "xtend": "^4.0.2"
+ }
+ },
"node_modules/stream-shift": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
@@ -25808,25 +25782,6 @@
"node": ">=8"
}
},
- "node_modules/string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
@@ -25982,28 +25937,6 @@
"tslib": "^2.1.0"
}
},
- "node_modules/styled-jsx": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
- "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
- "dependencies": {
- "client-only": "0.0.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "babel-plugin-macros": {
- "optional": true
- }
- }
- },
"node_modules/stylis": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz",
@@ -26065,22 +25998,6 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
- "node_modules/synckit": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
- "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
- "dev": true,
- "dependencies": {
- "@pkgr/utils": "^2.3.1",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts"
- }
- },
"node_modules/system-architecture": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz",
@@ -26092,15 +26009,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/temp": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
@@ -26223,21 +26131,23 @@
"safe-buffer": "~5.1.0"
}
},
+ "node_modules/timers-browserify": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+ "dev": true,
+ "dependencies": {
+ "setimmediate": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
"node_modules/tiny-case": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
"integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q=="
},
- "node_modules/tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "dev": true,
- "dependencies": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
"node_modules/tiny-invariant": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
@@ -26532,25 +26442,10 @@
"integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==",
"peer": true
},
- "node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/tsutils/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "node_modules/tty-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
"dev": true
},
"node_modules/tweetnacl": {
@@ -27301,15 +27196,14 @@
"integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ=="
},
"node_modules/util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
"dependencies": {
"inherits": "^2.0.3",
"is-arguments": "^1.0.4",
"is-generator-function": "^1.0.7",
"is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
"which-typed-array": "^1.1.2"
}
},
@@ -27487,7 +27381,6 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.1.tgz",
"integrity": "sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==",
- "dev": true,
"dependencies": {
"esbuild": "^0.19.3",
"postcss": "^8.4.35",
@@ -27560,11 +27453,26 @@
"url": "https://opencollective.com/vitest"
}
},
+ "node_modules/vite-plugin-node-polyfills": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.21.0.tgz",
+ "integrity": "sha512-Sk4DiKnmxN8E0vhgEhzLudfJQfaT8k4/gJ25xvUPG54KjLJ6HAmDKbr4rzDD/QWEY+Lwg80KE85fGYBQihEPQA==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/plugin-inject": "^5.0.5",
+ "node-stdlib-browser": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/davidmyersdev"
+ },
+ "peerDependencies": {
+ "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
+ }
+ },
"node_modules/vite/node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
@@ -27759,6 +27667,12 @@
"integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==",
"peer": true
},
+ "node_modules/vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "dev": true
+ },
"node_modules/void-elements": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
@@ -30341,14 +30255,6 @@
"react-remove-scroll": "^2.5.6"
}
},
- "@chakra-ui/next-js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/next-js/-/next-js-2.2.0.tgz",
- "integrity": "sha512-brCz0UEOlImX4Np2jDIaljZJkW6kiDSuXG5erxvYjZlklLhmti1zj0o1sSjt5yff1xndfgHoOJb+BYG5wx+vDg==",
- "requires": {
- "@emotion/cache": "^11.11.0"
- }
- },
"@chakra-ui/number-input": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz",
@@ -31166,161 +31072,138 @@
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
"integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
- "dev": true,
"optional": true
},
"@esbuild/android-arm": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
"integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
- "dev": true,
"optional": true
},
"@esbuild/android-arm64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
"integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
- "dev": true,
"optional": true
},
"@esbuild/android-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
"integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
- "dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
"integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
- "dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
"integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
- "dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
"integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
- "dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
"integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
- "dev": true,
"optional": true
},
"@esbuild/linux-arm": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
"integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
- "dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
"integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
- "dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
"integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
- "dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
"integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
- "dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
"integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
- "dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
"integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
- "dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
"integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
- "dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
"integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
- "dev": true,
"optional": true
},
"@esbuild/linux-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
"integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
- "dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
"integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
- "dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
"integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
- "dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
"integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
- "dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
"integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
- "dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
"integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
- "dev": true,
"optional": true
},
"@esbuild/win32-x64": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
"integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
- "dev": true,
"optional": true
},
"@eslint-community/eslint-utils": {
@@ -34469,90 +34352,6 @@
}
}
},
- "@next/env": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-13.3.0.tgz",
- "integrity": "sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ=="
- },
- "@next/eslint-plugin-next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz",
- "integrity": "sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==",
- "dev": true,
- "requires": {
- "glob": "7.1.7"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
- }
- },
- "@next/swc-darwin-arm64": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.3.0.tgz",
- "integrity": "sha512-DmIQCNq6JtccLPPBzf0dgh2vzMWt5wjxbP71pCi5EWpWYE3MsP6FcRXi4MlAmFNDQOfcFXR2r7kBeG1LpZUh1w==",
- "optional": true
- },
- "@next/swc-darwin-x64": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.3.0.tgz",
- "integrity": "sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==",
- "optional": true
- },
- "@next/swc-linux-arm64-gnu": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.3.0.tgz",
- "integrity": "sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==",
- "optional": true
- },
- "@next/swc-linux-arm64-musl": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.3.0.tgz",
- "integrity": "sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==",
- "optional": true
- },
- "@next/swc-linux-x64-gnu": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.3.0.tgz",
- "integrity": "sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==",
- "optional": true
- },
- "@next/swc-linux-x64-musl": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.3.0.tgz",
- "integrity": "sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==",
- "optional": true
- },
- "@next/swc-win32-arm64-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.3.0.tgz",
- "integrity": "sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==",
- "optional": true
- },
- "@next/swc-win32-ia32-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.3.0.tgz",
- "integrity": "sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==",
- "optional": true
- },
- "@next/swc-win32-x64-msvc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.3.0.tgz",
- "integrity": "sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==",
- "optional": true
- },
"@noble/curves": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
@@ -35027,20 +34826,6 @@
"webcrypto-core": "^1.7.7"
}
},
- "@pkgr/utils": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz",
- "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "is-glob": "^4.0.3",
- "open": "^8.4.0",
- "picocolors": "^1.0.0",
- "tiny-glob": "^0.2.9",
- "tslib": "^2.4.0"
- }
- },
"@playwright/test": {
"version": "1.32.3",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz",
@@ -35458,108 +35243,132 @@
"integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==",
"peer": true
},
+ "@remix-run/router": {
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w=="
+ },
"@repeaterjs/repeater": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz",
"integrity": "sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA=="
},
+ "@rollup/plugin-inject": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz",
+ "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^5.0.1",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.3"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ }
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
+ "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true
+ }
+ }
+ },
"@rollup/rollup-android-arm-eabi": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.10.0.tgz",
"integrity": "sha512-/MeDQmcD96nVoRumKUljsYOLqfv1YFJps+0pTrb2Z9Nl/w5qNUysMaWQsrd1mvAlNT4yza1iVyIu4Q4AgF6V3A==",
- "dev": true,
"optional": true
},
"@rollup/rollup-android-arm64": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.10.0.tgz",
"integrity": "sha512-lvu0jK97mZDJdpZKDnZI93I0Om8lSDaiPx3OiCk0RXn3E8CMPJNS/wxjAvSJJzhhZpfjXsjLWL8LnS6qET4VNQ==",
- "dev": true,
"optional": true
},
"@rollup/rollup-darwin-arm64": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.10.0.tgz",
"integrity": "sha512-uFpayx8I8tyOvDkD7X6n0PriDRWxcqEjqgtlxnUA/G9oS93ur9aZ8c8BEpzFmsed1TH5WZNG5IONB8IiW90TQg==",
- "dev": true,
"optional": true
},
"@rollup/rollup-darwin-x64": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.10.0.tgz",
"integrity": "sha512-nIdCX03qFKoR/MwQegQBK+qZoSpO3LESurVAC6s6jazLA1Mpmgzo3Nj3H1vydXp/JM29bkCiuF7tDuToj4+U9Q==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.10.0.tgz",
"integrity": "sha512-Fz7a+y5sYhYZMQFRkOyCs4PLhICAnxRX/GnWYReaAoruUzuRtcf+Qnw+T0CoAWbHCuz2gBUwmWnUgQ67fb3FYw==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-arm64-gnu": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.10.0.tgz",
"integrity": "sha512-yPtF9jIix88orwfTi0lJiqINnlWo6p93MtZEoaehZnmCzEmLL0eqjA3eGVeyQhMtxdV+Mlsgfwhh0+M/k1/V7Q==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-arm64-musl": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.10.0.tgz",
"integrity": "sha512-9GW9yA30ib+vfFiwjX+N7PnjTnCMiUffhWj4vkG4ukYv1kJ4T9gHNg8zw+ChsOccM27G9yXrEtMScf1LaCuoWQ==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-riscv64-gnu": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.10.0.tgz",
"integrity": "sha512-X1ES+V4bMq2ws5fF4zHornxebNxMXye0ZZjUrzOrf7UMx1d6wMQtfcchZ8SqUnQPPHdOyOLW6fTcUiFgHFadRA==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-x64-gnu": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.10.0.tgz",
"integrity": "sha512-w/5OpT2EnI/Xvypw4FIhV34jmNqU5PZjZue2l2Y3ty1Ootm3SqhI+AmfhlUYGBTd9JnpneZCDnt3uNOiOBkMyw==",
- "dev": true,
"optional": true
},
"@rollup/rollup-linux-x64-musl": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.10.0.tgz",
"integrity": "sha512-q/meftEe3QlwQiGYxD9rWwB21DoKQ9Q8wA40of/of6yGHhZuGfZO0c3WYkN9dNlopHlNT3mf5BPsUSxoPuVQaw==",
- "dev": true,
"optional": true
},
"@rollup/rollup-win32-arm64-msvc": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.10.0.tgz",
"integrity": "sha512-NrR6667wlUfP0BHaEIKgYM/2va+Oj+RjZSASbBMnszM9k+1AmliRjHc3lJIiOehtSSjqYiO7R6KLNrWOX+YNSQ==",
- "dev": true,
"optional": true
},
"@rollup/rollup-win32-ia32-msvc": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.10.0.tgz",
"integrity": "sha512-FV0Tpt84LPYDduIDcXvEC7HKtyXxdvhdAOvOeWMWbQNulxViH2O07QXkT/FffX4FqEI02jEbCJbr+YcuKdyyMg==",
- "dev": true,
"optional": true
},
"@rollup/rollup-win32-x64-msvc": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.10.0.tgz",
"integrity": "sha512-OZoJd+o5TaTSQeFFQ6WjFCiltiYVjIdsXxwu/XZ8qRpsvMQr4UsVrE5UyT9RIvsnuF47DqkJKhhVZ2Q9YW9IpQ==",
- "dev": true,
"optional": true
},
- "@rushstack/eslint-patch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz",
- "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==",
- "dev": true
- },
"@safe-global/safe-apps-provider": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.2.tgz",
@@ -36300,13 +36109,75 @@
"@stablelib/wipe": "^1.0.1"
}
},
- "@swc/helpers": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
- "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
- "requires": {
- "tslib": "^2.4.0"
- }
+ "@swc/core-darwin-arm64": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.6.tgz",
+ "integrity": "sha512-bpggpx/BfLFyy48aUKq1PsNUxb7J6CINlpAUk0V4yXfmGnpZH80Gp1pM3GkFDQyCfq7L7IpjPrIjWQwCrL4hYw==",
+ "optional": true
+ },
+ "@swc/core-darwin-x64": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.6.tgz",
+ "integrity": "sha512-vJn+/ZuBTg+vtNkcmgZdH6FQpa0hFVdnB9bAeqYwKkyqP15zaPe6jfC+qL2y/cIeC7ASvHXEKrnCZgBLxfVQ9w==",
+ "optional": true
+ },
+ "@swc/core-linux-arm-gnueabihf": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.6.tgz",
+ "integrity": "sha512-hEmYcB/9XBAl02MtuVHszhNjQpjBzhk/NFulnU33tBMbNZpy2TN5yTsitezMq090QXdDz8sKIALApDyg07ZR8g==",
+ "optional": true
+ },
+ "@swc/core-linux-arm64-gnu": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.6.tgz",
+ "integrity": "sha512-/UCYIVoGpm2YVvGHZM2QOA3dexa28BjcpLAIYnoCbgH5f7ulDhE8FAIO/9pasj+kixDBsdqewHfsNXFYlgGJjQ==",
+ "optional": true
+ },
+ "@swc/core-linux-arm64-musl": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.6.tgz",
+ "integrity": "sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw==",
+ "optional": true
+ },
+ "@swc/core-linux-x64-gnu": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.6.tgz",
+ "integrity": "sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg==",
+ "optional": true
+ },
+ "@swc/core-linux-x64-musl": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.6.tgz",
+ "integrity": "sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ==",
+ "optional": true
+ },
+ "@swc/core-win32-arm64-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.6.tgz",
+ "integrity": "sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A==",
+ "optional": true
+ },
+ "@swc/core-win32-ia32-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.6.tgz",
+ "integrity": "sha512-ZuQm81FhhvNVYtVb9GfZ+Du6e7fZlkisWvuCeBeRiyseNt1tcrQ8J3V67jD2nxje8CVXrwG3oUIbPcybv2rxfQ==",
+ "optional": true
+ },
+ "@swc/core-win32-x64-msvc": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.6.tgz",
+ "integrity": "sha512-UagPb7w5V0uzWSjrXwOavGa7s9iv3wrVdEgWy+/inm0OwY4lj3zpK9qDnMWAwYLuFwkI3UG4Q3dH8wD+CUUcjw==",
+ "optional": true
+ },
+ "@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
+ },
+ "@swc/types": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
+ "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw=="
},
"@tanstack/query-core": {
"version": "4.36.1",
@@ -36519,8 +36390,7 @@
"@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
},
"@types/hast": {
"version": "3.0.1",
@@ -36949,6 +36819,45 @@
}
}
},
+ "@vitejs/plugin-react-swc": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz",
+ "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==",
+ "requires": {
+ "@swc/core": "^1.3.107"
+ },
+ "dependencies": {
+ "@swc/core": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.6.tgz",
+ "integrity": "sha512-A7iK9+1qzTCIuc3IYcS8gPHCm9bZVKUJrfNnwveZYyo6OFp3jLno4WOM2yBy5uqedgYATEiWgBYHKq37KrU6IA==",
+ "requires": {
+ "@swc/core-darwin-arm64": "1.4.6",
+ "@swc/core-darwin-x64": "1.4.6",
+ "@swc/core-linux-arm-gnueabihf": "1.4.6",
+ "@swc/core-linux-arm64-gnu": "1.4.6",
+ "@swc/core-linux-arm64-musl": "1.4.6",
+ "@swc/core-linux-x64-gnu": "1.4.6",
+ "@swc/core-linux-x64-musl": "1.4.6",
+ "@swc/core-win32-arm64-msvc": "1.4.6",
+ "@swc/core-win32-ia32-msvc": "1.4.6",
+ "@swc/core-win32-x64-msvc": "1.4.6",
+ "@swc/counter": "^0.1.2",
+ "@swc/types": "^0.1.5"
+ }
+ },
+ "@swc/helpers": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.6.tgz",
+ "integrity": "sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==",
+ "optional": true,
+ "peer": true,
+ "requires": {
+ "tslib": "^2.4.0"
+ }
+ }
+ }
+ },
"@vitest/expect": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz",
@@ -38103,36 +38012,22 @@
"es-shim-unscopables": "^1.0.0"
}
},
- "array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "array.prototype.tosorted": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz",
- "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.1.3"
- }
- },
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"asn1js": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz",
@@ -38143,6 +38038,19 @@
"tslib": "^2.4.0"
}
},
+ "assert": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
+ "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "is-nan": "^1.3.2",
+ "object-is": "^1.1.5",
+ "object.assign": "^4.1.4",
+ "util": "^0.12.5"
+ }
+ },
"assertion-error": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
@@ -38164,12 +38072,6 @@
"tslib": "^2.0.1"
}
},
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==",
- "dev": true
- },
"astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
@@ -38223,12 +38125,6 @@
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
},
- "axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
- "dev": true
- },
"axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
@@ -38238,15 +38134,6 @@
"form-data": "^4.0.0"
}
},
- "axobject-query": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
- "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
- "dev": true,
- "requires": {
- "deep-equal": "^2.0.5"
- }
- },
"babel-core": {
"version": "7.0.0-bridge.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
@@ -38468,8 +38355,7 @@
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
- "peer": true
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
},
"borsh": {
"version": "0.7.0",
@@ -38527,6 +38413,15 @@
"resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz",
"integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg=="
},
+ "browser-resolve": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
+ "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.17.0"
+ }
+ },
"browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -38546,6 +38441,161 @@
"safe-buffer": "^5.0.1"
}
},
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
+ "dev": true
+ }
+ }
+ },
+ "browserify-sign": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
+ "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.5",
+ "hash-base": "~3.0",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.7",
+ "readable-stream": "^2.3.8",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz",
+ "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
+ "dev": true
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
"browserslist": {
"version": "4.22.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz",
@@ -38611,6 +38661,12 @@
"node-gyp-build": "^4.3.0"
}
},
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
+ "dev": true
+ },
"busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
@@ -38979,11 +39035,6 @@
"integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==",
"peer": true
},
- "client-only": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
- "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
- },
"clipboardy": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz",
@@ -39299,6 +39350,12 @@
"resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
"integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ=="
},
+ "console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+ "dev": true
+ },
"constant-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
@@ -39310,6 +39367,12 @@
"upper-case": "^2.0.2"
}
},
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
+ "dev": true
+ },
"convert-source-map": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
@@ -39362,8 +39425,7 @@
"core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "peer": true
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cosmiconfig": {
"version": "7.1.0",
@@ -39383,6 +39445,16 @@
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
"peer": true
},
+ "create-ecdh": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ }
+ },
"create-hash": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
@@ -39432,6 +39504,25 @@
"which": "^2.0.1"
}
},
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
"css-box-model": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
@@ -39479,12 +39570,6 @@
"type": "^1.0.1"
}
},
- "damerau-levenshtein": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
- "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
- },
"data-urls": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
@@ -39630,12 +39715,6 @@
}
}
},
- "define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true
- },
"define-properties": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
@@ -39709,6 +39788,16 @@
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
},
+ "des.js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
+ "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
"destr": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz",
@@ -39755,6 +39844,17 @@
"integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
"dev": true
},
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
"dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
@@ -39794,6 +39894,12 @@
"integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==",
"dev": true
},
+ "domain-browser": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz",
+ "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==",
+ "dev": true
+ },
"dot-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
@@ -39858,12 +39964,6 @@
}
}
},
- "emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
"encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
@@ -39892,16 +39992,6 @@
"once": "^1.4.0"
}
},
- "enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
"enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -40092,7 +40182,6 @@
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
"integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
- "dev": true,
"requires": {
"@esbuild/aix-ppc64": "0.19.12",
"@esbuild/android-arm": "0.19.12",
@@ -40223,78 +40312,6 @@
"eslint-config-airbnb-base": "^15.0.0"
}
},
- "eslint-config-next": {
- "version": "13.2.4",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.2.4.tgz",
- "integrity": "sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==",
- "dev": true,
- "requires": {
- "@next/eslint-plugin-next": "13.2.4",
- "@rushstack/eslint-patch": "^1.1.3",
- "@typescript-eslint/parser": "^5.42.0",
- "eslint-import-resolver-node": "^0.3.6",
- "eslint-import-resolver-typescript": "^3.5.2",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsx-a11y": "^6.5.1",
- "eslint-plugin-react": "^7.31.7",
- "eslint-plugin-react-hooks": "^4.5.0"
- },
- "dependencies": {
- "@typescript-eslint/parser": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
- "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
- }
- },
- "@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- }
- },
- "@typescript-eslint/types": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
- "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
- "dev": true
- },
- "@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
- "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- }
- },
- "@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
- "dev": true,
- "requires": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- }
- }
- }
- },
"eslint-config-prettier": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
@@ -40323,42 +40340,6 @@
}
}
},
- "eslint-import-resolver-typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz",
- "integrity": "sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==",
- "dev": true,
- "requires": {
- "debug": "^4.3.4",
- "enhanced-resolve": "^5.10.0",
- "get-tsconfig": "^4.2.0",
- "globby": "^13.1.2",
- "is-core-module": "^2.10.0",
- "is-glob": "^4.0.3",
- "synckit": "^0.8.4"
- },
- "dependencies": {
- "globby": {
- "version": "13.1.3",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz",
- "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==",
- "dev": true,
- "requires": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- }
- },
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true
- }
- }
- },
"eslint-module-utils": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
@@ -40426,96 +40407,6 @@
}
}
},
- "eslint-plugin-jsx-a11y": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
- "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.20.7",
- "aria-query": "^5.1.3",
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.6.2",
- "axobject-query": "^3.1.1",
- "damerau-levenshtein": "^1.0.8",
- "emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.3",
- "language-tags": "=1.0.5",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
- "dev": true,
- "requires": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
- "doctrine": "^2.1.0",
- "estraverse": "^5.3.0",
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
- "minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
- "prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
- "string.prototype.matchall": "^4.0.8"
- },
- "dependencies": {
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
- "requires": {}
- },
"eslint-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
@@ -41603,12 +41494,6 @@
"get-intrinsic": "^1.1.1"
}
},
- "get-tsconfig": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.4.0.tgz",
- "integrity": "sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==",
- "dev": true
- },
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -41655,12 +41540,6 @@
"define-properties": "^1.1.3"
}
},
- "globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "dev": true
- },
"globby": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
@@ -41675,12 +41554,6 @@
"slash": "^3.0.0"
}
},
- "globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true
- },
"gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -42118,6 +41991,12 @@
"resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz",
"integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw=="
},
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
+ "dev": true
+ },
"https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -42517,6 +42396,16 @@
"integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
"dev": true
},
+ "is-nan": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
+ "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
"is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -42721,6 +42610,12 @@
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"peer": true
},
+ "isomorphic-timers-promises": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz",
+ "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==",
+ "dev": true
+ },
"isomorphic-unfetch": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz",
@@ -43501,16 +43396,6 @@
"through": ">=2.2.7 <3"
}
},
- "jsx-ast-utils": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
- "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==",
- "dev": true,
- "requires": {
- "array-includes": "^3.1.5",
- "object.assign": "^4.1.3"
- }
- },
"keccak": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz",
@@ -43547,21 +43432,6 @@
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"peer": true
},
- "language-subtag-registry": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
- "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
- },
- "language-tags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
- "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dev": true,
- "requires": {
- "language-subtag-registry": "~0.3.2"
- }
- },
"level": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz",
@@ -45014,6 +44884,16 @@
"picomatch": "^2.3.1"
}
},
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -45363,40 +45243,6 @@
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
},
- "next": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/next/-/next-13.3.0.tgz",
- "integrity": "sha512-OVTw8MpIPa12+DCUkPqRGPS3thlJPcwae2ZL4xti3iBff27goH024xy4q2lhlsdoYiKOi8Kz6uJoLW/GXwgfOA==",
- "requires": {
- "@next/env": "13.3.0",
- "@next/swc-darwin-arm64": "13.3.0",
- "@next/swc-darwin-x64": "13.3.0",
- "@next/swc-linux-arm64-gnu": "13.3.0",
- "@next/swc-linux-arm64-musl": "13.3.0",
- "@next/swc-linux-x64-gnu": "13.3.0",
- "@next/swc-linux-x64-musl": "13.3.0",
- "@next/swc-win32-arm64-msvc": "13.3.0",
- "@next/swc-win32-ia32-msvc": "13.3.0",
- "@next/swc-win32-x64-msvc": "13.3.0",
- "@swc/helpers": "0.4.14",
- "busboy": "1.6.0",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.1"
- },
- "dependencies": {
- "postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "requires": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- }
- }
- },
"next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
@@ -45471,6 +45317,68 @@
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
+ "node-stdlib-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz",
+ "integrity": "sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==",
+ "dev": true,
+ "requires": {
+ "assert": "^2.0.0",
+ "browser-resolve": "^2.0.0",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^5.7.1",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "create-require": "^1.1.1",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^4.22.0",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "isomorphic-timers-promises": "^1.0.1",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "^1.0.1",
+ "pkg-dir": "^5.0.0",
+ "process": "^0.11.10",
+ "punycode": "^1.4.1",
+ "querystring-es3": "^0.2.1",
+ "readable-stream": "^3.6.0",
+ "stream-browserify": "^3.0.0",
+ "stream-http": "^3.2.0",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.1",
+ "url": "^0.11.0",
+ "util": "^0.12.4",
+ "vm-browserify": "^1.0.1"
+ },
+ "dependencies": {
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "dev": true,
+ "requires": {
+ "find-up": "^5.0.0"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ }
+ }
+ },
"node-stream-zip": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz",
@@ -45658,27 +45566,6 @@
"es-abstract": "^1.20.4"
}
},
- "object.fromentries": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz",
- "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "object.hasown": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz",
- "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@@ -45760,17 +45647,6 @@
"mimic-fn": "^2.1.0"
}
},
- "open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "dev": true,
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
"optimism": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.2.tgz",
@@ -45811,6 +45687,12 @@
"wcwidth": "^1.0.1"
}
},
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
+ "dev": true
+ },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -45858,6 +45740,12 @@
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
"param-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
@@ -45876,6 +45764,32 @@
"callsites": "^3.0.0"
}
},
+ "parse-asn1": {
+ "version": "5.1.7",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
+ "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^4.10.1",
+ "browserify-aes": "^1.2.0",
+ "evp_bytestokey": "^1.0.3",
+ "hash-base": "~3.0",
+ "pbkdf2": "^3.1.2",
+ "safe-buffer": "^5.2.1"
+ },
+ "dependencies": {
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ }
+ }
+ },
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@@ -46176,7 +46090,6 @@
"version": "8.4.35",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
"integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
- "dev": true,
"requires": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
@@ -46236,11 +46149,16 @@
}
}
},
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true
+ },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "peer": true
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"process-warning": {
"version": "1.0.0",
@@ -46304,6 +46222,20 @@
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
"dev": true
},
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -46368,6 +46300,12 @@
"integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
"dev": true
},
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
+ "dev": true
+ },
"querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -46397,6 +46335,16 @@
"safe-buffer": "^5.1.0"
}
},
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -46659,6 +46607,23 @@
"tslib": "^2.0.0"
}
},
+ "react-router": {
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz",
+ "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==",
+ "requires": {
+ "@remix-run/router": "1.15.3"
+ }
+ },
+ "react-router-dom": {
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz",
+ "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==",
+ "requires": {
+ "@remix-run/router": "1.15.3",
+ "react-router": "6.22.3"
+ }
+ },
"react-shallow-renderer": {
"version": "16.15.0",
"resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
@@ -47027,7 +46992,6 @@
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.10.0.tgz",
"integrity": "sha512-t2v9G2AKxcQ8yrG+WGxctBes1AomT0M4ND7jTFBCVPXQ/WFTvNSefIrNSmLKhIKBrvN8SG+CZslimJcT3W2u2g==",
- "dev": true,
"requires": {
"@rollup/rollup-android-arm-eabi": "4.10.0",
"@rollup/rollup-android-arm64": "4.10.0",
@@ -47976,6 +47940,18 @@
"readable-stream": "^3.5.0"
}
},
+ "stream-http": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
+ "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "xtend": "^4.0.2"
+ }
+ },
"stream-shift": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
@@ -48021,22 +47997,6 @@
}
}
},
- "string.prototype.matchall": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
- "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "regexp.prototype.flags": "^1.4.3",
- "side-channel": "^1.0.4"
- }
- },
"string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
@@ -48149,14 +48109,6 @@
"tslib": "^2.1.0"
}
},
- "styled-jsx": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
- "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
- "requires": {
- "client-only": "0.0.1"
- }
- },
"stylis": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz",
@@ -48206,27 +48158,11 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
- "synckit": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
- "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
- "dev": true,
- "requires": {
- "@pkgr/utils": "^2.3.1",
- "tslib": "^2.5.0"
- }
- },
"system-architecture": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz",
"integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA=="
},
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true
- },
"temp": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz",
@@ -48343,21 +48279,20 @@
}
}
},
+ "timers-browserify": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "^1.0.4"
+ }
+ },
"tiny-case": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
"integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q=="
},
- "tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "dev": true,
- "requires": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
"tiny-invariant": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
@@ -48581,22 +48516,11 @@
"integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==",
"peer": true
},
- "tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
+ "tty-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
+ "dev": true
},
"tweetnacl": {
"version": "1.0.3",
@@ -49114,15 +49038,14 @@
"integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ=="
},
"util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
"requires": {
"inherits": "^2.0.3",
"is-arguments": "^1.0.4",
"is-generator-function": "^1.0.7",
"is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
"which-typed-array": "^1.1.2"
}
},
@@ -49233,7 +49156,6 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.1.tgz",
"integrity": "sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==",
- "dev": true,
"requires": {
"esbuild": "^0.19.3",
"fsevents": "~2.3.3",
@@ -49245,7 +49167,6 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
"optional": true
}
}
@@ -49263,6 +49184,16 @@
"vite": "^5.0.0"
}
},
+ "vite-plugin-node-polyfills": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.21.0.tgz",
+ "integrity": "sha512-Sk4DiKnmxN8E0vhgEhzLudfJQfaT8k4/gJ25xvUPG54KjLJ6HAmDKbr4rzDD/QWEY+Lwg80KE85fGYBQihEPQA==",
+ "dev": true,
+ "requires": {
+ "@rollup/plugin-inject": "^5.0.5",
+ "node-stdlib-browser": "^1.2.0"
+ }
+ },
"vitest": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz",
@@ -49365,6 +49296,12 @@
"integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==",
"peer": true
},
+ "vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "dev": true
+ },
"void-elements": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
diff --git a/package.json b/package.json
index dcff7f09e4..3ff5ff10e1 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,6 @@
"private": true,
"dependencies": {
"@apollo/client": "^3.7.10",
- "@chakra-ui/next-js": "^2.2.0",
"@chakra-ui/react": "^2.8.2",
"@decent-org/fractal-ui": "^0.1.23",
"@emotion/react": "^11.10.6",
@@ -25,6 +24,7 @@
"@shutter-network/shutter-crypto": "^1.0.1",
"@snapshot-labs/snapshot.js": "^0.7.3",
"@ukstv/jazzicon-react": "^1.0.0",
+ "@vitejs/plugin-react-swc": "^3.5.0",
"@walletconnect/ethereum-provider": "^2.11.0",
"axios": "^0.27.2",
"classnames": "^2.3.1",
@@ -37,16 +37,17 @@
"i18next": "^21.9.2",
"i18next-browser-languagedetector": "^6.1.5",
"js-big-decimal": "^1.3.12",
- "next": "^13.3.0",
"react": "latest",
"react-dom": "latest",
"react-i18next": "^11.18.6",
"react-idle-timer": "^5.5.3",
"react-image": "^4.0.3",
"react-markdown": "^9.0.0",
+ "react-router-dom": "^6.22.0",
"react-toastify": "^9.0.8",
"remark-gfm": "^4.0.0",
"viem": "^1.21",
+ "vite": "^5.1.0",
"wagmi": "^1.4.11",
"yup": "^1"
},
@@ -54,9 +55,10 @@
"lint": "eslint . --ext .ts,.tsx",
"pretty": "prettier . --write",
"pretty:check": "prettier . --check",
- "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next dev",
- "start": "next start",
- "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` next build",
+ "dev": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` vite",
+ "start": "vite start",
+ "preview": "vite preview",
+ "build": "npm run graphql:build && NEXT_PUBLIC_GIT_HASH=`git rev-parse HEAD` vite build",
"graphql:build": "graphclient build",
"graphql:dev-server": "graphclient serve-dev",
"test": "vitest --dir=test",
@@ -91,7 +93,6 @@
"encoding": "^0.1.13",
"eslint": "^8.22.0",
"eslint-config-airbnb-typescript": "^17.1.0",
- "eslint-config-next": "^13.2.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.26.0",
"jsdom": "^24.0.0",
@@ -99,6 +100,7 @@
"prettier": "^3.2.5",
"typescript": "^5.0.4",
"url": "^0.11.0",
+ "vite-plugin-node-polyfills": "^0.21.0",
"vitest": "^1.2.2"
}
}
diff --git a/src/components/Activity/ActivityGovernance.tsx b/src/components/Activity/ActivityGovernance.tsx
index 1d166b4e6d..657643ebb6 100644
--- a/src/components/Activity/ActivityGovernance.tsx
+++ b/src/components/Activity/ActivityGovernance.tsx
@@ -1,7 +1,7 @@
import { Flex } from '@chakra-ui/react';
import { format } from 'date-fns';
-import Link from 'next/link';
import { useTranslation } from 'react-i18next';
+import { Link } from "react-router-dom";
import { DAO_ROUTES } from '../../constants/routes';
import { useFractal } from '../../providers/App/AppProvider';
import { FractalProposal, ActivityEventType, SnapshotProposal } from '../../types';
@@ -33,7 +33,7 @@ export function ActivityGovernance({ activity }: { activity: FractalProposal })
} = useFractal();
return (
-
+
- push(
+ navigate(
!isSubDAO || !daoAddress ? BASE_ROUTES.landing : DAO_ROUTES.dao.relative(daoAddress),
)
}
diff --git a/src/components/ProposalTemplates/ProposalTemplateCard.tsx b/src/components/ProposalTemplates/ProposalTemplateCard.tsx
index b9693b4a3b..68cbb58c7d 100644
--- a/src/components/ProposalTemplates/ProposalTemplateCard.tsx
+++ b/src/components/ProposalTemplates/ProposalTemplateCard.tsx
@@ -1,6 +1,5 @@
import { Avatar, Flex, Text } from '@chakra-ui/react';
import { VEllipsis } from '@decent-org/fractal-ui';
-import { useRouter } from 'next/navigation';
import { useMemo, useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { DAO_ROUTES } from '../../constants/routes';
@@ -12,6 +11,7 @@ import ContentBox from '../ui/containers/ContentBox';
import { OptionMenu } from '../ui/menus/OptionMenu';
import { ModalType } from '../ui/modals/ModalProvider';
import { useFractalModal } from '../ui/modals/useFractalModal';
+import { useNavigate } from 'react-router-dom';
type ProposalTemplateCardProps = {
proposalTemplate: ProposalTemplate;
@@ -22,7 +22,7 @@ export default function ProposalTemplateCard({
proposalTemplate,
templateIndex,
}: ProposalTemplateCardProps) {
- const { push } = useRouter();
+ const navigate = useNavigate();
const { t } = useTranslation('proposalTemplate');
const {
node: { safe, daoAddress },
@@ -43,9 +43,9 @@ export default function ProposalTemplateCard({
const successCallback = useCallback(() => {
if (daoAddress) {
// Redirecting to proposals page so that user will see Proposal for Proposal Template creation
- push(DAO_ROUTES.proposals.relative(daoAddress));
+ navigate(DAO_ROUTES.proposals.relative(daoAddress));
}
- }, [push, daoAddress]);
+ }, [navigate, daoAddress]);
const nonce = safe?.nonce;
const handleRemoveTemplate = useCallback(async () => {
diff --git a/src/components/ProposalTemplates/index.tsx b/src/components/ProposalTemplates/index.tsx
index 17e5cca25b..16b5c57143 100644
--- a/src/components/ProposalTemplates/index.tsx
+++ b/src/components/ProposalTemplates/index.tsx
@@ -1,6 +1,6 @@
import { Flex, Box, Button } from '@chakra-ui/react';
-import Link from 'next/link';
import { useTranslation } from 'react-i18next';
+import { Link } from "react-router-dom";
import { DAO_ROUTES } from '../../constants/routes';
import useSubmitProposal from '../../hooks/DAO/proposal/useSubmitProposal';
import { useFractal } from '../../providers/App/AppProvider';
@@ -37,7 +37,7 @@ export default function ProposalTemplates() {
) : (
{canUserCreateProposal && (
-
+