From 0c7febfbaab2953ff9d556203d35e6134d3e6781 Mon Sep 17 00:00:00 2001
From: Brendan from DeFi
Date: Wed, 13 Nov 2024 11:10:57 -0800
Subject: [PATCH 041/171] fix: dynamic crypto providers (#1248)
* dynamic crypto providers
* fixed typo
---
.../builder-anniversary-nft/page.tsx | 5 +-
apps/web/app/(basenames)/layout.tsx | 11 ++-
apps/web/app/AppProviders.tsx | 87 ++-----------------
apps/web/app/CryptoProviders.dynamic.tsx | 22 +++++
apps/web/app/CryptoProviders.tsx | 78 +++++++++++++++++
apps/web/app/global.css | 3 +
.../ConnectWalletButton.tsx | 11 +++
.../shared/TopNavigation/GasPriceDropdown.tsx | 13 ++-
.../base-org/shared/TopNavigation/index.tsx | 35 +++++---
9 files changed, 165 insertions(+), 100 deletions(-)
create mode 100644 apps/web/app/CryptoProviders.dynamic.tsx
create mode 100644 apps/web/app/CryptoProviders.tsx
diff --git a/apps/web/app/(base-org)/builder-anniversary-nft/page.tsx b/apps/web/app/(base-org)/builder-anniversary-nft/page.tsx
index 80efceb319..355dfc619e 100644
--- a/apps/web/app/(base-org)/builder-anniversary-nft/page.tsx
+++ b/apps/web/app/(base-org)/builder-anniversary-nft/page.tsx
@@ -1,3 +1,4 @@
+import CryptoProviders from 'apps/web/app/CryptoProviders';
import { BuilderNftHero } from 'apps/web/src/components/BuilderNft/BuilderNftHero';
import type { Metadata } from 'next';
@@ -13,7 +14,9 @@ export const metadata: Metadata = {
export default async function About() {
return (
-
+
+
+
);
}
diff --git a/apps/web/app/(basenames)/layout.tsx b/apps/web/app/(basenames)/layout.tsx
index 493d746931..87db756f35 100644
--- a/apps/web/app/(basenames)/layout.tsx
+++ b/apps/web/app/(basenames)/layout.tsx
@@ -1,3 +1,4 @@
+import CryptoProviders from 'apps/web/app/CryptoProviders';
import ErrorsProvider from 'apps/web/contexts/Errors';
import UsernameNav from 'apps/web/src/components/Layout/UsernameNav';
@@ -27,10 +28,12 @@ export default async function BasenameLayout({
}) {
return (
-
-
- {children}
-
+
+
+
+ {children}
+
+
);
}
diff --git a/apps/web/app/AppProviders.tsx b/apps/web/app/AppProviders.tsx
index 438252fee3..b720ff7c13 100644
--- a/apps/web/app/AppProviders.tsx
+++ b/apps/web/app/AppProviders.tsx
@@ -1,6 +1,4 @@
'use client';
-import '@rainbow-me/rainbowkit/styles.css';
-import '@coinbase/onchainkit/styles.css';
import {
Provider as CookieManagerProvider,
@@ -8,28 +6,14 @@ import {
TrackingCategory,
TrackingPreference,
} from '@coinbase/cookie-manager';
-import { AppConfig, OnchainKitProvider } from '@coinbase/onchainkit';
import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';
-import { connectorsForWallets, RainbowKitProvider } from '@rainbow-me/rainbowkit';
-import {
- coinbaseWallet,
- metaMaskWallet,
- phantomWallet,
- rainbowWallet,
- uniswapWallet,
- walletConnectWallet,
-} from '@rainbow-me/rainbowkit/wallets';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import ExperimentsProvider from 'base-ui/contexts/Experiments';
import useSprig from 'base-ui/hooks/useSprig';
import { useCallback, useRef } from 'react';
-import { createConfig, http, WagmiProvider } from 'wagmi';
-import { base, baseSepolia, mainnet } from 'wagmi/chains';
import { cookieManagerConfig } from '../src/utils/cookieManagerConfig';
import ClientAnalyticsScript from 'apps/web/src/components/ClientAnalyticsScript/ClientAnalyticsScript';
import dynamic from 'next/dynamic';
import ErrorsProvider from 'apps/web/contexts/Errors';
-import { isDevelopment } from 'apps/web/src/constants';
import { logger } from 'apps/web/src/utils/logger';
const DynamicCookieBannerWrapper = dynamic(
@@ -39,51 +23,8 @@ const DynamicCookieBannerWrapper = dynamic(
},
);
-coinbaseWallet.preference = 'all';
-
-const connectors = connectorsForWallets(
- [
- {
- groupName: 'Recommended',
- wallets: [
- coinbaseWallet,
- metaMaskWallet,
- uniswapWallet,
- rainbowWallet,
- phantomWallet,
- walletConnectWallet,
- ],
- },
- ],
- {
- projectId: process.env.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID ?? 'dummy-id',
- walletConnectParameters: {},
- appName: 'Base.org',
- appDescription: '',
- appUrl: 'https://www.base.org/',
- appIcon: '',
- },
-);
-
-const config = createConfig({
- connectors,
- chains: [base, baseSepolia, mainnet],
- transports: {
- [base.id]: http(),
- [baseSepolia.id]: http(),
- [mainnet.id]: http(),
- },
- ssr: true,
-});
-const queryClient = new QueryClient();
const sprigEnvironmentId = process.env.NEXT_PUBLIC_SPRIG_ENVIRONMENT_ID;
-const onchainKitConfig: AppConfig = {
- appearance: {
- mode: 'light',
- },
-};
-
type AppProvidersProps = {
children: React.ReactNode;
};
@@ -142,26 +83,14 @@ export default function AppProviders({ children }: AppProvidersProps) {
config={cookieManagerConfig}
>
-
-
-
-
-
-
- <>
- {children}
-
- >
-
-
-
-
-
-
+
+
+ <>
+ {children}
+
+ >
+
+
);
diff --git a/apps/web/app/CryptoProviders.dynamic.tsx b/apps/web/app/CryptoProviders.dynamic.tsx
new file mode 100644
index 0000000000..f0049a96fe
--- /dev/null
+++ b/apps/web/app/CryptoProviders.dynamic.tsx
@@ -0,0 +1,22 @@
+'use client';
+
+import { useEffect, useState } from 'react';
+import { useErrors } from 'apps/web/contexts/Errors';
+
+export function DynamicCryptoProviders({ children }: { children: React.ReactNode }) {
+ const [CryptoProvidersDynamic, setCryptoProvidersDynamic] =
+ useState>();
+ const { logError } = useErrors();
+
+ useEffect(() => {
+ import('apps/web/app/CryptoProviders')
+ .then((mod) => {
+ setCryptoProvidersDynamic(() => mod.default);
+ })
+ .catch((error) => logError(error, 'Failed to load CryptoProviders'));
+ }, [logError]);
+
+ if (!CryptoProvidersDynamic) return null;
+
+ return {children};
+}
diff --git a/apps/web/app/CryptoProviders.tsx b/apps/web/app/CryptoProviders.tsx
new file mode 100644
index 0000000000..f25e43e6ec
--- /dev/null
+++ b/apps/web/app/CryptoProviders.tsx
@@ -0,0 +1,78 @@
+'use client';
+
+import { AppConfig, OnchainKitProvider } from '@coinbase/onchainkit';
+import { connectorsForWallets, RainbowKitProvider } from '@rainbow-me/rainbowkit';
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import { isDevelopment } from 'apps/web/src/constants';
+import { createConfig, http, WagmiProvider } from 'wagmi';
+import { base, baseSepolia, mainnet } from 'wagmi/chains';
+import {
+ coinbaseWallet,
+ metaMaskWallet,
+ phantomWallet,
+ rainbowWallet,
+ uniswapWallet,
+ walletConnectWallet,
+} from '@rainbow-me/rainbowkit/wallets';
+
+const connectors = connectorsForWallets(
+ [
+ {
+ groupName: 'Recommended',
+ wallets: [
+ coinbaseWallet,
+ metaMaskWallet,
+ uniswapWallet,
+ rainbowWallet,
+ phantomWallet,
+ walletConnectWallet,
+ ],
+ },
+ ],
+ {
+ projectId: process.env.NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID ?? 'dummy-id',
+ walletConnectParameters: {},
+ appName: 'Base.org',
+ appDescription: '',
+ appUrl: 'https://www.base.org/',
+ appIcon: '',
+ },
+);
+
+const config = createConfig({
+ connectors,
+ chains: [base, baseSepolia, mainnet],
+ transports: {
+ [base.id]: http(),
+ [baseSepolia.id]: http(),
+ [mainnet.id]: http(),
+ },
+ ssr: true,
+});
+const queryClient = new QueryClient();
+
+type CryptoProvidersProps = {
+ children: React.ReactNode;
+};
+
+const onchainKitConfig: AppConfig = {
+ appearance: {
+ mode: 'light',
+ },
+};
+
+export default function CryptoProviders({ children }: CryptoProvidersProps) {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
diff --git a/apps/web/app/global.css b/apps/web/app/global.css
index 4a2dc90d14..ddfedc28f4 100644
--- a/apps/web/app/global.css
+++ b/apps/web/app/global.css
@@ -2,6 +2,9 @@
@tailwind components;
@tailwind utilities;
+@import '@rainbow-me/rainbowkit/styles.css';
+@import '@coinbase/onchainkit/styles.css';
+
/* For Webkit-based browsers (Chrome, Safari and Opera) */
:not(.scrollbar)::-webkit-scrollbar {
display: none;
diff --git a/apps/web/src/components/ConnectWalletButton/ConnectWalletButton.tsx b/apps/web/src/components/ConnectWalletButton/ConnectWalletButton.tsx
index 5c9996f05a..ff7db6a95c 100644
--- a/apps/web/src/components/ConnectWalletButton/ConnectWalletButton.tsx
+++ b/apps/web/src/components/ConnectWalletButton/ConnectWalletButton.tsx
@@ -27,6 +27,7 @@ import { useCopyToClipboard, useMediaQuery } from 'usehooks-ts';
import { useAccount, useSwitchChain } from 'wagmi';
import ChainDropdown from 'apps/web/src/components/ChainDropdown';
import { useSearchParams } from 'next/navigation';
+import { DynamicCryptoProviders } from 'apps/web/app/CryptoProviders.dynamic';
export enum ConnectWalletButtonVariants {
BaseOrg,
@@ -37,6 +38,16 @@ type ConnectWalletButtonProps = {
connectWalletButtonVariant: ConnectWalletButtonVariants;
};
+export function DynamicWrappedConnectWalletButton({
+ connectWalletButtonVariant = ConnectWalletButtonVariants.BaseOrg,
+}: ConnectWalletButtonProps) {
+ return (
+
+
+
+ )
+}
+
export function ConnectWalletButton({
connectWalletButtonVariant = ConnectWalletButtonVariants.BaseOrg,
}: ConnectWalletButtonProps) {
diff --git a/apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown.tsx b/apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown.tsx
index 27543de352..042c810a4c 100644
--- a/apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown.tsx
+++ b/apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown.tsx
@@ -2,6 +2,7 @@ import Card from 'apps/web/src/components/base-org/Card';
import { Icon } from 'apps/web/src/components/Icon/Icon';
import { base, mainnet } from 'viem/chains';
import { useGasPrice } from 'wagmi';
+import { DynamicCryptoProviders } from 'apps/web/app/CryptoProviders.dynamic';
const convertWeiToMwei = (weiValue: bigint): number => {
// 1 mwei = 10^6 wei
@@ -9,7 +10,15 @@ const convertWeiToMwei = (weiValue: bigint): number => {
return Number(mweiValue.toFixed(2)); // Round to 2 decimal places
};
-export default function GasPriceDropdown() {
+export function DynamicWrappedGasPriceDropdown() {
+ return (
+
+
+
+ );
+}
+
+export function GasPriceDropdown() {
const { data: baseGasPriceInWei } = useGasPrice({
chainId: base.id,
query: {
@@ -26,7 +35,7 @@ export default function GasPriceDropdown() {
return (
-
+
diff --git a/apps/web/src/components/base-org/shared/TopNavigation/index.tsx b/apps/web/src/components/base-org/shared/TopNavigation/index.tsx
index b7160b2cb8..795c703805 100644
--- a/apps/web/src/components/base-org/shared/TopNavigation/index.tsx
+++ b/apps/web/src/components/base-org/shared/TopNavigation/index.tsx
@@ -1,17 +1,18 @@
'use client';
-import AnalyticsProvider from 'apps/web/contexts/Analytics';
-import Link from 'next/link';
-import logo from './assets/logo.svg';
+import { Suspense } from 'react';
import Image, { StaticImageData } from 'next/image';
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+import AnalyticsProvider from 'apps/web/contexts/Analytics';
+import logo from 'apps/web/src/components/base-org/shared/TopNavigation/assets/logo.svg';
+import MenuDesktop from 'apps/web/src/components/base-org/shared/TopNavigation/MenuDesktop';
+import MenuMobile from 'apps/web/src/components/base-org/shared/TopNavigation/MenuMobile';
+import { DynamicWrappedGasPriceDropdown } from 'apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown';
import {
- ConnectWalletButton,
ConnectWalletButtonVariants,
+ DynamicWrappedConnectWalletButton,
} from 'apps/web/src/components/ConnectWalletButton/ConnectWalletButton';
-import MenuDesktop from 'apps/web/src/components/base-org/shared/TopNavigation/MenuDesktop';
-import MenuMobile from 'apps/web/src/components/base-org/shared/TopNavigation/MenuMobile';
-import GasPriceDropdown from 'apps/web/src/components/base-org/shared/TopNavigation/GasPriceDropdown';
-import { Suspense } from 'react';
export type SubItem = {
name: string;
@@ -91,7 +92,11 @@ const links: TopNavigationLink[] = [
},
];
+const cryptoExcludedPaths = ['/jobs', '/about', '/ecosystem', '/getstarted'];
+
export default function TopNavigation() {
+ const pathname = usePathname();
+ const showGasDropdownAndConnectWallet = !cryptoExcludedPaths.includes(pathname ?? '');
return (
@@ -114,11 +119,13 @@ export default function TopNavigation() {
{/* Connect Wallet button */}
-
-
-
+ {showGasDropdownAndConnectWallet && (
+
+
+
+ )}
From 474a4e0eda738ba459b0f2c0f595501c1d9816a6 Mon Sep 17 00:00:00 2001
From: NikolaiKryshnev <63440682+NikolaiKryshnev@users.noreply.github.com>
Date: Thu, 14 Nov 2024 22:57:33 +0300
Subject: [PATCH 042/171] chore: update Twitter link and labels to X branding
(#1233)
1. Changed `href` in GetConnectedButton from Twitter to X URL (https://x.com/base)
2. Updated `title` and `aria-label` to reflect "Join us on X" instead of "Join us on Twitter"
3. Kept `iconName` and `eventName` as "twitter" to ensure compatibility with existing icons and events
---
apps/web/src/components/GetConnected/GetConnected.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/apps/web/src/components/GetConnected/GetConnected.tsx b/apps/web/src/components/GetConnected/GetConnected.tsx
index ac80bb90b9..5dc78976b4 100644
--- a/apps/web/src/components/GetConnected/GetConnected.tsx
+++ b/apps/web/src/components/GetConnected/GetConnected.tsx
@@ -25,10 +25,10 @@ export async function GetConnected() {
/>
Date: Thu, 14 Nov 2024 11:57:50 -0800
Subject: [PATCH 043/171] change /registry redirect link (#1249)
---
apps/web/next.config.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
index 6c3a807f5f..e2c5b7c675 100644
--- a/apps/web/next.config.js
+++ b/apps/web/next.config.js
@@ -270,7 +270,7 @@ module.exports = extendBaseConfig(
},
{
source: '/registry',
- destination: 'https://buildonbase.deform.cc/registry/',
+ destination: 'https://buildonbase.deform.cc/getstarted/',
permanent: true,
},
{
From 3ddbdc5a5bb12da8d3bdfe5b68cab4ca1c0d399a Mon Sep 17 00:00:00 2001
From: Pat
Date: Fri, 15 Nov 2024 02:58:37 +0700
Subject: [PATCH 044/171] docs(tutorial): Create tutorials for Paymaster/Wagmi
+ OCK Theme component (#1225)
* docstutorial): update 'Pay' component to 'Checkout' for consistency
* docs(tutorial): update reference link and objectives
* create OCK theme tutorial using swap component
* add paymaster tutorial and supporting images
---------
Co-authored-by: Eric Brown
---
.../swapped-theme-before.png | Bin 0 -> 239608 bytes
.../swapped-theme-final.png | Bin 0 -> 222110 bytes
.../connect-wallet-mint-page.png | Bin 0 -> 46091 bytes
.../sponsored_mint_nft.png | Bin 0 -> 143705 bytes
.../paymaster-tutorials/wallet-home.png | Bin 0 -> 1433315 bytes
.../paymaster-tutorials/wallet-nft-page.png | Bin 0 -> 454374 bytes
.../tutorials/docs/1_ock-swap-theme.md | 196 +++++++++
.../tutorials/docs/2_ock-fund-tutorial.md | 11 +-
.../docs/2_paymaster-sponsor-using-wagi.md | 383 ++++++++++++++++++
9 files changed, 585 insertions(+), 5 deletions(-)
create mode 100644 apps/base-docs/assets/images/onchainkit-tutorials/swapped-theme-before.png
create mode 100644 apps/base-docs/assets/images/onchainkit-tutorials/swapped-theme-final.png
create mode 100644 apps/base-docs/assets/images/paymaster-tutorials/connect-wallet-mint-page.png
create mode 100644 apps/base-docs/assets/images/paymaster-tutorials/sponsored_mint_nft.png
create mode 100644 apps/base-docs/assets/images/paymaster-tutorials/wallet-home.png
create mode 100644 apps/base-docs/assets/images/paymaster-tutorials/wallet-nft-page.png
create mode 100644 apps/base-docs/tutorials/docs/1_ock-swap-theme.md
create mode 100644 apps/base-docs/tutorials/docs/2_paymaster-sponsor-using-wagi.md
diff --git a/apps/base-docs/assets/images/onchainkit-tutorials/swapped-theme-before.png b/apps/base-docs/assets/images/onchainkit-tutorials/swapped-theme-before.png
new file mode 100644
index 0000000000000000000000000000000000000000..39599d6680e13ae065f0178a637b4a97a469b350
GIT binary patch
literal 239608
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