From 5ddeb772d32372058b810c4e886d7fc50a126aa3 Mon Sep 17 00:00:00 2001 From: HeesungB Date: Wed, 21 Dec 2022 03:58:39 +0900 Subject: [PATCH 1/8] Move meta tag from _app.tsx to _document.tsx --- pages/_app.tsx | 94 ----------------------------------------- pages/_document.tsx | 100 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 94 deletions(-) diff --git a/pages/_app.tsx b/pages/_app.tsx index 8cc5efd..3002524 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -58,100 +58,6 @@ export default function App({ Component, pageProps }: AppProps) { Interchain Name Service - - - - - - - - - - - - {/* generated favicons */} - - - - - - - - - - - - - - - - - diff --git a/pages/_document.tsx b/pages/_document.tsx index 9472144..ea2955a 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -54,6 +54,106 @@ class MyDocument extends Document { href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet" /> + + + + + + + + + + + + {/* generated favicons */} + + + + + + + + + + + + + + + + +
From 9bb242d1d82e6f73afbbb528372216e7786c9513 Mon Sep 17 00:00:00 2001 From: HeesungB Date: Wed, 21 Dec 2022 04:01:07 +0900 Subject: [PATCH 2/8] fix origin --- pages/_document.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pages/_document.tsx b/pages/_document.tsx index ea2955a..2f59cd8 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -69,11 +69,14 @@ class MyDocument extends Document { content="initial-scale=1.0, width=device-width" /> - + From 59d14ea1ec35a47d2ec10f8f8cbcc5d7dc9ba778 Mon Sep 17 00:00:00 2001 From: HeesungB Date: Wed, 21 Dec 2022 04:05:52 +0900 Subject: [PATCH 3/8] Fix referral url(add slash /) --- pages/complete/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/complete/index.tsx b/pages/complete/index.tsx index 24171f0..3e1029e 100644 --- a/pages/complete/index.tsx +++ b/pages/complete/index.tsx @@ -77,7 +77,7 @@ export default function CompletePage() { const width = 500; const height = 700; window.open( - `${SHARE_URL}?url=https://app.icns.xyz?referral=${twitterUsername}&text=${shareMessage}`, + `${SHARE_URL}?url=https://app.icns.xyz/?referral=${twitterUsername}&text=${shareMessage}`, "Share Twitter", `top=${(window.screen.height - height) / 2}, left=${ (window.screen.width - width) / 2 From 860a35c4deda8ea387284422af2463770a1397d7 Mon Sep 17 00:00:00 2001 From: Thunnini Date: Wed, 21 Dec 2022 18:18:38 +0900 Subject: [PATCH 4/8] Add allowlist api for external usage --- .pnp.cjs | 34 ++++++++++++++++++ ...-cors-npm-2.8.13-4b8ac1068f-7ef197ea19.zip | Bin 0 -> 3643 bytes .../cors-npm-2.8.5-c9935a2d12-ced838404c.zip | Bin 0 -> 7798 bytes .../vary-npm-1.1.2-b49f70ae63-ae0123222c.zip | Bin 0 -> 4660 bytes package.json | 2 ++ pages/api/allowlist.ts | 23 ++++++++++++ yarn.lock | 30 +++++++++++++++- 7 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 .yarn/cache/@types-cors-npm-2.8.13-4b8ac1068f-7ef197ea19.zip create mode 100644 .yarn/cache/cors-npm-2.8.5-c9935a2d12-ced838404c.zip create mode 100644 .yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip create mode 100644 pages/api/allowlist.ts diff --git a/.pnp.cjs b/.pnp.cjs index afb7e12..8c85360 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -36,6 +36,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@next/eslint-plugin-next", "npm:13.0.5"],\ ["@sentry/nextjs", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:7.27.0"],\ ["@svgr/webpack", "npm:6.5.1"],\ + ["@types/cors", "npm:2.8.13"],\ ["@types/eslint", "npm:8.4.10"],\ ["@types/node", "npm:18.11.9"],\ ["@types/react", "npm:18.0.25"],\ @@ -47,6 +48,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/parser", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:5.45.0"],\ ["axios", "npm:0.27.2"],\ ["buffer", "npm:6.0.3"],\ + ["cors", "npm:2.8.5"],\ ["crypto", "npm:1.0.1"],\ ["eslint", "npm:8.28.0"],\ ["eslint-config-next", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:13.0.5"],\ @@ -3957,6 +3959,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@types/cors", [\ + ["npm:2.8.13", {\ + "packageLocation": "./.yarn/cache/@types-cors-npm-2.8.13-4b8ac1068f-7ef197ea19.zip/node_modules/@types/cors/",\ + "packageDependencies": [\ + ["@types/cors", "npm:2.8.13"],\ + ["@types/node", "npm:18.11.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/eslint", [\ ["npm:8.4.10", {\ "packageLocation": "./.yarn/cache/@types-eslint-npm-8.4.10-9df5f4bc78-21e009ed9e.zip/node_modules/@types/eslint/",\ @@ -5466,6 +5478,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["cors", [\ + ["npm:2.8.5", {\ + "packageLocation": "./.yarn/cache/cors-npm-2.8.5-c9935a2d12-ced838404c.zip/node_modules/cors/",\ + "packageDependencies": [\ + ["cors", "npm:2.8.5"],\ + ["object-assign", "npm:4.1.1"],\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["cosmiconfig", [\ ["npm:7.1.0", {\ "packageLocation": "./.yarn/cache/cosmiconfig-npm-7.1.0-13a5090bcd-c53bf7befc.zip/node_modules/cosmiconfig/",\ @@ -7291,6 +7314,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@next/eslint-plugin-next", "npm:13.0.5"],\ ["@sentry/nextjs", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:7.27.0"],\ ["@svgr/webpack", "npm:6.5.1"],\ + ["@types/cors", "npm:2.8.13"],\ ["@types/eslint", "npm:8.4.10"],\ ["@types/node", "npm:18.11.9"],\ ["@types/react", "npm:18.0.25"],\ @@ -7302,6 +7326,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/parser", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:5.45.0"],\ ["axios", "npm:0.27.2"],\ ["buffer", "npm:6.0.3"],\ + ["cors", "npm:2.8.5"],\ ["crypto", "npm:1.0.1"],\ ["eslint", "npm:8.28.0"],\ ["eslint-config-next", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:13.0.5"],\ @@ -10550,6 +10575,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["vary", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip/node_modules/vary/",\ + "packageDependencies": [\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["warning", [\ ["npm:4.0.3", {\ "packageLocation": "./.yarn/cache/warning-npm-4.0.3-291e921d6d-4f2cb6a957.zip/node_modules/warning/",\ diff --git a/.yarn/cache/@types-cors-npm-2.8.13-4b8ac1068f-7ef197ea19.zip b/.yarn/cache/@types-cors-npm-2.8.13-4b8ac1068f-7ef197ea19.zip new file mode 100644 index 0000000000000000000000000000000000000000..8c75a92a5c9078a9db99636e385200488cfa6148 GIT binary patch literal 3643 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 Vfi{rptBm^SqB<&KXKBAa{SWa)AyNPU literal 0 HcmV?d00001 diff --git a/.yarn/cache/cors-npm-2.8.5-c9935a2d12-ced838404c.zip b/.yarn/cache/cors-npm-2.8.5-c9935a2d12-ced838404c.zip new file mode 100644 index 0000000000000000000000000000000000000000..b7ab2c53f9e1bcc723d431b997b7022d9036dde2 GIT binary patch literal 7798 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 literal 0 HcmV?d00001 diff --git a/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip b/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ef083146c5899edebc50e58f77844cfff8b4ce4 GIT binary patch literal 4660 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 { + cors(req, res, (result: any) => { + if (result instanceof Error) { + return reject(result); + } + + return resolve(result); + }); + }); + + res.status(200).json({ + chains: CHAIN_ALLOWLIST, + }); +} diff --git a/yarn.lock b/yarn.lock index 2efc204..8c7caa2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2527,6 +2527,15 @@ __metadata: languageName: node linkType: hard +"@types/cors@npm:^2": + version: 2.8.13 + resolution: "@types/cors@npm:2.8.13" + dependencies: + "@types/node": "*" + checksum: 7ef197ea19d2e5bf1313b8416baa6f3fd6dd887fd70191da1f804f557395357dafd8bc8bed0ac60686923406489262a7c8a525b55748f7b2b8afa686700de907 + languageName: node + linkType: hard + "@types/eslint@npm:^8.4.10": version: 8.4.10 resolution: "@types/eslint@npm:8.4.10" @@ -3741,6 +3750,16 @@ __metadata: languageName: node linkType: hard +"cors@npm:^2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: ^4 + vary: ^1 + checksum: ced838404ccd184f61ab4fdc5847035b681c90db7ac17e428f3d81d69e2989d2b680cc254da0e2554f5ed4f8a341820a1ce3d1c16b499f6e2f47a1b9b07b5006 + languageName: node + linkType: hard + "cosmiconfig@npm:^7.0.1": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -5196,6 +5215,7 @@ __metadata: "@next/eslint-plugin-next": ^13.0.5 "@sentry/nextjs": ^7.27.0 "@svgr/webpack": ^6.5.1 + "@types/cors": ^2 "@types/eslint": ^8.4.10 "@types/node": 18.11.9 "@types/react": 18.0.25 @@ -5207,6 +5227,7 @@ __metadata: "@typescript-eslint/parser": ^5.45.0 axios: ^0.27.2 buffer: ^6.0.3 + cors: ^2.8.5 crypto: ^1.0.1 eslint: 8.28.0 eslint-config-next: 13.0.5 @@ -6411,7 +6432,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -8047,6 +8068,13 @@ __metadata: languageName: node linkType: hard +"vary@npm:^1": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + "warning@npm:^4.0.3": version: 4.0.3 resolution: "warning@npm:4.0.3" From e12fdbfbda56191fecbf0cb6df0d20c34190dcd0 Mon Sep 17 00:00:00 2001 From: HeesungB Date: Wed, 21 Dec 2022 22:39:07 +0900 Subject: [PATCH 5/8] Add count up layout --- .pnp.cjs | 86 +++++++++++++++++ ...-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip | Bin 0 -> 19516 bytes ...nutils-npm-5.0.2-6aa9d0ddd4-edea15e543.zip | Bin 0 -> 14253 bytes ...tup.js-npm-2.3.2-fce559ea32-77bb509cd1.zip | Bin 0 -> 32068 bytes ...ountup-npm-6.4.0-d1c6fe7973-259277fa70.zip | Bin 0 -> 12288 bytes components/primary-button/index.tsx | 4 +- constants/icns.ts | 3 + hooks/use-interval.tsx | 26 ++++++ hooks/use-isomorphic-layout-effect.tsx | 6 ++ package.json | 1 + pages/index.tsx | 87 +++++++++++++++++- yarn.lock | 59 +++++++++++- 12 files changed, 266 insertions(+), 6 deletions(-) create mode 100644 .yarn/cache/@rollup-plugin-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip create mode 100644 .yarn/cache/@rollup-pluginutils-npm-5.0.2-6aa9d0ddd4-edea15e543.zip create mode 100644 .yarn/cache/countup.js-npm-2.3.2-fce559ea32-77bb509cd1.zip create mode 100644 .yarn/cache/react-countup-npm-6.4.0-d1c6fe7973-259277fa70.zip create mode 100644 hooks/use-interval.tsx create mode 100644 hooks/use-isomorphic-layout-effect.tsx diff --git a/.pnp.cjs b/.pnp.cjs index 8c85360..2bf0c06 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -64,6 +64,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["next", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:13.0.5"],\ ["prettier", "npm:2.8.0"],\ ["react", "npm:18.2.0"],\ + ["react-countup", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:6.4.0"],\ ["react-dom", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ ["react-modal", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:3.16.1"],\ @@ -3294,6 +3295,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@rollup/plugin-babel", [\ + ["npm:6.0.3", {\ + "packageLocation": "./.yarn/cache/@rollup-plugin-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip/node_modules/@rollup/plugin-babel/",\ + "packageDependencies": [\ + ["@rollup/plugin-babel", "npm:6.0.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9555373101f58738ea803ff9e79b0d8b52a66e88c21dac99d127fd080df7e60c5efb4c82f30a042556261bfb95e0c5292626cc000800b004d622753bbf9e02e5#npm:6.0.3", {\ + "packageLocation": "./.yarn/__virtual__/@rollup-plugin-babel-virtual-082525a879/0/cache/@rollup-plugin-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip/node_modules/@rollup/plugin-babel/",\ + "packageDependencies": [\ + ["@rollup/plugin-babel", "virtual:9555373101f58738ea803ff9e79b0d8b52a66e88c21dac99d127fd080df7e60c5efb4c82f30a042556261bfb95e0c5292626cc000800b004d622753bbf9e02e5#npm:6.0.3"],\ + ["@babel/core", null],\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@rollup/pluginutils", "virtual:082525a8792b89cbfd614faa6bcd1a9496584eedab2ae9d69d9f4375690e041544351047f44ef6dab868f44ac8fb8bbc2f5d9aa598e4e4521132888b2cfef8a9#npm:5.0.2"],\ + ["@types/babel__core", null],\ + ["@types/rollup", null],\ + ["rollup", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core",\ + "@types/rollup",\ + "rollup"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@rollup/plugin-sucrase", [\ ["npm:4.0.4", {\ "packageLocation": "./.yarn/cache/@rollup-plugin-sucrase-npm-4.0.4-11cf77c62a-ccb01d7eb3.zip/node_modules/@rollup/plugin-sucrase/",\ @@ -3349,6 +3378,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["picomatch", "npm:2.3.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.0.2", {\ + "packageLocation": "./.yarn/cache/@rollup-pluginutils-npm-5.0.2-6aa9d0ddd4-edea15e543.zip/node_modules/@rollup/pluginutils/",\ + "packageDependencies": [\ + ["@rollup/pluginutils", "npm:5.0.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:082525a8792b89cbfd614faa6bcd1a9496584eedab2ae9d69d9f4375690e041544351047f44ef6dab868f44ac8fb8bbc2f5d9aa598e4e4521132888b2cfef8a9#npm:5.0.2", {\ + "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-7805b1dbc6/0/cache/@rollup-pluginutils-npm-5.0.2-6aa9d0ddd4-edea15e543.zip/node_modules/@rollup/pluginutils/",\ + "packageDependencies": [\ + ["@rollup/pluginutils", "virtual:082525a8792b89cbfd614faa6bcd1a9496584eedab2ae9d69d9f4375690e041544351047f44ef6dab868f44ac8fb8bbc2f5d9aa598e4e4521132888b2cfef8a9#npm:5.0.2"],\ + ["@types/estree", "npm:1.0.0"],\ + ["@types/rollup", null],\ + ["estree-walker", "npm:2.0.2"],\ + ["picomatch", "npm:2.3.1"],\ + ["rollup", null]\ + ],\ + "packagePeers": [\ + "@types/rollup",\ + "rollup"\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["@rushstack/eslint-patch", [\ @@ -5503,6 +5555,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["countup.js", [\ + ["npm:2.3.2", {\ + "packageLocation": "./.yarn/cache/countup.js-npm-2.3.2-fce559ea32-77bb509cd1.zip/node_modules/countup.js/",\ + "packageDependencies": [\ + ["countup.js", "npm:2.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["create-hash", [\ ["npm:1.2.0", {\ "packageLocation": "./.yarn/cache/create-hash-npm-1.2.0-afd048e1ce-02a6ae3bb9.zip/node_modules/create-hash/",\ @@ -7342,6 +7403,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["next", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:13.0.5"],\ ["prettier", "npm:2.8.0"],\ ["react", "npm:18.2.0"],\ + ["react-countup", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:6.4.0"],\ ["react-dom", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:18.2.0"],\ ["react-is", "npm:18.2.0"],\ ["react-modal", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:3.16.1"],\ @@ -9180,6 +9242,30 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["react-countup", [\ + ["npm:6.4.0", {\ + "packageLocation": "./.yarn/cache/react-countup-npm-6.4.0-d1c6fe7973-259277fa70.zip/node_modules/react-countup/",\ + "packageDependencies": [\ + ["react-countup", "npm:6.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:6.4.0", {\ + "packageLocation": "./.yarn/__virtual__/react-countup-virtual-9555373101/0/cache/react-countup-npm-6.4.0-d1c6fe7973-259277fa70.zip/node_modules/react-countup/",\ + "packageDependencies": [\ + ["react-countup", "virtual:4b77e00d446246df1ed27001550885fbf1b51be18c660c1b5c357d3d763078ecef2a676194291a120f149b87573081e5af0621dc83cf1f83383639f39ac133c7#npm:6.4.0"],\ + ["@rollup/plugin-babel", "virtual:9555373101f58738ea803ff9e79b0d8b52a66e88c21dac99d127fd080df7e60c5efb4c82f30a042556261bfb95e0c5292626cc000800b004d622753bbf9e02e5#npm:6.0.3"],\ + ["@types/react", "npm:18.0.25"],\ + ["countup.js", "npm:2.3.2"],\ + ["react", "npm:18.2.0"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["react-dom", [\ ["npm:18.2.0", {\ "packageLocation": "./.yarn/cache/react-dom-npm-18.2.0-dd675bca1c-7d323310be.zip/node_modules/react-dom/",\ diff --git a/.yarn/cache/@rollup-plugin-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip b/.yarn/cache/@rollup-plugin-babel-npm-6.0.3-1259d28dd2-412c1c3bb5.zip new file mode 100644 index 0000000000000000000000000000000000000000..b4c5fefa89fdee5ef58b46cd8c88586a891adb16 GIT binary patch literal 19516 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 z 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

GHoCv=Tk)A(?0vA9l;7{x7Uq?!RpZzZnm7Ym? zAL-uzGwJ!k_3tC5=O#W6|I6*v-{1(7{|@}C+YrFyI3OVSz%Ngr=}>L|>%ad8lZZt} literal 0 HcmV?d00001 diff --git a/.yarn/cache/react-countup-npm-6.4.0-d1c6fe7973-259277fa70.zip b/.yarn/cache/react-countup-npm-6.4.0-d1c6fe7973-259277fa70.zip new file mode 100644 index 0000000000000000000000000000000000000000..180d69ab3ba2cbea6decf44a58934dc4832d47a4 GIT binary patch literal 12288 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 +export const Spinner = styled.div<{ animationDelay?: string }>` display: block; position: absolute; top: 0; diff --git a/constants/icns.ts b/constants/icns.ts index 805d0f9..719a6d8 100644 --- a/constants/icns.ts +++ b/constants/icns.ts @@ -20,6 +20,9 @@ export const RESOLVER_ADDRESS = process.env.NEXT_PUBLIC_ICNS_RESOLVER_CONTRACT_ADDRESS ?? "osmo1002awr7frr9wk44lc3vfzt0d2w6vz5z03ql6fszjsjy8vdcvk0sskruz3c"; +export const CLAIM_URL = + "https://lcd-osmosis.keplr.app/cosmwasm/wasm/v1/contract/osmo1mypljhatv0prfr9cjzzvamxdf2ctg34xkt50sudxads9zhqnyneqjuvy26/smart/eyJudW1fdG9rZW5zIjp7fX0="; + export const CHAIN_ALLOWLIST = process.env.NEXT_PUBLIC_CHAIN_ALLOWLIST || [ diff --git a/hooks/use-interval.tsx b/hooks/use-interval.tsx new file mode 100644 index 0000000..d30b06b --- /dev/null +++ b/hooks/use-interval.tsx @@ -0,0 +1,26 @@ +import { useEffect, useRef } from "react"; +import useIsomorphicLayoutEffect from "./use-isomorphic-layout-effect"; + +function useInterval(callback: () => void, delay: number | null) { + const savedCallback = useRef(callback); + + // Remember the latest callback if it changes. + useIsomorphicLayoutEffect(() => { + savedCallback.current = callback; + }, [callback]); + + // Set up the interval. + useEffect(() => { + // Don't schedule if no delay is specified. + // Note: 0 is a valid value for delay. + if (!delay && delay !== 0) { + return; + } + + const id = setInterval(() => savedCallback.current(), delay); + + return () => clearInterval(id); + }, [delay]); +} + +export default useInterval; diff --git a/hooks/use-isomorphic-layout-effect.tsx b/hooks/use-isomorphic-layout-effect.tsx new file mode 100644 index 0000000..d67ecc3 --- /dev/null +++ b/hooks/use-isomorphic-layout-effect.tsx @@ -0,0 +1,6 @@ +import { useEffect, useLayoutEffect } from "react"; + +const useIsomorphicLayoutEffect = + typeof window !== "undefined" ? useLayoutEffect : useEffect; + +export default useIsomorphicLayoutEffect; diff --git a/package.json b/package.json index 1eb0bbd..cd9f545 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "iron-session": "^6.3.1", "next": "13.0.5", "react": "18.2.0", + "react-countup": "^6.4.0", "react-dom": "18.2.0", "react-is": "^18.2.0", "react-modal": "^3.16.1", diff --git a/pages/index.tsx b/pages/index.tsx index ccd3717..9d9e115 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -6,17 +6,23 @@ import color from "../styles/color"; // Components import { ConnectWalletModal } from "../components/connect-wallet-modal"; -import { PrimaryButton } from "../components/primary-button"; +import { + PrimaryButton, + Spinner, + SpinnerWrapper, +} from "../components/primary-button"; // Image Assets import { useEffect, useState } from "react"; import { Logo } from "../components/logo"; -import { REFERRAL_KEY } from "../constants/icns"; +import { CLAIM_URL, REFERRAL_KEY } from "../constants/icns"; import { SELECTED_WALLET_KEY } from "../constants/wallet"; import StarIcon from "../public/images/svg/bg-asset-3.svg"; import CheckIcon from "../public/images/svg/check-icon.svg"; import MainLogo from "../public/images/svg/main-logo.svg"; import MainTitle from "../public/images/svg/main-title.svg"; +import CountUp from "react-countup"; +import useInterval from "../hooks/use-interval"; export default function Home() { const [currentReferral, setCurrentReferral] = useState(""); @@ -24,6 +30,8 @@ export default function Home() { const [isConnectWalletModalOpen, setIsConnectWalletModalOpen] = useState(false); + const [count, setCount] = useState<{ start: number; end: number }>(); + const onClickConnectWalletButton = async () => { amplitude.track("click connect wallet button"); @@ -46,10 +54,46 @@ export default function Home() { localStorage.removeItem(SELECTED_WALLET_KEY); }, []); + useEffect(() => { + setTimeout(() => { + countUpCallback(); + }, 1000); + }, []); + + useInterval(async () => { + await countUpCallback(); + }, 10000); + + const countUpCallback = async () => { + const response: { data: { count: number } } = await ( + await fetch(CLAIM_URL) + ).json(); + + setCount({ + start: (count?.end ?? 100) - 100, + end: response.data.count, + }); + }; + return ( + + {count ? ( + + + + ) : ( + + + + + + + )} + ICNS names claimed so far + @@ -150,6 +194,45 @@ const MainContainer = styled.div` } `; +const CountUpContainer = styled.div` + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 1.25rem; + + width: calc(25rem - 2px); + height: calc(5rem - 2px); + + position: absolute; + + margin-top: calc(10rem + 2px); + margin-left: calc(55rem + 2px); + + background-color: ${color.black}; +`; + +const CountUpText = styled.div` + font-family: "Inter", serif; + font-style: normal; + font-weight: 600; + font-size: 1rem; + line-height: 1.2rem; + letter-spacing: 0.46rem; + + color: ${color.white}; +`; + +const CountUpDescription = styled.div` + font-family: "Inter", serif; + font-style: normal; + font-weight: 500; + font-size: 0.875rem; + line-height: 1.1rem; + + color: ${color.grey["400"]}; +`; + const MainTitleContainer = styled.div` display: flex; flex-direction: column; diff --git a/yarn.lock b/yarn.lock index 8c7caa2..d3579c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2090,6 +2090,25 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-babel@npm:^6.0.2": + version: 6.0.3 + resolution: "@rollup/plugin-babel@npm:6.0.3" + dependencies: + "@babel/helper-module-imports": ^7.18.6 + "@rollup/pluginutils": ^5.0.1 + peerDependencies: + "@babel/core": ^7.0.0 + "@types/babel__core": ^7.1.9 + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + "@types/babel__core": + optional: true + rollup: + optional: true + checksum: 412c1c3bb5dd029cbf0b37315ad54b51ef378b8d2fd91d1ec44d73cade723cec8718b5affa2ce8a8b06660710d11765056fac4068521f18737ce26142506a8b1 + languageName: node + linkType: hard + "@rollup/plugin-sucrase@npm:4.0.4": version: 4.0.4 resolution: "@rollup/plugin-sucrase@npm:4.0.4" @@ -2124,6 +2143,22 @@ __metadata: languageName: node linkType: hard +"@rollup/pluginutils@npm:^5.0.1": + version: 5.0.2 + resolution: "@rollup/pluginutils@npm:5.0.2" + dependencies: + "@types/estree": ^1.0.0 + estree-walker: ^2.0.2 + picomatch: ^2.3.1 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: edea15e543bebc7dcac3b0ac8bc7b8e8e6dbd46e2864dbe5dd28072de1fbd5b0e10d545a610c0edaa178e8a7ac432e2a2a52e547ece1308471412caba47db8ce + languageName: node + linkType: hard + "@rushstack/eslint-patch@npm:^1.1.3": version: 1.2.0 resolution: "@rushstack/eslint-patch@npm:1.2.0" @@ -2546,7 +2581,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*": +"@types/estree@npm:*, @types/estree@npm:^1.0.0": version: 1.0.0 resolution: "@types/estree@npm:1.0.0" checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 @@ -3773,6 +3808,13 @@ __metadata: languageName: node linkType: hard +"countup.js@npm:^2.3.2": + version: 2.3.2 + resolution: "countup.js@npm:2.3.2" + checksum: 77bb509cd17619568c8d841f9dbba7d75c70948d7f9acd0a1acea80e3894c4b4173e27e8896268c1f53415ebee465229f1e623da5ad759083a618484ac4f9b60 + languageName: node + linkType: hard + "create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": version: 1.2.0 resolution: "create-hash@npm:1.2.0" @@ -4600,7 +4642,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.1": +"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc @@ -5243,6 +5285,7 @@ __metadata: next: 13.0.5 prettier: ^2.8.0 react: 18.2.0 + react-countup: ^6.4.0 react-dom: 18.2.0 react-is: ^18.2.0 react-modal: ^3.16.1 @@ -6862,6 +6905,18 @@ __metadata: languageName: node linkType: hard +"react-countup@npm:^6.4.0": + version: 6.4.0 + resolution: "react-countup@npm:6.4.0" + dependencies: + "@rollup/plugin-babel": ^6.0.2 + countup.js: ^2.3.2 + peerDependencies: + react: ">= 16.3.0" + checksum: 259277fa70fc778fa3d67b375f5c44fdc3c8e5c9cc73225605f456adff31406966ff00379cb23ec771cb624a70c91c46d8216583c9dfc3fedb69071d31cb3208 + languageName: node + linkType: hard + "react-dom@npm:18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" From 5a67d14139a2dba7f8f85f5b34203c90ca58c63c Mon Sep 17 00:00:00 2001 From: HeesungB Date: Wed, 21 Dec 2022 22:39:24 +0900 Subject: [PATCH 6/8] Add invite copy button --- components/twitter-profile/index.tsx | 127 ++++++++++++++++++++++++++- pages/verification/index.tsx | 5 +- public/images/svg/icns-logo.svg | 13 +++ 3 files changed, 141 insertions(+), 4 deletions(-) create mode 100644 public/images/svg/icns-logo.svg diff --git a/components/twitter-profile/index.tsx b/components/twitter-profile/index.tsx index 72a8598..0161fa5 100644 --- a/components/twitter-profile/index.tsx +++ b/components/twitter-profile/index.tsx @@ -1,18 +1,77 @@ import color from "../../styles/color"; import styled from "styled-components"; import { TwitterAuthInfoResponse } from "../../types"; -import { FunctionComponent } from "react"; +import { FunctionComponent, useEffect, useState } from "react"; import Image from "next/image"; +import ICNSIcon from "../../public/images/svg/icns-logo.svg"; + interface Props { + isOwner?: boolean; twitterProfileInformation?: TwitterAuthInfoResponse | null; } export const TwitterProfile: FunctionComponent = (props) => { - const { twitterProfileInformation } = props; + const { isOwner, twitterProfileInformation } = props; + const [isCopied, setIsCopied] = useState(false); + + const onClickInviteLink = async () => { + await navigator.clipboard.writeText( + `https://app.icns.xyz?referral=${twitterProfileInformation?.username}`, + ); + + setIsCopied(true); + + setTimeout(() => { + setIsCopied(false); + }, 1000); + }; return ( + {isCopied ? ( + + copied + + + + + ) : ( + + copy invite link + + + + + + )} = (props) => { - {twitterProfileInformation?.name} + {twitterProfileInformation?.name} + + {isOwner ? ( + + + + ) : null} @{twitterProfileInformation?.username} @@ -58,6 +123,8 @@ export const ProfileContainer = styled.div` display: flex; flex-direction: row; + position: relative; + width: 100%; padding: 1.5rem 2rem; @@ -65,6 +132,45 @@ export const ProfileContainer = styled.div` background-color: ${(props) => props.color}; `; +const CopyIcon = styled.svg` + stroke: ${color.grey["100"]}; +`; + +const CopiedIcon = styled.svg` + stroke: ${color.grey["100"]}; +`; + +export const InviteLinkContainer = styled.div` + display: flex; + flex-direction: row; + align-items: center; + gap: 0.2rem; + + position: absolute; + + top: 1.75rem; + right: 1.5rem; + + font-family: "Inter", serif; + font-style: normal; + font-weight: 600; + font-size: 0.875rem; + line-height: 0.875rem; + text-transform: uppercase; + + color: ${color.grey["100"]}; + + cursor: pointer; + + &:hover { + color: ${color.grey["200"]}; + + ${CopyIcon} { + stroke: ${color.grey["200"]}; + } + } +`; + export const ProfileContentContainer = styled.div` display: flex; flex-direction: column; @@ -87,6 +193,12 @@ export const ProfileImageContainer = styled.div` `; export const ProfileNameContainer = styled.div` + display: flex; + flex-direction: row; + align-items: center; +`; + +export const ProfileName = styled.div` font-weight: 600; font-size: 1.2rem; line-height: 1.5rem; @@ -94,6 +206,15 @@ export const ProfileNameContainer = styled.div` color: ${color.white}; `; +export const IsOwnerIcon = styled.div` + height: 1px; + background-color: red; + margin-top: 0.1rem; + + display: flex; + align-items: center; +`; + export const ProfileUserNameContainer = styled.div` font-weight: 500; font-size: 0.8rem; diff --git a/pages/verification/index.tsx b/pages/verification/index.tsx index 49a46b3..03a3103 100644 --- a/pages/verification/index.tsx +++ b/pages/verification/index.tsx @@ -554,7 +554,10 @@ export default function VerificationPage() { ) : ( - + Chain List + + + + + + + + + + + + From 5a8878c9e31ac6ae219cd2e7227f1a79ebad5f18 Mon Sep 17 00:00:00 2001 From: Thunnini Date: Wed, 21 Dec 2022 23:10:18 +0900 Subject: [PATCH 7/8] Show invite link only to registered twitter user --- components/twitter-profile/index.tsx | 93 ++++++++++++++-------------- pages/verification/index.tsx | 10 +++ 2 files changed, 58 insertions(+), 45 deletions(-) diff --git a/components/twitter-profile/index.tsx b/components/twitter-profile/index.tsx index 0161fa5..00d14bf 100644 --- a/components/twitter-profile/index.tsx +++ b/components/twitter-profile/index.tsx @@ -8,16 +8,17 @@ import ICNSIcon from "../../public/images/svg/icns-logo.svg"; interface Props { isOwner?: boolean; + registeredTwitterName?: string; twitterProfileInformation?: TwitterAuthInfoResponse | null; } export const TwitterProfile: FunctionComponent = (props) => { - const { isOwner, twitterProfileInformation } = props; + const { isOwner, registeredTwitterName, twitterProfileInformation } = props; const [isCopied, setIsCopied] = useState(false); const onClickInviteLink = async () => { await navigator.clipboard.writeText( - `https://app.icns.xyz?referral=${twitterProfileInformation?.username}`, + `https://app.icns.xyz?referral=${registeredTwitterName}`, ); setIsCopied(true); @@ -29,49 +30,51 @@ export const TwitterProfile: FunctionComponent = (props) => { return ( - {isCopied ? ( - - copied - - - - - ) : ( - - copy invite link - - - - - - )} + {registeredTwitterName ? ( + isCopied ? ( + + copied + + + + + ) : ( + + copy invite link + + + + + + ) + ) : null} From 3f4fc8c9a60a81cb84da2b9f677f2bfde5cd349e Mon Sep 17 00:00:00 2001 From: Thunnini Date: Wed, 21 Dec 2022 23:17:04 +0900 Subject: [PATCH 8/8] Give a priority to twitter name which actually registered on chain --- pages/verification/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/verification/index.tsx b/pages/verification/index.tsx index d027802..eaa672a 100644 --- a/pages/verification/index.tsx +++ b/pages/verification/index.tsx @@ -474,7 +474,7 @@ export default function VerificationPage() { pathname: "complete", query: { txHash: Buffer.from(txHash).toString("hex"), - twitterUsername: twitterInfo.username, + twitterUsername: registeredTwitterName || twitterInfo.username, }, }); }