Skip to content

Commit

Permalink
Next SSR Support(#27)
Browse files Browse the repository at this point in the history
Includes examples/next and better SSR support

---------

Co-authored-by: Peter Kieltyka <[email protected]>
  • Loading branch information
corbanbrook and pkieltyka authored May 1, 2024
1 parent 979b13e commit 7f62b21
Show file tree
Hide file tree
Showing 107 changed files with 14,552 additions and 9,637 deletions.
6 changes: 1 addition & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
const { off } = require("process")

module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
Expand Down Expand Up @@ -28,11 +26,10 @@ module.exports = {
'@typescript-eslint/no-this-alias': 'off',

'import/no-unresolved': 'off',
'import/no-default-export': 2,
'import/no-default-export': 1,
'import/no-named-as-default-member': 'off',
'import/export': 'off'


// 'import/order': [
// 'warn',
// {
Expand All @@ -43,6 +40,5 @@ module.exports = {
// }
// },
// ]

}
}
2 changes: 1 addition & 1 deletion .github/actions/install-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ runs:
- name: Setup PNPM
uses: pnpm/action-setup@v3
with:
version: 8
version: 9
run_install: false

- name: Get pnpm store directory
Expand Down
3 changes: 3 additions & 0 deletions examples/next/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
36 changes: 36 additions & 0 deletions examples/next/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
36 changes: 36 additions & 0 deletions examples/next/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
14 changes: 14 additions & 0 deletions examples/next/next.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin'

const withVanillaExtract = createVanillaExtractPlugin()

/** @type {import('next').NextConfig} */
const nextConfig = {
webpack: config => {
config.externals.push('pino-pretty', 'encoding')
return config
}
// transpilePackages: ['@0xsequence/kit', '@0xsequence/kit-wallet', '@0xsequence/kit-connectors', '@0xsequence/checkout']
}

export default withVanillaExtract(nextConfig)
36 changes: 36 additions & 0 deletions examples/next/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "@0xsequence/kit-example-next",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev -p 4444",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"@0xsequence/design-system": "^1.4.7",
"@0xsequence/kit": "workspace:*",
"@0xsequence/kit-checkout": "workspace:*",
"@0xsequence/kit-connectors": "workspace:*",
"@0xsequence/kit-wallet": "workspace:*",
"@0xsequence/network": "^1.9.26",
"@tanstack/react-query": "^5.29.2",
"next": "14.2.3",
"react": "^18",
"react-dom": "^18",
"viem": "^2.5.7",
"wagmi": "^2.5.7"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"@vanilla-extract/next-plugin": "^2.4.0",
"eslint": "^8",
"eslint-config-next": "14.2.3",
"postcss": "^8",
"tailwindcss": "^3.4.3",
"typescript": "^5"
}
}
18 changes: 18 additions & 0 deletions examples/next/public/discord.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions examples/next/public/github.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions examples/next/public/kit-logo-text.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 60 additions & 0 deletions examples/next/public/kit-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions examples/next/public/next.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions examples/next/public/twitter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions examples/next/public/youtube.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions examples/next/src/app/WalletOptions.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
'use client'

import { Connector, useConnect } from 'wagmi'

export const WalletOptions = () => {
const { connectors, connect } = useConnect()

return (
<div className="flex flex-col gap-1">
{connectors.map(connector => (
<button key={connector.uid} onClick={() => connect({ connector })} className="border-2 border-slate-700 px-2 py-1">
{(connector as any)._wallet?.name || connector.name} <span className="text-sm text-slate-600">({connector.type})</span>
</button>
))}
</div>
)
}
31 changes: 31 additions & 0 deletions examples/next/src/app/Web3Provider.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'use client'

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

import { wagmiConfig, kitConfig } from './config'
import { KitProvider } from '@0xsequence/kit'
import { KitWalletProvider } from '@0xsequence/kit-wallet'
import { KitCheckoutProvider } from '@0xsequence/kit-checkout'

const queryClient = new QueryClient()

export interface Web3ProviderProps {
children: React.ReactNode
}

export const Web3Provider = (props: Web3ProviderProps) => {
const { children } = props

return (
<WagmiProvider config={wagmiConfig}>
<QueryClientProvider client={queryClient}>
<KitProvider config={kitConfig}>
<KitWalletProvider>
<KitCheckoutProvider>{children}</KitCheckoutProvider>
</KitWalletProvider>
</KitProvider>
</QueryClientProvider>
</WagmiProvider>
)
}
Loading

0 comments on commit 7f62b21

Please sign in to comment.