Skip to content

Commit

Permalink
Merge pull request #1 from surajhub255/main
Browse files Browse the repository at this point in the history
feat : added magic link
  • Loading branch information
surajhub255 committed Aug 13, 2024
2 parents 13d398d + dc1f28a commit 95429ff
Show file tree
Hide file tree
Showing 8 changed files with 9,094 additions and 6,659 deletions.
7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"@readyplayerme/visage": "^5.2.1",
"@tanstack/react-query": "^5.45.1",
"@wagmi/core": "^2.11.5",
"@web3modal/wagmi": "^5.0.11",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"ethers": "^6.13.1",
Expand All @@ -31,8 +32,8 @@
"tailwind-merge": "^2.3.0",
"tailwindcss-animate": "^1.0.7",
"three": "^0.165.0",
"viem": "^2.16.2",
"wagmi": "^2.10.6"
"viem": "^2.16.1",
"wagmi": "^2.10.4"
},
"devDependencies": {
"@types/node": "^20",
Expand All @@ -45,4 +46,4 @@
"tailwindcss": "^3",
"typescript": "^5"
}
}
}
15,023 changes: 8,572 additions & 6,451 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

18 changes: 11 additions & 7 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import './globals.css'
import type { Metadata } from 'next'
import { Bai_Jamjuree as FontSans } from 'next/font/google'
import './globals.css'
import 'react-toastify/dist/ReactToastify.css'
// import { headers } from 'next/headers'

import { cn } from '@/lib/utils'
import Script from 'next/script'
import '@rainbow-me/rainbowkit/styles.css'

import { headers } from 'next/headers'

import { cookieToInitialState } from 'wagmi'
import Providers from '@/lib/providers'
import Web3ModalProvider from '@/lib/providers'
import { config } from '@/lib/wagmi'
import Script from 'next/script'

