diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index ef0b139..1954521 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -28,5 +28,5 @@ jobs: dist_path: . enable_notify_comment: true enable_notify_slack: true - slack_channel: public-darwinia-websites-apps + slack_channel: public-ringdao-apps slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/deploy-prd.yml index 422ee36..c4b9969 100644 --- a/.github/workflows/deploy-prd.yml +++ b/.github/workflows/deploy-prd.yml @@ -29,6 +29,6 @@ jobs: script_run: false dist_path: . enable_notify_slack: true - slack_channel: public-darwinia-websites-apps + slack_channel: public-ringdao-apps slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/deploy-stg.yml index e6e0464..c69b21e 100644 --- a/.github/workflows/deploy-stg.yml +++ b/.github/workflows/deploy-stg.yml @@ -29,5 +29,5 @@ jobs: dist_path: . enable_notify_comment: true enable_notify_slack: true - slack_channel: public-darwinia-websites-apps + slack_channel: public-ringdao-apps slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f8acd65 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ + +FROM node:21-alpine + +COPY . /app + +RUN yarn install && yarn build + + + diff --git a/next.config.js b/next.config.js index f469222..fcf9515 100644 --- a/next.config.js +++ b/next.config.js @@ -3,7 +3,7 @@ const nextConfig = { webpack: (config) => { config.externals.push("lokijs", "encoding", "pino-pretty"); return config; - }, + } }; module.exports = nextConfig; diff --git a/package-lock.json b/package-lock.json index 79ec955..7a70a14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@polkadot/api": "^12.3.1", "@polkadot/react-identicon": "^3.6.3", "@rainbow-me/rainbowkit": "^1.1.3", + "@react-spring/web": "^9.5.0", "@talismn/connect-wallets": "^1.2.3", "next": "13.5.4", "react": "^18", @@ -3937,6 +3938,73 @@ "wagmi": "~1.0.1 || ~1.1.0 || ~1.2.0 || ~1.3.0 || ~1.4.0" } }, + "node_modules/@react-spring/animated": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.5.5.tgz", + "integrity": "sha512-glzViz7syQ3CE6BQOwAyr75cgh0qsihm5lkaf24I0DfU63cMm/3+br299UEYkuaHNmfDfM414uktiPlZCNJbQA==", + "dependencies": { + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/core": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.5.5.tgz", + "integrity": "sha512-shaJYb3iX18Au6gkk8ahaF0qx0LpS0Yd+ajb4asBaAQf6WPGuEdJsbsNSgei1/O13JyEATsJl20lkjeslJPMYA==", + "dependencies": { + "@react-spring/animated": "~9.5.5", + "@react-spring/rafz": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/rafz": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.5.5.tgz", + "integrity": "sha512-F/CLwB0d10jL6My5vgzRQxCNY2RNyDJZedRBK7FsngdCmzoq3V4OqqNc/9voJb9qRC2wd55oGXUeXv2eIaFmsw==" + }, + "node_modules/@react-spring/shared": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.5.5.tgz", + "integrity": "sha512-YwW70Pa/YXPOwTutExHZmMQSHcNC90kJOnNR4G4mCDNV99hE98jWkIPDOsgqbYx3amIglcFPiYKMaQuGdr8dyQ==", + "dependencies": { + "@react-spring/rafz": "~9.5.5", + "@react-spring/types": "~9.5.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/types": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.5.5.tgz", + "integrity": "sha512-7I/qY8H7Enwasxr4jU6WmtNK+RZ4Z/XvSlDvjXFVe7ii1x0MoSlkw6pD7xuac8qrHQRm9BTcbZNyeeKApYsvCg==" + }, + "node_modules/@react-spring/web": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.5.0.tgz", + "integrity": "sha512-fq33Og23zCLxH7HELdOyAk0pWtwbSsk8MzPenN2JZMYI1dElB208r4CedM78TPY99YWIY2XRJ45VxbikxVeWLQ==", + "dependencies": { + "@react-spring/animated": "~9.5.0", + "@react-spring/core": "~9.5.0", + "@react-spring/shared": "~9.5.0", + "@react-spring/types": "~9.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || >=17.0.0 || >=18.0.0", + "react-dom": "^16.8.0 || >=17.0.0 || >=18.0.0" + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", @@ -14552,6 +14620,56 @@ "react-remove-scroll": "2.5.4" } }, + "@react-spring/animated": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.5.5.tgz", + "integrity": "sha512-glzViz7syQ3CE6BQOwAyr75cgh0qsihm5lkaf24I0DfU63cMm/3+br299UEYkuaHNmfDfM414uktiPlZCNJbQA==", + "requires": { + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/core": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.5.5.tgz", + "integrity": "sha512-shaJYb3iX18Au6gkk8ahaF0qx0LpS0Yd+ajb4asBaAQf6WPGuEdJsbsNSgei1/O13JyEATsJl20lkjeslJPMYA==", + "requires": { + "@react-spring/animated": "~9.5.5", + "@react-spring/rafz": "~9.5.5", + "@react-spring/shared": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/rafz": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.5.5.tgz", + "integrity": "sha512-F/CLwB0d10jL6My5vgzRQxCNY2RNyDJZedRBK7FsngdCmzoq3V4OqqNc/9voJb9qRC2wd55oGXUeXv2eIaFmsw==" + }, + "@react-spring/shared": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.5.5.tgz", + "integrity": "sha512-YwW70Pa/YXPOwTutExHZmMQSHcNC90kJOnNR4G4mCDNV99hE98jWkIPDOsgqbYx3amIglcFPiYKMaQuGdr8dyQ==", + "requires": { + "@react-spring/rafz": "~9.5.5", + "@react-spring/types": "~9.5.5" + } + }, + "@react-spring/types": { + "version": "9.5.5", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.5.5.tgz", + "integrity": "sha512-7I/qY8H7Enwasxr4jU6WmtNK+RZ4Z/XvSlDvjXFVe7ii1x0MoSlkw6pD7xuac8qrHQRm9BTcbZNyeeKApYsvCg==" + }, + "@react-spring/web": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.5.0.tgz", + "integrity": "sha512-fq33Og23zCLxH7HELdOyAk0pWtwbSsk8MzPenN2JZMYI1dElB208r4CedM78TPY99YWIY2XRJ45VxbikxVeWLQ==", + "requires": { + "@react-spring/animated": "~9.5.0", + "@react-spring/core": "~9.5.0", + "@react-spring/shared": "~9.5.0", + "@react-spring/types": "~9.5.0" + } + }, "@rushstack/eslint-patch": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", diff --git a/package.json b/package.json index 396df1a..b0f9970 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@polkadot/api": "^12.3.1", "@polkadot/react-identicon": "^3.6.3", "@rainbow-me/rainbowkit": "^1.1.3", + "@react-spring/web": "^9.5.0", "@talismn/connect-wallets": "^1.2.3", "next": "13.5.4", "react": "^18", diff --git a/public/fonts/EuclidCircularA/Euclid Circular A Bold Italic.ttf b/public/fonts/EuclidCircularA/Euclid Circular A Bold Italic.ttf new file mode 100644 index 0000000..3f4e417 Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A Bold Italic.ttf differ diff --git a/public/fonts/EuclidCircularA/Euclid Circular A Italic.ttf b/public/fonts/EuclidCircularA/Euclid Circular A Italic.ttf new file mode 100644 index 0000000..a445215 Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A Italic.ttf differ diff --git a/public/fonts/EuclidCircularA/Euclid Circular A Light Italic.ttf b/public/fonts/EuclidCircularA/Euclid Circular A Light Italic.ttf new file mode 100644 index 0000000..9b617da Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A Light Italic.ttf differ diff --git a/public/fonts/EuclidCircularA/Euclid Circular A Medium Italic.ttf b/public/fonts/EuclidCircularA/Euclid Circular A Medium Italic.ttf new file mode 100644 index 0000000..68732af Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A Medium Italic.ttf differ diff --git a/public/fonts/EuclidCircularA/Euclid Circular A SemiBold Italic.ttf b/public/fonts/EuclidCircularA/Euclid Circular A SemiBold Italic.ttf new file mode 100644 index 0000000..a95e6c4 Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A SemiBold Italic.ttf differ diff --git a/public/fonts/EuclidCircularA/Euclid Circular A SemiBold.ttf b/public/fonts/EuclidCircularA/Euclid Circular A SemiBold.ttf new file mode 100644 index 0000000..36616c4 Binary files /dev/null and b/public/fonts/EuclidCircularA/Euclid Circular A SemiBold.ttf differ diff --git a/public/fonts/EuclidCircularA/EuclidCircularABold.ttf b/public/fonts/EuclidCircularA/EuclidCircularABold.ttf new file mode 100644 index 0000000..1a5c3bf Binary files /dev/null and b/public/fonts/EuclidCircularA/EuclidCircularABold.ttf differ diff --git a/public/fonts/EuclidCircularA/EuclidCircularALight.ttf b/public/fonts/EuclidCircularA/EuclidCircularALight.ttf new file mode 100644 index 0000000..6a60f9b Binary files /dev/null and b/public/fonts/EuclidCircularA/EuclidCircularALight.ttf differ diff --git a/public/fonts/EuclidCircularA/EuclidCircularAMedium.ttf b/public/fonts/EuclidCircularA/EuclidCircularAMedium.ttf new file mode 100644 index 0000000..3661986 Binary files /dev/null and b/public/fonts/EuclidCircularA/EuclidCircularAMedium.ttf differ diff --git a/public/fonts/EuclidCircularA/EuclidCircularARegular.ttf b/public/fonts/EuclidCircularA/EuclidCircularARegular.ttf new file mode 100644 index 0000000..b78b394 Binary files /dev/null and b/public/fonts/EuclidCircularA/EuclidCircularARegular.ttf differ diff --git a/public/images/asset/dot.svg b/public/images/asset/dot.svg new file mode 100644 index 0000000..9d5bad6 --- /dev/null +++ b/public/images/asset/dot.svg @@ -0,0 +1,14 @@ + + + diff --git a/public/images/icons/assethub-icon.svg b/public/images/icons/assethub-icon.svg new file mode 100644 index 0000000..4d2e150 --- /dev/null +++ b/public/images/icons/assethub-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/copy-icon.svg b/public/images/icons/copy-icon.svg new file mode 100644 index 0000000..ef9105d --- /dev/null +++ b/public/images/icons/copy-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/images/icons/darwinia-icon.svg b/public/images/icons/darwinia-icon.svg new file mode 100644 index 0000000..1821ac2 --- /dev/null +++ b/public/images/icons/darwinia-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/disconnect-icon.svg b/public/images/icons/disconnect-icon.svg new file mode 100644 index 0000000..192d50d --- /dev/null +++ b/public/images/icons/disconnect-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/downarrow-icon.svg b/public/images/icons/downarrow-icon.svg new file mode 100644 index 0000000..e5cd8fd --- /dev/null +++ b/public/images/icons/downarrow-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/icons/email-icon.svg b/public/images/icons/email-icon.svg new file mode 100644 index 0000000..999a8cd --- /dev/null +++ b/public/images/icons/email-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/icons/github-icon.svg b/public/images/icons/github-icon.svg new file mode 100644 index 0000000..efe173b --- /dev/null +++ b/public/images/icons/github-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/icons/hydration-icon.svg b/public/images/icons/hydration-icon.svg new file mode 100644 index 0000000..baf4a3b --- /dev/null +++ b/public/images/icons/hydration-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/pending-icon.svg b/public/images/icons/pending-icon.svg new file mode 100644 index 0000000..544d048 --- /dev/null +++ b/public/images/icons/pending-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/pink-icon.png b/public/images/icons/pink-icon.png new file mode 100644 index 0000000..282f059 Binary files /dev/null and b/public/images/icons/pink-icon.png differ diff --git a/public/images/icons/ring-icon.svg b/public/images/icons/ring-icon.svg new file mode 100644 index 0000000..e85b8de --- /dev/null +++ b/public/images/icons/ring-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/success-icon.svg b/public/images/icons/success-icon.svg new file mode 100644 index 0000000..98acdd4 --- /dev/null +++ b/public/images/icons/success-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/telegram-icon.svg b/public/images/icons/telegram-icon.svg new file mode 100644 index 0000000..f190ba3 --- /dev/null +++ b/public/images/icons/telegram-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/icons/usdt-icon.svg b/public/images/icons/usdt-icon.svg new file mode 100644 index 0000000..c1fa5f1 --- /dev/null +++ b/public/images/icons/usdt-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/wallet-icon.svg b/public/images/icons/wallet-icon.svg new file mode 100644 index 0000000..09a027b --- /dev/null +++ b/public/images/icons/wallet-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/x-icon.svg b/public/images/icons/x-icon.svg new file mode 100644 index 0000000..926b865 --- /dev/null +++ b/public/images/icons/x-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/network/astar.svg b/public/images/network/astar.svg new file mode 100644 index 0000000..21c2bea --- /dev/null +++ b/public/images/network/astar.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/network/bifrost.svg b/public/images/network/bifrost.svg new file mode 100644 index 0000000..6b39290 --- /dev/null +++ b/public/images/network/bifrost.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/network/centrufuge.svg b/public/images/network/centrufuge.svg new file mode 100644 index 0000000..02956ea --- /dev/null +++ b/public/images/network/centrufuge.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/paralink-logo.svg b/public/images/paralink-logo.svg new file mode 100644 index 0000000..08a45b9 --- /dev/null +++ b/public/images/paralink-logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/wallet/coinbase.svg b/public/images/wallet/coinbase.svg new file mode 100644 index 0000000..c47fdf9 --- /dev/null +++ b/public/images/wallet/coinbase.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/wallet/metamask.png b/public/images/wallet/metamask.png new file mode 100644 index 0000000..8f89676 Binary files /dev/null and b/public/images/wallet/metamask.png differ diff --git a/public/images/wallet/nova.svg b/public/images/wallet/nova.svg new file mode 100644 index 0000000..722da83 --- /dev/null +++ b/public/images/wallet/nova.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + diff --git a/public/images/wallet/polkadot.png b/public/images/wallet/polkadot.png new file mode 100644 index 0000000..5bbdbfb Binary files /dev/null and b/public/images/wallet/polkadot.png differ diff --git a/public/images/wallet/ronin.svg b/public/images/wallet/ronin.svg new file mode 100644 index 0000000..131f651 --- /dev/null +++ b/public/images/wallet/ronin.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + diff --git a/public/images/wallet/sub-wallet.png b/public/images/wallet/sub-wallet.png new file mode 100644 index 0000000..01bd377 Binary files /dev/null and b/public/images/wallet/sub-wallet.png differ diff --git a/public/images/wallet/wallet-connect.svg b/public/images/wallet/wallet-connect.svg new file mode 100644 index 0000000..d90457a --- /dev/null +++ b/public/images/wallet/wallet-connect.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/globals.css b/src/app/globals.css index e77b20f..6254e50 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -26,6 +26,36 @@ body { rgb(var(--background-start-rgb)); } */ +@font-face { + font-family: JetBrainsMono; + src: url("/fonts/EuclidCircularA/EuclidCircularALight.ttf") format("woff2"); + font-wheit: 100; +} +@font-face { + font-family: EuclidCircularA; + src: url("/fonts/EuclidCircularA/EuclidCircularALight.ttf") format("woff2"); + font-wheit: 300; +} +@font-face { + font-family: EuclidCircularA; + src: url("/fonts/EuclidCircularA/EuclidCircularARegular.ttf") format("woff2"); + font-wheit: 400; +} +@font-face { + font-family: EuclidCircularA; + src: url("/fonts/EuclidCircularA/EuclidCircularAMedium.ttf") format("woff2"); + font-wheit: 500; +} +@font-face { + font-family: EuclidCircularA; + src: url("/fonts/EuclidCircularA/EuclidCircularABold.ttf") format("woff2"); + font-wheit: 700; +} + +html { + font-family: EuclidCircularA; +} + @layer components { .border-radius { @apply rounded-2xl; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 958df21..d65ef54 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,10 +2,10 @@ import RainbowProvider from "@/providers/rainbow-provider"; import "./globals.css"; import type { Metadata } from "next"; import { Inter } from "next/font/google"; -import Header from "@/components/header"; -import Footer from "@/components/footer"; import TalismanProvider from "@/providers/talisman-provider"; import TransferProvider from "@/providers/transfer-provider"; +import Header from "@/components/header"; +import Footer from "@/components/footer"; const inter = Inter({ subsets: ["latin"] }); @@ -17,8 +17,10 @@ export const metadata: Metadata = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - - + + diff --git a/src/app/oladPage.tsx b/src/app/oladPage.tsx new file mode 100644 index 0000000..85e0125 --- /dev/null +++ b/src/app/oladPage.tsx @@ -0,0 +1,10 @@ +import Transfer from "@/old_components/transfer"; +import PageWrap from "@/old_components/page-wrap"; + +export default function Home() { + return ( + + + + ); +} diff --git a/src/app/oldLayout.tsx b/src/app/oldLayout.tsx new file mode 100644 index 0000000..a35e376 --- /dev/null +++ b/src/app/oldLayout.tsx @@ -0,0 +1,34 @@ +import RainbowProvider from "@/providers/rainbow-provider"; +import "./globals.css"; +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import Header from "@/old_components/header"; +import Footer from "@/old_components/footer"; +import TalismanProvider from "@/providers/talisman-provider"; +import TransferProvider from "@/providers/transfer-provider"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Darwinia Paralink", + description: "A user-friendly UI for XCM token transfers across various parachains.", + manifest: "/manifest.json", +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + + + +
+ {children} +