@sei-js/create-sei 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/CHANGELOG.md +12 -0
  3. package/README.md +16 -25
  4. package/biome.json +8 -0
  5. package/dist/main.js +162 -0
  6. package/dist/templates/next-cosmos-template/.eslintrc.json +3 -0
  7. package/dist/templates/next-cosmos-template/README.md +60 -0
  8. package/dist/templates/next-cosmos-template/next-env.d.ts +5 -0
  9. package/dist/templates/next-cosmos-template/next.config.mjs +14 -0
  10. package/dist/templates/next-cosmos-template/package.json +31 -0
  11. package/dist/templates/next-cosmos-template/public/next.svg +1 -0
  12. package/dist/templates/next-cosmos-template/public/sei-logotype.svg +15 -0
  13. package/dist/templates/next-cosmos-template/public/vercel.svg +1 -0
  14. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Examples.tsx +168 -0
  15. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Homepage.css +154 -0
  16. package/dist/templates/next-cosmos-template/src/app/components/Homepage/Homepage.tsx +83 -0
  17. package/dist/templates/next-cosmos-template/src/app/components/WalletConnectButton/WalletConnectButton.tsx +18 -0
  18. package/dist/templates/next-cosmos-template/src/app/components/Web3Provider.tsx +35 -0
  19. package/dist/templates/next-cosmos-template/src/app/components/index.ts +3 -0
  20. package/dist/templates/next-cosmos-template/src/app/constants/chain.ts +16 -0
  21. package/dist/templates/next-cosmos-template/src/app/constants/index.ts +1 -0
  22. package/dist/templates/next-cosmos-template/src/app/favicon.ico +0 -0
  23. package/dist/templates/next-cosmos-template/src/app/index.css +184 -0
  24. package/dist/templates/next-cosmos-template/src/app/layout.tsx +21 -0
  25. package/dist/templates/next-cosmos-template/src/app/page.tsx +17 -0
  26. package/dist/templates/next-cosmos-template/tsconfig.json +26 -0
  27. package/dist/templates/next-cosmos-template/yarn.lock +9814 -0
  28. package/dist/templates/next-wagmi-template/.eslintrc.json +3 -0
  29. package/dist/templates/next-wagmi-template/README.md +58 -0
  30. package/dist/templates/next-wagmi-template/next-env.d.ts +5 -0
  31. package/dist/templates/next-wagmi-template/next.config.mjs +4 -0
  32. package/dist/templates/next-wagmi-template/package.json +30 -0
  33. package/dist/templates/next-wagmi-template/public/sei-logotype.svg +15 -0
  34. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Examples.tsx +257 -0
  35. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Homepage.css +154 -0
  36. package/dist/templates/next-wagmi-template/src/app/components/Homepage/Homepage.tsx +87 -0
  37. package/dist/templates/next-wagmi-template/src/app/components/Web3Provider.tsx +74 -0
  38. package/dist/templates/next-wagmi-template/src/app/components/index.ts +2 -0
  39. package/dist/templates/next-wagmi-template/src/app/constants/chain.ts +7 -0
  40. package/dist/templates/next-wagmi-template/src/app/constants/index.ts +1 -0
  41. package/dist/templates/next-wagmi-template/src/app/favicon.ico +0 -0
  42. package/dist/templates/next-wagmi-template/src/app/index.css +184 -0
  43. package/dist/templates/next-wagmi-template/src/app/layout.tsx +21 -0
  44. package/dist/templates/next-wagmi-template/src/app/page.tsx +21 -0
  45. package/dist/templates/next-wagmi-template/tsconfig.json +26 -0
  46. package/dist/templates/next-wagmi-template/yarn.lock +4809 -0
  47. package/dist/templates/vite-cosmos-template/.eslintrc.cjs +11 -0
  48. package/dist/templates/vite-cosmos-template/README.md +72 -0
  49. package/dist/templates/vite-cosmos-template/favicon.ico +0 -0
  50. package/dist/templates/vite-cosmos-template/index.html +16 -0
  51. package/dist/templates/vite-cosmos-template/package.json +35 -0
  52. package/dist/templates/vite-cosmos-template/public/sei-logotype.svg +15 -0
  53. package/dist/templates/vite-cosmos-template/src/App.tsx +15 -0
  54. package/dist/templates/vite-cosmos-template/src/assets/react.svg +1 -0
  55. package/dist/templates/vite-cosmos-template/src/components/Homepage/Examples.tsx +168 -0
  56. package/dist/templates/vite-cosmos-template/src/components/Homepage/Homepage.css +154 -0
  57. package/dist/templates/vite-cosmos-template/src/components/Homepage/Homepage.tsx +77 -0
  58. package/dist/templates/vite-cosmos-template/src/components/WalletConnectButton/WalletConnectButton.tsx +18 -0
  59. package/dist/templates/vite-cosmos-template/src/components/Web3Provider.tsx +41 -0
  60. package/dist/templates/vite-cosmos-template/src/components/index.ts +4 -0
  61. package/dist/templates/vite-cosmos-template/src/constants/chain.ts +16 -0
  62. package/dist/templates/vite-cosmos-template/src/constants/index.ts +1 -0
  63. package/dist/templates/vite-cosmos-template/src/index.css +184 -0
  64. package/dist/templates/vite-cosmos-template/src/main.tsx +12 -0
  65. package/dist/templates/vite-cosmos-template/src/vite-env.d.ts +1 -0
  66. package/dist/templates/vite-cosmos-template/tsconfig.app.json +25 -0
  67. package/dist/templates/vite-cosmos-template/tsconfig.json +11 -0
  68. package/dist/templates/vite-cosmos-template/tsconfig.node.json +14 -0
  69. package/dist/templates/vite-cosmos-template/vite.config.ts +7 -0
  70. package/dist/templates/vite-cosmos-template/yarn.lock +9323 -0
  71. package/dist/templates/vite-wagmi-template/.eslintrc.cjs +11 -0
  72. package/dist/templates/vite-wagmi-template/README.md +72 -0
  73. package/dist/templates/vite-wagmi-template/favicon.ico +0 -0
  74. package/dist/templates/vite-wagmi-template/index.html +12 -0
  75. package/dist/templates/vite-wagmi-template/package.json +33 -0
  76. package/dist/templates/vite-wagmi-template/public/sei-logotype.svg +15 -0
  77. package/dist/templates/vite-wagmi-template/src/App.tsx +21 -0
  78. package/dist/templates/vite-wagmi-template/src/assets/react.svg +1 -0
  79. package/dist/templates/vite-wagmi-template/src/components/Homepage/Examples.tsx +255 -0
  80. package/dist/templates/vite-wagmi-template/src/components/Homepage/Homepage.css +154 -0
  81. package/dist/templates/vite-wagmi-template/src/components/Homepage/Homepage.tsx +81 -0
  82. package/dist/templates/vite-wagmi-template/src/components/Web3Provider.tsx +72 -0
  83. package/dist/templates/vite-wagmi-template/src/constants/chain.ts +6 -0
  84. package/dist/templates/vite-wagmi-template/src/constants/index.ts +1 -0
  85. package/dist/templates/vite-wagmi-template/src/index.css +183 -0
  86. package/dist/templates/vite-wagmi-template/src/main.tsx +12 -0
  87. package/dist/templates/vite-wagmi-template/src/vite-env.d.ts +1 -0
  88. package/dist/templates/vite-wagmi-template/tsconfig.app.json +25 -0
  89. package/dist/templates/vite-wagmi-template/tsconfig.json +11 -0
  90. package/dist/templates/vite-wagmi-template/tsconfig.node.json +14 -0
  91. package/dist/templates/vite-wagmi-template/vite.config.ts +10 -0
  92. package/dist/templates/vite-wagmi-template/yarn.lock +4603 -0
  93. package/package.json +3 -2
  94. package/src/main.ts +31 -33
  95. package/templates/next-cosmos-template/.eslintrc.json +1 -1
  96. package/templates/next-cosmos-template/next.config.mjs +9 -9
  97. package/templates/next-cosmos-template/package.json +29 -29
  98. package/templates/next-cosmos-template/src/app/components/Homepage/Examples.tsx +162 -171
  99. package/templates/next-cosmos-template/src/app/components/Homepage/Homepage.css +92 -94
  100. package/templates/next-cosmos-template/src/app/components/Homepage/Homepage.tsx +22 -49
  101. package/templates/next-cosmos-template/src/app/components/WalletConnectButton/WalletConnectButton.tsx +11 -19
  102. package/templates/next-cosmos-template/src/app/components/Web3Provider.tsx +13 -17
  103. package/templates/next-cosmos-template/src/app/components/index.ts +3 -3
  104. package/templates/next-cosmos-template/src/app/constants/chain.ts +9 -9
  105. package/templates/next-cosmos-template/src/app/constants/index.ts +1 -1
  106. package/templates/next-cosmos-template/src/app/index.css +99 -86
  107. package/templates/next-cosmos-template/src/app/layout.tsx +12 -12
  108. package/templates/next-cosmos-template/src/app/page.tsx +13 -13
  109. package/templates/next-cosmos-template/tsconfig.json +24 -24
  110. package/templates/next-wagmi-template/.eslintrc.json +1 -1
  111. package/templates/next-wagmi-template/package.json +28 -28
  112. package/templates/next-wagmi-template/src/app/components/Homepage/Examples.tsx +223 -237
  113. package/templates/next-wagmi-template/src/app/components/Homepage/Homepage.css +92 -94
  114. package/templates/next-wagmi-template/src/app/components/Homepage/Homepage.tsx +10 -36
  115. package/templates/next-wagmi-template/src/app/components/Web3Provider.tsx +29 -28
  116. package/templates/next-wagmi-template/src/app/components/index.ts +2 -2
  117. package/templates/next-wagmi-template/src/app/constants/chain.ts +2 -2
  118. package/templates/next-wagmi-template/src/app/constants/index.ts +1 -1
  119. package/templates/next-wagmi-template/src/app/index.css +99 -86
  120. package/templates/next-wagmi-template/src/app/layout.tsx +12 -12
  121. package/templates/next-wagmi-template/src/app/page.tsx +17 -17
  122. package/templates/next-wagmi-template/tsconfig.json +24 -24
  123. package/templates/vite-cosmos-template/.eslintrc.cjs +10 -17
  124. package/templates/vite-cosmos-template/package.json +33 -33
  125. package/templates/vite-cosmos-template/src/App.tsx +11 -12
  126. package/templates/vite-cosmos-template/src/components/Homepage/Examples.tsx +162 -171
  127. package/templates/vite-cosmos-template/src/components/Homepage/Homepage.css +92 -94
  128. package/templates/vite-cosmos-template/src/components/Homepage/Homepage.tsx +20 -45
  129. package/templates/vite-cosmos-template/src/components/WalletConnectButton/WalletConnectButton.tsx +11 -19
  130. package/templates/vite-cosmos-template/src/components/Web3Provider.tsx +14 -18
  131. package/templates/vite-cosmos-template/src/components/index.ts +4 -4
  132. package/templates/vite-cosmos-template/src/constants/chain.ts +9 -9
  133. package/templates/vite-cosmos-template/src/constants/index.ts +1 -1
  134. package/templates/vite-cosmos-template/src/index.css +99 -86
  135. package/templates/vite-cosmos-template/src/main.tsx +10 -10
  136. package/templates/vite-cosmos-template/tsconfig.app.json +21 -23
  137. package/templates/vite-cosmos-template/tsconfig.json +9 -9
  138. package/templates/vite-cosmos-template/tsconfig.node.json +11 -11
  139. package/templates/vite-cosmos-template/vite.config.ts +4 -4
  140. package/templates/vite-wagmi-template/.eslintrc.cjs +10 -17
  141. package/templates/vite-wagmi-template/package.json +31 -31
  142. package/templates/vite-wagmi-template/src/App.tsx +12 -13
  143. package/templates/vite-wagmi-template/src/components/Homepage/Examples.tsx +225 -239
  144. package/templates/vite-wagmi-template/src/components/Homepage/Homepage.css +92 -94
  145. package/templates/vite-wagmi-template/src/components/Homepage/Homepage.tsx +28 -53
  146. package/templates/vite-wagmi-template/src/components/Web3Provider.tsx +29 -28
  147. package/templates/vite-wagmi-template/src/constants/chain.ts +1 -1
  148. package/templates/vite-wagmi-template/src/constants/index.ts +1 -1
  149. package/templates/vite-wagmi-template/src/index.css +98 -85
  150. package/templates/vite-wagmi-template/src/main.tsx +10 -10
  151. package/templates/vite-wagmi-template/tsconfig.app.json +21 -23
  152. package/templates/vite-wagmi-template/tsconfig.json +9 -9
  153. package/templates/vite-wagmi-template/tsconfig.node.json +11 -11
  154. package/templates/vite-wagmi-template/vite.config.ts +7 -7
  155. package/tsconfig.json +24 -28