const fontSans = FontSans({
subsets: ['latin'],
Expand Down Expand Up @@ -57,13 +60,14 @@ export default function RootLayout({
}: {
children: React.ReactNode
}) {
// const initialState = cookieToInitialState(config, headers().get('cookie'))
return (
<html lang='en' suppressHydrationWarning>
<head>
<link rel='icon' href='/favicon.ico' sizes='any' />
<Script src='https://aframe.io/releases/1.5.0/aframe.min.js'></Script>
</head>
{/* <Providers> */}
<Providers>
<body
className={cn(
'min-h-screen bg-background font-sans antialiased',
Expand All @@ -72,7 +76,7 @@ export default function RootLayout({
>
<Web3ModalProvider>{children}</Web3ModalProvider>
</body>
{/* </Providers> */}
</Providers>
</html>
)
}
}
6 changes: 3 additions & 3 deletions src/components/claim-nft.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { simulateContract, writeContract } from '@wagmi/core'
import { useState } from 'react'
import { X } from 'lucide-react'
import { ConnectWallet } from './connect-wallet'
import { rainbowconfig } from '@/lib/wagmi'
import { config } from '@/lib/wagmi'
import reward from '@/lib/reward.json'

const baseUri = process.env.NEXT_PUBLIC_URI || 'https://app.myriadflow.com'
Expand All @@ -34,14 +34,14 @@ export const ClaimNft = ({
const createFanToken = async () => {
console.log('running...')
const abi = reward.abi
const { request } = await simulateContract(rainbowconfig, {
const { request } = await simulateContract(config, {
abi,

address: '0x771C15e87272d6A57900f009Cd833b38dd7869e5',
functionName: 'createFanToken',
args: [String(contractAddress), 1, 1, '0x0', 'www.xyz.com'],
})
const hash = await writeContract(rainbowconfig, request)
const hash = await writeContract(config, request)

if (hash) {
const res = await fetch(`${baseUri}/fantoken`, {
Expand Down
4 changes: 1 addition & 3 deletions src/components/connect-wallet.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use client'

import { ConnectButton } from '@rainbow-me/rainbowkit'

export const ConnectWallet = () => {
return (
<>
<ConnectButton />
<w3m-button/>
</>
)
}
47 changes: 25 additions & 22 deletions src/lib/providers.tsx
Original file line number Diff line number Diff line change
@@ -1,38 +1,41 @@
'use client'

import React, { ReactNode } from 'react'
import { projectId, rainbowconfig } from './wagmi'


import { createWeb3Modal } from '@web3modal/wagmi/react'

import { QueryClient, QueryClientProvider } from '@tanstack/react-query'

import { State, WagmiProvider } from 'wagmi'
import { RainbowKitProvider } from '@rainbow-me/rainbowkit'
import { config } from './wagmi'


// Setup queryClient
const queryClient = new QueryClient()

if (!projectId) throw new Error('Project ID is not defined')
const projectId = "c26b357532f63f7ba31efebac88d0eed";

if (!projectId) throw new Error('Wallet Connect Project ID is not defined')

// // Create modal
// createWeb3Modal({
// wagmiConfig: config,
// projectId,
// enableAnalytics: true, // Optional - defaults to your Cloud configuration
// enableOnramp: true, // Optional - false as default
// })
// Create modal
createWeb3Modal({
wagmiConfig: config,
projectId,
enableAnalytics: true, // Optional - defaults to your Cloud configuration
enableOnramp: true // Optional - false as default
})

export default function Web3ModalProvider({
children,
initialState,
children,
initialState
}: {
children: ReactNode
initialState?: State
children: ReactNode
initialState?: State
}) {
return (
<WagmiProvider config={rainbowconfig} initialState={initialState}>
<QueryClientProvider client={queryClient}>
<RainbowKitProvider>{children}</RainbowKitProvider>
</QueryClientProvider>
</WagmiProvider>
)
}
return (
<WagmiProvider config={config} initialState={initialState}>
<QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
</WagmiProvider>
)
}
64 changes: 28 additions & 36 deletions src/lib/wagmi.ts
Original file line number Diff line number Diff line change
@@ -1,43 +1,35 @@
'use client'
import { getDefaultConfig, connectorsForWallets } from '@rainbow-me/rainbowkit'
import { cookieStorage, createStorage, createConfig, http } from 'wagmi'
import { createClient } from 'viem'
import { baseSepolia, polygonZkEvmCardona } from 'wagmi/chains'
import {
rainbowWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets'
import { coinbaseWallet } from '@rainbow-me/rainbowkit/wallets'
"use client";
import { defaultWagmiConfig } from '@web3modal/wagmi/react/config'

// Enable Coinbase Smart Wallet for testing
coinbaseWallet.preference = 'smartWalletOnly'
import { cookieStorage, createStorage } from 'wagmi'
import { baseSepolia } from 'wagmi/chains'

// Get projectId from https://cloud.walletconnect.com
export const projectId = process.env.NEXT_PUBLIC_PROJECT_ID
export const projectId = 'c26b357532f63f7ba31efebac88d0eed'

if (!projectId) throw new Error('Project ID is not defined')

const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [rainbowWallet, coinbaseWallet, walletConnectWallet],
},
],
{
appName: 'Myriadflow WebXR',
projectId: projectId,
}
)
const metadata = {
name: 'Web3Modal',
description: 'Web3Modal Example',
url: 'https://web3modal.com',
icons: ['https://avatars.githubusercontent.com/u/37784886'],
}

export const rainbowconfig = createConfig({
connectors,
chains: [baseSepolia, polygonZkEvmCardona],
ssr: false, // If your dApp uses server side rendering (SSR)
client({ chain }) {
return createClient({ chain, transport: http() })
},
// storage: createStorage({
// storage: cookieStorage,
// }),
})
// Create wagmiConfig
const chains = [baseSepolia] as const
export const config = defaultWagmiConfig({
chains,
projectId,
metadata,
auth: {
email: true,
socials: ["github", "google", "x", "discord", "apple"],
showWallets: true, // default to true
walletFeatures: true
},
ssr: true,
storage: createStorage({
storage: cookieStorage
})
});
Loading

0 comments on commit 95429ff

Please sign in to comment.