@@ -0,0 +1,154 @@
1
+ #root {
2
+ display: flex;
3
+ flex-direction: column;
4
+ min-height: 100vh;
5
+ }
6
+ .app {
7
+ width: 100%;
8
+ height: 100%;
9
+ }
10
+
11
+ .logo {
12
+ width: 20%;
13
+ align-self: center;
14
+ }
15
+
16
+ .container {
17
+ margin: 0 auto;
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 3rem;
21
+ width: 100%;
22
+ padding: 1rem;
23
+ height: -webkit-fill-available;
24
+ flex-grow: 1;
25
+ justify-content: center;
26
+ }
27
+
28
+ .grid {
29
+ width: 100%;
30
+ display: grid;
31
+ grid-template-columns: repeat(1, 1fr);
32
+ gap: 1rem;
33
+ }
34
+ .grid.docs {
35
+ grid-template-columns: repeat(1, 1fr);
36
+ }
37
+
38
+ .card {
39
+ width: 100%;
40
+ padding: 1.5em;
41
+ border-radius: 1rem;
42
+ background: var(--card);
43
+ color: var(--card-foreground);
44
+ box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.09);
45
+ }
46
+
47
+ .card.secondary {
48
+ background: transparent;
49
+ border: 1px solid var(--border);
50
+ box-shadow: none;
51
+ }
52
+ .card.intro {
53
+ display: flex;
54
+ flex-direction: column;
55
+ gap: 1rem;
56
+ justify-content: space-between;
57
+ align-items: flex-start;
58
+ }
59
+ .card-header {
60
+ display: flex;
61
+ flex-direction: column;
62
+ justify-content: space-between;
63
+ gap: 0.25rem;
64
+ }
65
+ .card-body {
66
+ display: flex;
67
+ flex-direction: column;
68
+ justify-content: space-between;
69
+ margin: 1.5rem 0;
70
+ }
71
+
72
+ .card-footer {
73
+ display: flex;
74
+ flex-direction: row;
75
+ gap: 0.5rem;
76
+ }
77
+
78
+ .card__title {
79
+ font-size: 1.15rem;
80
+ font-weight: 600;
81
+ }
82
+ .content-background {
83
+ overflow: hidden;
84
+ background: #fafaf9;
85
+ border-radius: 4rem;
86
+ padding: 0 1rem;
87
+ height: 3.5rem;
88
+ display: flex;
89
+ align-items: center;
90
+ }
91
+
92
+ .wallet-address {
93
+ text-wrap: anywhere;
94
+ line-break: anywhere;
95
+ }
96
+
97
+ .space-between {
98
+ justify-content: space-between;
99
+ gap: 1rem;
100
+ }
101
+
102
+ .hide-on-mobile {
103
+ display: none;
104
+ }
105
+
106
+ .hide-on-desktop {
107
+ display: block;
108
+ }
109
+
110
+ .external-link {
111
+ display: inline-flex;
112
+ gap: 0.25rem;
113
+ }
114
+
115
+ .get-started {
116
+ text-align: center;
117
+ }
118
+
119
+ .wallet-connect {
120
+ display: flex;
121
+ gap: 1rem;
122
+ align-items: center;
123
+ }
124
+
125
+ @media (min-width: 768px) {
126
+ .card.intro {
127
+ grid-column: span 2;
128
+ flex-direction: row;
129
+ align-items: center;
130
+ }
131
+ .hide-on-mobile {
132
+ display: block;
133
+ }
134
+ .hide-on-desktop {
135
+ display: none;
136
+ }
137
+
138
+ .container {
139
+ max-width: 96rem;
140
+ padding: 2rem;
141
+ }
142
+ .grid {
143
+ grid-template-columns: repeat(3, 1fr);
144
+ }
145
+ .grid.docs {
146
+ grid-template-columns: repeat(3, 1fr);
147
+ }
148
+ }
149
+
150
+ @media (min-width: 1024px) {
151
+ .container {
152
+ max-width: 80rem;
153
+ }
154
+ }
@@ -0,0 +1,83 @@
1
+ 'use client';
2
+
3
+ import './Homepage.css';
4
+ import Examples from './Examples';
5
+ import { selectedChain } from '../../constants';
6
+ import { WalletConnectButton } from '..';
7
+
8
+ type HelpItem = {
9
+ title: string;
10
+ description: string;
11
+ link: string;
12
+ };
13
+
14
+ const renderHelpItem = ({ title, description, link }: HelpItem) => (
15
+ <div className="card secondary">
16
+ <div className="card-header">
17
+ <p className="card__title">
18
+ <a href={link} target="_blank" rel="noopener noreferrer" className="external-link">
19
+ {title} {externalIcon}
20
+ </a>
21
+ </p>
22
+ <small className="card__description">{description}</small>
23
+ </div>
24
+ </div>
25
+ );
26
+
27
+ const helpItems: HelpItem[] = [
28
+ {
29
+ title: 'Sei Docs',
30
+ description: 'Find in-depth information about Sei.',
31
+ link: 'https://docs.sei.io/'
32
+ },
33
+ {
34
+ title: 'CosmosKit',
35
+ description: "Learn about CosmosKit and it's hooks for chain interaction.",
36
+ link: 'https://hyperweb.io/stack/cosmos-kit'
37
+ },
38
+ {
39
+ title: 'sei-js',
40
+ description: 'Interact with Sei using @sei-js/cosmjs.',
41
+ link: 'https://sei-protocol.github.io/sei-js/modules/cosmjs.html'
42
+ }
43
+ ];
44
+
45
+ const externalIcon = (
46
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
47
+ <path
48
+ d="M12 8.66667V12.6667C12 13.0203 11.8595 13.3594 11.6095 13.6095C11.3594 13.8595 11.0203 14 10.6667 14H3.33333C2.97971 14 2.64057 13.8595 2.39052 13.6095C2.14048 13.3594 2 13.0203 2 12.6667V5.33333C2 4.97971 2.14048 4.64057 2.39052 4.39052C2.64057 4.14048 2.97971 4 3.33333 4H7.33333"
49
+ stroke="#9F1239"
50
+ strokeWidth="1.33333"
51
+ strokeLinecap="round"
52
+ strokeLinejoin="round"
53
+ />
54
+ <path d="M10 2H14V6" stroke="#9F1239" strokeWidth="1.33333" strokeLinecap="round" strokeLinejoin="round" />
55
+ <path d="M6.66663 9.33333L14 2" stroke="#9F1239" strokeWidth="1.33333" strokeLinecap="round" strokeLinejoin="round" />
56
+ </svg>
57
+ );
58
+
59
+ export function Homepage() {
60
+ return (
61
+ <div className="container">
62
+ <img src="sei-logotype.svg" className="logo" alt="SEI logotype" />
63
+ <div className="card intro">
64
+ <div className="card-header">
65
+ <p className="card__title">Wallet address</p>
66
+ <small className="card__description">Connect wallet to see your address and balance</small>
67
+ </div>
68
+ <WalletConnectButton />
69
+ </div>
70
+ <Examples chainId={selectedChain.chain_id} />
71
+ <div className="get-started">
72
+ Get started by editing <code>src/app/page.tsx</code>
73
+ </div>
74
+ <div className="grid docs">
75
+ {helpItems.map((item, _) => (
76
+ <div key={item.title}>{renderHelpItem(item)}</div>
77
+ ))}
78
+ </div>
79
+ </div>
80
+ );
81
+ }
82
+
83
+ export default Homepage;
@@ -0,0 +1,18 @@
1
+ import { useChain } from '@cosmos-kit/react';
2
+
3
+ import '@interchain-ui/react/styles';
4
+
5
+ import { truncateSeiAddress } from '@sei-js/cosmjs';
6
+ import { selectedChain } from '../../constants';
7
+
8
+ export function WalletConnectButton() {
9
+ const { isWalletConnected, address, connect, openView } = useChain(selectedChain.chain_name);
10
+
11
+ const truncatedSeiAddr = address ? truncateSeiAddress(address) : '';
12
+
13
+ return (
14
+ <button className="primary" onClick={isWalletConnected ? openView : connect}>
15
+ {isWalletConnected ? truncateSeiAddress(truncatedSeiAddr) : 'Connect'}
16
+ </button>
17
+ );
18
+ }
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+
3
+ import { ReactNode } from 'react';
4
+
5
+ import { ChainProvider } from '@cosmos-kit/react';
6
+ import { COSMOS_KIT_ASSET_LIST } from '@sei-js/cosmjs';
7
+ import { wallets as finWallets } from '@cosmos-kit/fin';
8
+ import { wallets as keplrWallets } from '@cosmos-kit/keplr';
9
+ import { CompassExtensionWallet, compassExtensionInfo } from '@cosmos-kit/compass-extension';
10
+ import { selectedChain } from '../constants';
11
+
12
+ interface Web3ProviderProps {
13
+ children: ReactNode;
14
+ }
15
+
16
+ const compassWallet = new CompassExtensionWallet({
17
+ ...compassExtensionInfo,
18
+ mobileDisabled: false
19
+ });
20
+
21
+ function Web3Provider({ children }: Web3ProviderProps) {
22
+ // Define your supported wallets here
23
+ const wallets = [compassWallet, ...finWallets, ...keplrWallets];
24
+
25
+ // Define the list of sei chain you would like to connect to here.
26
+ const chains = [selectedChain];
27
+
28
+ return (
29
+ <ChainProvider chains={chains} assetLists={[COSMOS_KIT_ASSET_LIST]} wallets={wallets}>
30
+ {children}
31
+ </ChainProvider>
32
+ );
33
+ }
34
+
35
+ export default Web3Provider;
@@ -0,0 +1,3 @@
1
+ export * from './Homepage/Homepage';
2
+ export * from './WalletConnectButton/WalletConnectButton';
3
+ export * from './Web3Provider';
@@ -0,0 +1,16 @@
1
+ import { ARCTIC_1_SEI_COSMOS_KIT_CHAIN, ATLANTIC_2_SEI_COSMOS_KIT_CHAIN, PACIFIC_1_SEI_COSMOS_KIT_CHAIN } from '@sei-js/cosmjs';
2
+
3
+ export type Urls = {
4
+ rpc: string;
5
+ rest: string;
6
+ };
7
+
8
+ export const defaultUrls: { [chainName: string]: Urls } = {
9
+ [PACIFIC_1_SEI_COSMOS_KIT_CHAIN.chain_id]: { rpc: 'https://rpc.sei-apis.com', rest: 'https://rest-arctic-1.sei-apis.com' },
10
+ [ATLANTIC_2_SEI_COSMOS_KIT_CHAIN.chain_id]: { rpc: 'https://rpc-testnet.sei-apis.com', rest: 'https://rest-testnet.sei-apis.com' },
11
+ [ARCTIC_1_SEI_COSMOS_KIT_CHAIN.chain_id]: { rpc: 'https://rpc-arctic-1.sei-apis.com', rest: 'https://rest-arctic-1.sei-apis.com' }
12
+ };
13
+
14
+ // Set your selected chain here
15
+ // To point to mainnet, use PACIFIC_1_SEI_COSMOS_KIT_CHAIN
16
+ export const selectedChain = ARCTIC_1_SEI_COSMOS_KIT_CHAIN;
@@ -0,0 +1 @@
1
+ export * from './chain';
@@ -0,0 +1,184 @@
1
+ /*
2
+ 1. Use a more-intuitive box-sizing model.
3
+ */
4
+ *,
5
+ *::before,
6
+ *::after {
7
+ box-sizing: border-box;
8
+ }
9
+ /*
10
+ 2. Remove default margin
11
+ */
12
+ * {
13
+ margin: 0;
14
+ }
15
+ /*
16
+ Typographic tweaks!
17
+ 3. Add accessible line-height
18
+ 4. Improve text rendering
19
+ */
20
+ body {
21
+ line-height: 1.5;
22
+ -webkit-font-smoothing: antialiased;
23
+ }
24
+ /*
25
+ 5. Improve media defaults
26
+ */
27
+ img,
28
+ picture,
29
+ video,
30
+ canvas,
31
+ svg {
32
+ display: block;
33
+ max-width: 100%;
34
+ }
35
+ /*
36
+ 6. Remove built-in form typography styles
37
+ */
38
+ input,
39
+ button,
40
+ textarea,
41
+ select {
42
+ font: inherit;
43
+ }
44
+ /*
45
+ 7. Avoid text overflows
46
+ */
47
+ p,
48
+ h1,
49
+ h2,
50
+ h3,
51
+ h4,
52
+ h5,
53
+ h6 {
54
+ overflow-wrap: break-word;
55
+ line-height: 1;
56
+ }
57
+ /*
58
+ 8. Create a root stacking context
59
+ */
60
+ #root,
61
+ #__next {
62
+ isolation: isolate;
63
+ }
64
+
65
+ :root {
66
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
67
+ line-height: 1.5;
68
+ font-weight: 400;
69
+
70
+ color-scheme: light dark;
71
+ color: #000;
72
+ background: var(--background);
73
+
74
+ font-synthesis: none;
75
+ text-rendering: optimizeLegibility;
76
+ -webkit-font-smoothing: antialiased;
77
+ -moz-osx-font-smoothing: grayscale;
78
+
79
+ --primary-color: #9f1239;
80
+ --primary-color-hover: #7f0a2e;
81
+ --background: linear-gradient(180deg, #f5f5f4 0%, #fff 100%);
82
+ --border: #d6d3d1;
83
+ --card: #fff;
84
+ --card-foreground: #242424;
85
+ }
86
+
87
+ a {
88
+ font-weight: 500;
89
+ color: var(--primary-color);
90
+ text-decoration: inherit;
91
+ }
92
+ a:hover {
93
+ color: var(--primary-color-hover);
94
+ }
95
+
96
+ body {
97
+ margin: 0;
98
+ padding: 0;
99
+ }
100
+
101
+ h1 {
102
+ font-size: 3.2em;
103
+ line-height: 1;
104
+ }
105
+ code {
106
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
107
+ display: inline-flex;
108
+ border-radius: 4px;
109
+ padding: 0.1rem 0.4rem;
110
+ background-color: #d7cccc;
111
+ color: var(--card-foreground);
112
+ }
113
+
114
+ button {
115
+ border-radius: 4rem;
116
+ border: 1px solid transparent;
117
+ padding: 0.6em 1.2em;
118
+ font-size: 1em;
119
+ font-weight: 500;
120
+ font-family: inherit;
121
+ background-color: #cec9c1;
122
+ cursor: pointer;
123
+ transition: all 0.25s ease;
124
+ color: black;
125
+ }
126
+ button:hover {
127
+ background-color: #b5afa7;
128
+ }
129
+
130
+ button:disabled {
131
+ filter: grayscale(1) opacity(0.5);
132
+ color: rgb(56, 55, 55);
133
+ pointer-events: none;
134
+ }
135
+
136
+ button.primary {
137
+ background-color: var(--primary-color);
138
+ color: #fff;
139
+ }
140
+ button.outline {
141
+ background-color: transparent;
142
+ border: 1px solid var(--border);
143
+ }
144
+
145
+ button.primary:hover {
146
+ background-color: var(--primary-color-hover);
147
+ }
148
+
149
+ button.secondary {
150
+ background-color: #000;
151
+ color: #fff;
152
+ }
153
+
154
+ button.secondary:hover {
155
+ background-color: #2b2b2b;
156
+ }
157
+
158
+ button:active {
159
+ transform: translateY(1px);
160
+ }
161
+
162
+ button.small {
163
+ padding: 0.4em 0.8em;
164
+ font-size: 0.8em;
165
+ }
166
+
167
+ button:focus-visible {
168
+ outline: 4px auto -webkit-focus-ring-color;
169
+ outline-offset: 4px;
170
+ }
171
+
172
+ .header {
173
+ width: 100%;
174
+ height: 4rem;
175
+ padding: 0 1%;
176
+ display: flex;
177
+ align-items: center;
178
+ justify-content: right;
179
+ background-color: transparent;
180
+ border-bottom: 1px solid var(--border);
181
+ position: sticky;
182
+ top: 0;
183
+ background: #f5f5f4;
184
+ }
@@ -0,0 +1,21 @@
1
+ import type { Metadata } from 'next';
2
+ import { Inter } from 'next/font/google';
3
+
4
+ const inter = Inter({ subsets: ['latin'] });
5
+
6
+ export const metadata: Metadata = {
7
+ title: 'Sei Next App (Cosmos)',
8
+ description: 'Generated by create sei app'
9
+ };
10
+
11
+ export default function RootLayout({
12
+ children
13
+ }: Readonly<{
14
+ children: React.ReactNode;
15
+ }>) {
16
+ return (
17
+ <html lang="en">
18
+ <body className={inter.className}>{children}</body>
19
+ </html>
20
+ );
21
+ }
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+
3
+ import './index.css';
4
+ import Homepage from './components/Homepage/Homepage';
5
+ import Web3Provider from './components/Web3Provider';
6
+ import { WalletConnectButton } from './components/WalletConnectButton/WalletConnectButton';
7
+
8
+ export default function Home() {
9
+ return (
10
+ <Web3Provider>
11
+ <div className="header">
12
+ <WalletConnectButton />
13
+ </div>
14
+ <Homepage />
15
+ </Web3Provider>
16
+ );
17
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": ["dom", "dom.iterable", "esnext"],
4
+ "allowJs": true,
5
+ "skipLibCheck": true,
6
+ "strict": true,
7
+ "noEmit": true,
8
+ "esModuleInterop": true,
9
+ "module": "esnext",
10
+ "moduleResolution": "bundler",
11
+ "resolveJsonModule": true,
12
+ "isolatedModules": true,
13
+ "jsx": "preserve",
14
+ "incremental": true,
15
+ "plugins": [
16
+ {
17
+ "name": "next"
18
+ }
19
+ ],
20
+ "paths": {
21
+ "@/*": ["./src/*"]
22
+ }
23
+ },
24
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
25
+ "exclude": ["node_modules"]
26
+ }