diff --git a/.changeset/config.json b/.changeset/config.json index 29829f18c..041f4723f 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -7,5 +7,5 @@ "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", - "ignore": ["@helixbridge/web"] + "ignore": ["helix", "helixbox-home", "helixbox-app"] } diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/app-deploy-dev.yml similarity index 70% rename from .github/workflows/deploy-dev.yml rename to .github/workflows/app-deploy-dev.yml index 7f93da120..fcc7c012d 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/app-deploy-dev.yml @@ -1,9 +1,9 @@ -name: Deploy development +name: Deploy development (app) on: pull_request: paths: - - "apps/web/**" + - "apps/helixbox-app/**" workflow_dispatch: jobs: @@ -17,34 +17,36 @@ jobs: uses: pnpm/action-setup@v4 - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (mainnet) + name: Deploy app (mainnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-mainnet preview_output: true - alias_domain: "helix-dev-mainnet" + alias_domain: "helixbox-dev-mainnet" project_name: "helix-apps" script_install: pnpm install - script_build: pnpm web build:mainnet - dist_path: apps/web/dist + script_build: pnpm app build:mainnet + dist_path: apps/helixbox-app/dist enable_notify_comment: true enable_notify_slack: true slack_channel: helix-ui slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (testnet) + name: Deploy app (testnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-testnet preview_output: true - alias_domain: "helix-dev-testnet" + alias_domain: "helixbox-dev-testnet" project_name: "helix-apps-test" script_install: pnpm install - script_build: pnpm web build:testnet - dist_path: apps/web/dist + script_build: pnpm app build:testnet + dist_path: apps/helixbox-app/dist enable_notify_comment: true enable_notify_slack: true slack_channel: helix-ui diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/app-deploy-prd.yml similarity index 75% rename from .github/workflows/deploy-prd.yml rename to .github/workflows/app-deploy-prd.yml index 830890d71..68596897a 100644 --- a/.github/workflows/deploy-prd.yml +++ b/.github/workflows/app-deploy-prd.yml @@ -1,9 +1,9 @@ -name: Deploy production +name: Deploy production (app) on: push: tags: - - "v*" + - "app-v*" jobs: deploy-package: @@ -16,17 +16,18 @@ jobs: uses: pnpm/action-setup@v4 - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (mainnet) + name: Deploy app (mainnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-mainnet preview_output: true prod_mode: true project_name: "helix-apps" script_install: pnpm install - script_build: pnpm web build:mainnet - dist_path: apps/web/dist + script_build: pnpm app build:mainnet + dist_path: apps/helixbox-app/dist enable_notify_slack: true slack_channel: helix-ui slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} @@ -34,17 +35,18 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (testnet) + name: Deploy app (testnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-testnet preview_output: true - alias_domain: "testnet.helixbridge.app" + alias_domain: "testnet.app.helix.box" project_name: "helix-apps-test" script_install: pnpm install - script_build: pnpm web build:testnet - dist_path: apps/web/dist + script_build: pnpm app build:testnet + dist_path: apps/helixbox-app/dist enable_notify_slack: true slack_channel: helix-ui slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} @@ -68,9 +70,9 @@ jobs: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} run: | pnpm install - pnpm web build:mainnet - mv apps/web/fleek.config.json apps/web/dist - cd apps/web/dist + pnpm app build:mainnet + mv apps/helixbox-app/fleek.config.json apps/helixbox-app/dist + cd apps/helixbox-app/dist npm i -g @fleek-platform/cli fleek projects switch --id=clwordxrq0003igm26h2r52n1 diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/app-deploy-stg.yml similarity index 69% rename from .github/workflows/deploy-stg.yml rename to .github/workflows/app-deploy-stg.yml index f0487a788..28a83e8a0 100644 --- a/.github/workflows/deploy-stg.yml +++ b/.github/workflows/app-deploy-stg.yml @@ -1,9 +1,9 @@ -name: Deploy staging +name: Deploy staging (app) on: push: branches: [main] - paths: ["apps/web/**"] + paths: ["apps/helixbox-app/**"] workflow_dispatch: jobs: @@ -17,33 +17,35 @@ jobs: uses: pnpm/action-setup@v4 - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (mainnet) + name: Deploy app (mainnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-mainnet preview_output: true - alias_domain: "helix-stg-mainnet" + alias_domain: "helixbox-stg-mainnet" project_name: "helix-apps" script_install: pnpm install - script_build: pnpm web build:mainnet - dist_path: apps/web/dist + script_build: pnpm app build:mainnet + dist_path: apps/helixbox-app/dist enable_notify_slack: true slack_channel: helix-ui slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} - uses: darwinia-network/devops/actions/smart-vercel@main - name: Deploy web (testnet) + name: Deploy app (testnet) with: node_version: 20 vercel_token: ${{ secrets.VERCEL_TOKEN }} vercel_group: itering + preview_section: helix-app-testnet preview_output: true - alias_domain: "helix-stg-testnet" + alias_domain: "helixbox-stg-testnet" project_name: "helix-apps-test" script_install: pnpm install - script_build: pnpm web build:testnet - dist_path: apps/web/dist + script_build: pnpm app build:testnet + dist_path: apps/helixbox-app/dist enable_notify_slack: true slack_channel: helix-ui slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/.github/workflows/helix-deploy-dev.yml b/.github/workflows/helix-deploy-dev.yml new file mode 100644 index 000000000..5e0579a71 --- /dev/null +++ b/.github/workflows/helix-deploy-dev.yml @@ -0,0 +1,34 @@ +name: Deploy development (helix) + +on: + pull_request: + paths: + - "apps/helix/**" + workflow_dispatch: + +jobs: + deploy-package: + name: Deploy package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - uses: darwinia-network/devops/actions/smart-vercel@main + name: Deploy helix + with: + node_version: 20 + vercel_token: ${{ secrets.VERCEL_TOKEN }} + vercel_group: itering + preview_section: helix-redirect + preview_output: true + project_name: "helix-redirect-page" + script_install: pnpm install + script_build: pnpm helix build + dist_path: apps/helix/dist + enable_notify_comment: true + enable_notify_slack: true + slack_channel: helix-ui + slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/.github/workflows/helix-deploy-prd.yml b/.github/workflows/helix-deploy-prd.yml new file mode 100644 index 000000000..01bf32794 --- /dev/null +++ b/.github/workflows/helix-deploy-prd.yml @@ -0,0 +1,35 @@ +name: Deploy production (helix) + +on: + push: + tags: + - "helix-v*" + +jobs: + deploy-package: + name: Deploy package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - uses: darwinia-network/devops/actions/smart-vercel@main + name: Deploy helix + with: + node_version: 20 + vercel_token: ${{ secrets.VERCEL_TOKEN }} + vercel_group: itering + preview_section: helix-redirect + preview_output: true + prod_mode: true + project_name: "helix-redirect-page" + script_install: pnpm install + script_build: pnpm helix build + dist_path: apps/helix/dist + enable_notify_slack: true + slack_channel: helix-ui + slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} diff --git a/.github/workflows/home-deploy-dev.yml b/.github/workflows/home-deploy-dev.yml new file mode 100644 index 000000000..b80ad0e7e --- /dev/null +++ b/.github/workflows/home-deploy-dev.yml @@ -0,0 +1,34 @@ +name: Deploy development (home) + +on: + pull_request: + paths: + - "apps/helixbox-home/**" + workflow_dispatch: + +jobs: + deploy-package: + name: Deploy package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - uses: darwinia-network/devops/actions/smart-vercel@main + name: Deploy home + with: + node_version: 20 + vercel_token: ${{ secrets.VERCEL_TOKEN }} + vercel_group: itering + preview_section: helix-home + preview_output: true + project_name: "helix-home" + script_install: pnpm install + script_build: pnpm run home build + dist_path: apps/helixbox-home/dist + enable_notify_comment: true + enable_notify_slack: true + slack_channel: helix-ui + slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} diff --git a/.github/workflows/home-deploy-prd.yml b/.github/workflows/home-deploy-prd.yml new file mode 100644 index 000000000..15f2d0a87 --- /dev/null +++ b/.github/workflows/home-deploy-prd.yml @@ -0,0 +1,35 @@ +name: Deploy production (home) + +on: + push: + tags: + - "home-v*" + +jobs: + deploy-package: + name: Deploy package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - uses: darwinia-network/devops/actions/smart-vercel@main + name: Deploy home + with: + node_version: 20 + vercel_token: ${{ secrets.VERCEL_TOKEN }} + vercel_group: itering + preview_section: helix-home + preview_output: true + prod_mode: true + project_name: "helix-home" + script_install: pnpm install + script_build: pnpm run home build + dist_path: apps/helixbox-home/dist + enable_notify_slack: true + slack_channel: helix-ui + slack_webhook: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} diff --git a/README.md b/README.md index e88d4a638..e9d88ba95 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -# HelixBridge Interfaces +# Helixbox Interfaces ❤️ Secure, fast, and low-cost cross-chain crypto transfers. -## Web Interface +## App Interface ### Production -- mainnet: https://helixbridge.app (ipfs version: https://helixbridge.eth.limo) -- testnet: https://testnet.helixbridge.app +- mainnet: https://app.helix.box (ipfs version: https://helixbridge.eth.limo) +- testnet: https://testnet.app.helix.box ### Staging diff --git a/apps/web/.eslintrc.cjs b/apps/helix/.eslintrc.cjs similarity index 100% rename from apps/web/.eslintrc.cjs rename to apps/helix/.eslintrc.cjs diff --git a/apps/web/.gitignore b/apps/helix/.gitignore similarity index 100% rename from apps/web/.gitignore rename to apps/helix/.gitignore diff --git a/apps/web/LICENSE b/apps/helix/LICENSE similarity index 100% rename from apps/web/LICENSE rename to apps/helix/LICENSE diff --git a/apps/helix/README.md b/apps/helix/README.md new file mode 100644 index 000000000..234934f0b --- /dev/null +++ b/apps/helix/README.md @@ -0,0 +1,4 @@ +# HelixBridge Web Interface + +> Helix Bridge is excited to announce its rebranding as Helixbox Bridge, following the upgrade of the Helix brand to Helixbox. For all your cross-chain asset needs, visit our new platform at app.helix.box. + diff --git a/apps/helix/index.html b/apps/helix/index.html new file mode 100644 index 000000000..f4fe90a46 --- /dev/null +++ b/apps/helix/index.html @@ -0,0 +1,27 @@ + + + + + + Bridge Stablecoins and Native Tokens on HelixBridge + + + + + + + + + + + + + + + + + +
+ + + diff --git a/apps/helix/package.json b/apps/helix/package.json new file mode 100644 index 000000000..ce224f820 --- /dev/null +++ b/apps/helix/package.json @@ -0,0 +1,46 @@ +{ + "name": "helix", + "description": "HelixBridge Web Interface", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "test": "vitest --run --silent", + "clean": "rm -rf node_modules .turbo dist", + "preview": "vite preview" + }, + "license": "MIT", + "dependencies": { + "localforage": "^1.10.0", + "match-sorter": "^7.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.27.0", + "sort-by": "^1.2.0" + }, + "devDependencies": { + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vite-pwa/assets-generator": "^0.2.4", + "@vitejs/plugin-react-swc": "^3.5.0", + "autoprefixer": "^10.4.19", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-config-turbo": "^2.0.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "postcss": "^8.4.38", + "tailwindcss": "^3.4.3", + "typescript": "^5.2.2", + "vite": "^5.2.0", + "vite-plugin-pwa": "^0.20.1", + "vitest": "^1.6.0", + "workbox-core": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "packageManager": "pnpm@9.4.0" +} diff --git a/apps/web/postcss.config.js b/apps/helix/postcss.config.js similarity index 100% rename from apps/web/postcss.config.js rename to apps/helix/postcss.config.js diff --git a/apps/web/public/favicon.svg b/apps/helix/public/favicon.svg similarity index 100% rename from apps/web/public/favicon.svg rename to apps/helix/public/favicon.svg diff --git a/apps/helix/public/fonts/IBMPlexSans-Bold.ttf b/apps/helix/public/fonts/IBMPlexSans-Bold.ttf new file mode 100644 index 000000000..e5389d833 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Bold.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-BoldItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-BoldItalic.ttf new file mode 100644 index 000000000..31cce79bb Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-BoldItalic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-ExtraLight.ttf b/apps/helix/public/fonts/IBMPlexSans-ExtraLight.ttf new file mode 100644 index 000000000..ecd3aff27 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-ExtraLight.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-ExtraLightItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-ExtraLightItalic.ttf new file mode 100644 index 000000000..5bbda2cc0 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-ExtraLightItalic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-Italic.ttf b/apps/helix/public/fonts/IBMPlexSans-Italic.ttf new file mode 100644 index 000000000..46212a3d6 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Italic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-Light.ttf b/apps/helix/public/fonts/IBMPlexSans-Light.ttf new file mode 100644 index 000000000..b3d035d5d Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Light.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-LightItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-LightItalic.ttf new file mode 100644 index 000000000..20bb6cfc6 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-LightItalic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-Medium.ttf b/apps/helix/public/fonts/IBMPlexSans-Medium.ttf new file mode 100644 index 000000000..9395402b0 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Medium.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-MediumItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-MediumItalic.ttf new file mode 100644 index 000000000..7787ad274 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-MediumItalic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-Regular.ttf b/apps/helix/public/fonts/IBMPlexSans-Regular.ttf new file mode 100644 index 000000000..b5819647e Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Regular.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-SemiBold.ttf b/apps/helix/public/fonts/IBMPlexSans-SemiBold.ttf new file mode 100644 index 000000000..a5bd9ee62 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-SemiBold.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-SemiBoldItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-SemiBoldItalic.ttf new file mode 100644 index 000000000..a5bcdc40a Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-SemiBoldItalic.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-Thin.ttf b/apps/helix/public/fonts/IBMPlexSans-Thin.ttf new file mode 100644 index 000000000..910458a9e Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-Thin.ttf differ diff --git a/apps/helix/public/fonts/IBMPlexSans-ThinItalic.ttf b/apps/helix/public/fonts/IBMPlexSans-ThinItalic.ttf new file mode 100644 index 000000000..d5b4be655 Binary files /dev/null and b/apps/helix/public/fonts/IBMPlexSans-ThinItalic.ttf differ diff --git a/apps/helix/public/images/helixbox-logo.svg b/apps/helix/public/images/helixbox-logo.svg new file mode 100644 index 000000000..c0aedd76f --- /dev/null +++ b/apps/helix/public/images/helixbox-logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/web/public/images/logo.svg b/apps/helix/public/images/logo.svg similarity index 99% rename from apps/web/public/images/logo.svg rename to apps/helix/public/images/logo.svg index 71af0684e..1f8800046 100644 --- a/apps/web/public/images/logo.svg +++ b/apps/helix/public/images/logo.svg @@ -6,4 +6,4 @@ fill="#0085FF" /> - \ No newline at end of file + diff --git a/apps/web/public/preview.png b/apps/helix/public/preview.png similarity index 100% rename from apps/web/public/preview.png rename to apps/helix/public/preview.png diff --git a/apps/web/public/robots.txt b/apps/helix/public/robots.txt similarity index 59% rename from apps/web/public/robots.txt rename to apps/helix/public/robots.txt index ceb674858..349360ba8 100644 --- a/apps/web/public/robots.txt +++ b/apps/helix/public/robots.txt @@ -1,4 +1,3 @@ # https://www.robotstxt.org/robotstxt.html User-agent: * Allow: / -Sitemap: https://helixbridge.app/sitemap.xml diff --git a/apps/web/public/vercel.json b/apps/helix/public/vercel.json similarity index 100% rename from apps/web/public/vercel.json rename to apps/helix/public/vercel.json diff --git a/apps/web/pwa-assets.config.ts b/apps/helix/pwa-assets.config.ts similarity index 100% rename from apps/web/pwa-assets.config.ts rename to apps/helix/pwa-assets.config.ts diff --git a/apps/web/src/components/pwa-badge.tsx b/apps/helix/src/components/pwa-badge.tsx similarity index 100% rename from apps/web/src/components/pwa-badge.tsx rename to apps/helix/src/components/pwa-badge.tsx diff --git a/apps/helix/src/index.css b/apps/helix/src/index.css new file mode 100644 index 000000000..713656684 --- /dev/null +++ b/apps/helix/src/index.css @@ -0,0 +1,90 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 100; + src: url(/fonts/IBMPlexSans-Thin.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 100; + src: url(/fonts/IBMPlexSans-ThinItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 200; + src: url(/fonts/IBMPlexSans-ExtraLight.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 200; + src: url(/fonts/IBMPlexSans-ExtraLightItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 300; + src: url(/fonts/IBMPlexSans-Light.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 300; + src: url(/fonts/IBMPlexSans-LightItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 400; + src: url(/fonts/IBMPlexSans-Regular.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 400; + src: url(/fonts/IBMPlexSans-Italic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 500; + src: url(/fonts/IBMPlexSans-Medium.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 500; + src: url(/fonts/IBMPlexSans-MediumItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 600; + src: url(/fonts/IBMPlexSans-SemiBold.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 600; + src: url(/fonts/IBMPlexSans-SemiBoldItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 700 800; + src: url(/fonts/IBMPlexSans-Bold.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 700 800; + src: url(/fonts/IBMPlexSans-BoldItalic.ttf); + } +} diff --git a/apps/helix/src/main.tsx b/apps/helix/src/main.tsx new file mode 100644 index 000000000..5b8422d0a --- /dev/null +++ b/apps/helix/src/main.tsx @@ -0,0 +1,13 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { RouterProvider } from "react-router-dom"; +import { router } from "./router.tsx"; +import PWABadge from "./components/pwa-badge.tsx"; + +ReactDOM.createRoot(document.getElementById("root")!).render( + + + + , +); diff --git a/apps/helix/src/router.tsx b/apps/helix/src/router.tsx new file mode 100644 index 000000000..2db3b7e52 --- /dev/null +++ b/apps/helix/src/router.tsx @@ -0,0 +1,20 @@ +import { createHashRouter, Outlet } from "react-router-dom"; +import NotFound from "./routes/not-found"; +import Error from "./routes/error"; +import Rebranding from "./routes/rebranding"; + +export const router = createHashRouter([ + { + path: "/", + element: , + children: [ + { index: true, element: }, + { path: "transfer", element: }, + { path: "relayer", element: }, + { path: "explorer", element: }, + { path: "tx/:id", element: }, + ], + errorElement: , + }, + { path: "*", element: }, +]); diff --git a/apps/web/src/routes/error.tsx b/apps/helix/src/routes/error.tsx similarity index 100% rename from apps/web/src/routes/error.tsx rename to apps/helix/src/routes/error.tsx diff --git a/apps/web/src/routes/not-found.tsx b/apps/helix/src/routes/not-found.tsx similarity index 100% rename from apps/web/src/routes/not-found.tsx rename to apps/helix/src/routes/not-found.tsx diff --git a/apps/helix/src/routes/rebranding.tsx b/apps/helix/src/routes/rebranding.tsx new file mode 100644 index 000000000..7722080ce --- /dev/null +++ b/apps/helix/src/routes/rebranding.tsx @@ -0,0 +1,37 @@ +import { useMemo } from "react"; +import { useLocation } from "react-router-dom"; + +export default function Rebranding() { + const location = useLocation(); + + const href = useMemo(() => { + let href = "https://app.helix.box"; + if (location.search) { + href = `${href}/#${location.pathname}${location.search}`; + } else if (location.pathname !== "/") { + href = `${href}/#${location.pathname}`; + } + return href; + }, [location.pathname, location.search]); + + return ( +
+
+ Logo +
+ +
+ Logo +

+ Helix Bridge is excited to announce its rebranding as Helixbox Bridge, following the upgrade of the Helix + brand to Helixbox. For all your cross-chain asset needs, visit our new platform at app.helix.box. +

+ + + Go to app.helix.box + + +
+
+ ); +} diff --git a/apps/helix/src/ui/button.spec.tsx b/apps/helix/src/ui/button.spec.tsx new file mode 100644 index 000000000..6136c8340 --- /dev/null +++ b/apps/helix/src/ui/button.spec.tsx @@ -0,0 +1,3 @@ +import { it } from "vitest"; + +it.todo("TODO"); diff --git a/apps/web/src/ui/button.tsx b/apps/helix/src/ui/button.tsx similarity index 100% rename from apps/web/src/ui/button.tsx rename to apps/helix/src/ui/button.tsx diff --git a/apps/web/src/vite-env.d.ts b/apps/helix/src/vite-env.d.ts similarity index 100% rename from apps/web/src/vite-env.d.ts rename to apps/helix/src/vite-env.d.ts diff --git a/apps/helix/tailwind.config.js b/apps/helix/tailwind.config.js new file mode 100644 index 000000000..ebca74029 --- /dev/null +++ b/apps/helix/tailwind.config.js @@ -0,0 +1,35 @@ +import defaultTheme from "tailwindcss/defaultTheme"; + +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./index.html", "./src/**/*.{jsx,tsx}"], + theme: { + extend: { + colors: { + primary: "#0085FF", + }, + borderRadius: { + small: "0.25rem", // 4px + medium: "0.5rem", // 8px + large: "1rem", // 16px + extralarge: "1.5rem", // 24px + }, + spacing: { + small: "0.3125rem", // 5px + medium: "0.625rem", // 10px + large: "0.9375rem", // 15px + }, + maxWidth: { + "8xl": "90rem", + }, + screens: { + xl: "1200px", + "2xl": "1200px", + }, + }, + fontFamily: { + sans: ["IBMPlexSans", ...defaultTheme.fontFamily.sans], + }, + }, + plugins: [], +}; diff --git a/apps/web/tsconfig.json b/apps/helix/tsconfig.json similarity index 100% rename from apps/web/tsconfig.json rename to apps/helix/tsconfig.json diff --git a/apps/web/tsconfig.node.json b/apps/helix/tsconfig.node.json similarity index 100% rename from apps/web/tsconfig.node.json rename to apps/helix/tsconfig.node.json diff --git a/apps/web/turbo.json b/apps/helix/turbo.json similarity index 100% rename from apps/web/turbo.json rename to apps/helix/turbo.json diff --git a/apps/helix/vite.config.ts b/apps/helix/vite.config.ts new file mode 100644 index 000000000..463cfdf63 --- /dev/null +++ b/apps/helix/vite.config.ts @@ -0,0 +1,47 @@ +/// + +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react-swc"; +import { VitePWA } from "vite-plugin-pwa"; + +// https://vitejs.dev/config/ +export default defineConfig({ + base: "", + + plugins: [ + react(), + VitePWA({ + registerType: "prompt", + injectRegister: false, + manifestFilename: "manifest.json", + pwaAssets: { + disabled: false, + config: true, + }, + manifest: { + name: "Helix Bridge", + short_name: "HelixBridge", + description: "Secure, fast, and low-cost cross-chain crypto transfers", + theme_color: "#00141D", + background_color: "#00141D", + }, + workbox: { + globPatterns: ["**/*.{js,css,html,svg,png,ico}"], + cleanupOutdatedCaches: true, + clientsClaim: true, + maximumFileSizeToCacheInBytes: 6291456, // 6MB + }, + devOptions: { + enabled: false, + navigateFallback: "index.html", + suppressWarnings: true, + type: "module", + }, + selfDestroying: true, + }), + ], + + build: { + sourcemap: true, + }, +}); diff --git a/apps/web/.env b/apps/helixbox-app/.env similarity index 100% rename from apps/web/.env rename to apps/helixbox-app/.env diff --git a/apps/web/.env.mainnet b/apps/helixbox-app/.env.mainnet similarity index 100% rename from apps/web/.env.mainnet rename to apps/helixbox-app/.env.mainnet diff --git a/apps/web/.env.testnet b/apps/helixbox-app/.env.testnet similarity index 100% rename from apps/web/.env.testnet rename to apps/helixbox-app/.env.testnet diff --git a/apps/helixbox-app/.eslintrc.cjs b/apps/helixbox-app/.eslintrc.cjs new file mode 100644 index 000000000..2d73c0120 --- /dev/null +++ b/apps/helixbox-app/.eslintrc.cjs @@ -0,0 +1,20 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + 'prettier', + 'turbo', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/apps/helixbox-app/.gitignore b/apps/helixbox-app/.gitignore new file mode 100644 index 000000000..e817378f8 --- /dev/null +++ b/apps/helixbox-app/.gitignore @@ -0,0 +1,29 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# Sentry Config File +.env.sentry-build-plugin + +_generated_ diff --git a/apps/helixbox-app/LICENSE b/apps/helixbox-app/LICENSE new file mode 100644 index 000000000..e0f844ef5 --- /dev/null +++ b/apps/helixbox-app/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 helix-bridge + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/web/README.md b/apps/helixbox-app/README.md similarity index 58% rename from apps/web/README.md rename to apps/helixbox-app/README.md index 054f1ec3a..06070a12d 100644 --- a/apps/web/README.md +++ b/apps/helixbox-app/README.md @@ -1,11 +1,9 @@ -# HelixBridge Web Interface - -❤️ Secure, fast, and low-cost cross-chain crypto transfers. +## Helixbox App Interface ### Production -- mainnet: https://helixbridge.app (ipfs version: https://helixbridge.eth.limo) -- testnet: https://testnet.helixbridge.app +- mainnet: https://app.helix.box (ipfs version: https://helixbridge.eth.limo) +- testnet: https://testnet.app.helix.box ### Staging diff --git a/apps/web/codegen.ts b/apps/helixbox-app/codegen.ts similarity index 100% rename from apps/web/codegen.ts rename to apps/helixbox-app/codegen.ts diff --git a/apps/web/fleek.config.json b/apps/helixbox-app/fleek.config.json similarity index 100% rename from apps/web/fleek.config.json rename to apps/helixbox-app/fleek.config.json diff --git a/apps/web/index.html b/apps/helixbox-app/index.html similarity index 65% rename from apps/web/index.html rename to apps/helixbox-app/index.html index 2fc82832d..4e20a3782 100644 --- a/apps/web/index.html +++ b/apps/helixbox-app/index.html @@ -23,24 +23,24 @@ - Bridge Stablecoins and Native Tokens on HelixBridge + Bridge Stablecoins and Native Tokens on Helixbox Bridge - + - - - - + + + + - - - + + + - +
diff --git a/apps/web/package.json b/apps/helixbox-app/package.json similarity index 93% rename from apps/web/package.json rename to apps/helixbox-app/package.json index ea6c5ebad..e2815b292 100644 --- a/apps/web/package.json +++ b/apps/helixbox-app/package.json @@ -1,6 +1,6 @@ { - "name": "@helixbridge/web", - "description": "HelixBridge Web Interface", + "name": "helixbox-app", + "description": "Helixbox App Interface", "private": true, "type": "module", "scripts": { @@ -30,14 +30,14 @@ "date-fns-tz": "^3.1.3", "graphql": "^16.8.1", "localforage": "^1.10.0", - "match-sorter": "^6.3.4", + "match-sorter": "^7.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-jazzicon": "^1.0.4", - "react-router-dom": "^6.23.1", + "react-router-dom": "^6.27.0", "react-transition-group": "^4.4.5", "rxjs": "^7.8.1", - "sort-by": "^0.0.2", + "sort-by": "^1.2.0", "viem": "^2.21.19", "wagmi": "^2.12.17" }, diff --git a/apps/helixbox-app/postcss.config.js b/apps/helixbox-app/postcss.config.js new file mode 100644 index 000000000..2aa7205d4 --- /dev/null +++ b/apps/helixbox-app/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/apps/helixbox-app/public/favicon.svg b/apps/helixbox-app/public/favicon.svg new file mode 100644 index 000000000..e04106a3a --- /dev/null +++ b/apps/helixbox-app/public/favicon.svg @@ -0,0 +1,6 @@ + + + + diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Bold.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Bold.ttf new file mode 100644 index 000000000..e5389d833 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Bold.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-BoldItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-BoldItalic.ttf new file mode 100644 index 000000000..31cce79bb Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-BoldItalic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLight.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLight.ttf new file mode 100644 index 000000000..ecd3aff27 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLight.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLightItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLightItalic.ttf new file mode 100644 index 000000000..5bbda2cc0 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-ExtraLightItalic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Italic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Italic.ttf new file mode 100644 index 000000000..46212a3d6 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Italic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Light.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Light.ttf new file mode 100644 index 000000000..b3d035d5d Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Light.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-LightItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-LightItalic.ttf new file mode 100644 index 000000000..20bb6cfc6 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-LightItalic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Medium.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Medium.ttf new file mode 100644 index 000000000..9395402b0 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Medium.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-MediumItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-MediumItalic.ttf new file mode 100644 index 000000000..7787ad274 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-MediumItalic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Regular.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Regular.ttf new file mode 100644 index 000000000..b5819647e Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Regular.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBold.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBold.ttf new file mode 100644 index 000000000..a5bd9ee62 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBold.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBoldItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBoldItalic.ttf new file mode 100644 index 000000000..a5bcdc40a Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-SemiBoldItalic.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-Thin.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-Thin.ttf new file mode 100644 index 000000000..910458a9e Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-Thin.ttf differ diff --git a/apps/helixbox-app/public/fonts/IBMPlexSans-ThinItalic.ttf b/apps/helixbox-app/public/fonts/IBMPlexSans-ThinItalic.ttf new file mode 100644 index 000000000..d5b4be655 Binary files /dev/null and b/apps/helixbox-app/public/fonts/IBMPlexSans-ThinItalic.ttf differ diff --git a/apps/web/public/images/bridge/helix-horizontal.svg b/apps/helixbox-app/public/images/bridge/helix-horizontal.svg similarity index 100% rename from apps/web/public/images/bridge/helix-horizontal.svg rename to apps/helixbox-app/public/images/bridge/helix-horizontal.svg diff --git a/apps/web/public/images/bridge/helix-symbol.svg b/apps/helixbox-app/public/images/bridge/helix-symbol.svg similarity index 100% rename from apps/web/public/images/bridge/helix-symbol.svg rename to apps/helixbox-app/public/images/bridge/helix-symbol.svg diff --git a/apps/web/public/images/caret-down.svg b/apps/helixbox-app/public/images/caret-down.svg similarity index 100% rename from apps/web/public/images/caret-down.svg rename to apps/helixbox-app/public/images/caret-down.svg diff --git a/apps/web/public/images/caret-right.svg b/apps/helixbox-app/public/images/caret-right.svg similarity index 100% rename from apps/web/public/images/caret-right.svg rename to apps/helixbox-app/public/images/caret-right.svg diff --git a/apps/web/public/images/checked.svg b/apps/helixbox-app/public/images/checked.svg similarity index 100% rename from apps/web/public/images/checked.svg rename to apps/helixbox-app/public/images/checked.svg diff --git a/apps/web/public/images/clock.svg b/apps/helixbox-app/public/images/clock.svg similarity index 100% rename from apps/web/public/images/clock.svg rename to apps/helixbox-app/public/images/clock.svg diff --git a/apps/web/public/images/close-white.svg b/apps/helixbox-app/public/images/close-white.svg similarity index 100% rename from apps/web/public/images/close-white.svg rename to apps/helixbox-app/public/images/close-white.svg diff --git a/apps/web/public/images/close.svg b/apps/helixbox-app/public/images/close.svg similarity index 100% rename from apps/web/public/images/close.svg rename to apps/helixbox-app/public/images/close.svg diff --git a/apps/web/public/images/copy.svg b/apps/helixbox-app/public/images/copy.svg similarity index 100% rename from apps/web/public/images/copy.svg rename to apps/helixbox-app/public/images/copy.svg diff --git a/apps/web/public/images/disconnect.svg b/apps/helixbox-app/public/images/disconnect.svg similarity index 100% rename from apps/web/public/images/disconnect.svg rename to apps/helixbox-app/public/images/disconnect.svg diff --git a/apps/web/public/images/finished.svg b/apps/helixbox-app/public/images/finished.svg similarity index 100% rename from apps/web/public/images/finished.svg rename to apps/helixbox-app/public/images/finished.svg diff --git a/apps/web/public/images/history.svg b/apps/helixbox-app/public/images/history.svg similarity index 100% rename from apps/web/public/images/history.svg rename to apps/helixbox-app/public/images/history.svg diff --git a/apps/web/public/images/info.svg b/apps/helixbox-app/public/images/info.svg similarity index 100% rename from apps/web/public/images/info.svg rename to apps/helixbox-app/public/images/info.svg diff --git a/apps/helixbox-app/public/images/logo.svg b/apps/helixbox-app/public/images/logo.svg new file mode 100644 index 000000000..d3510004f --- /dev/null +++ b/apps/helixbox-app/public/images/logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/web/public/images/menu.svg b/apps/helixbox-app/public/images/menu.svg similarity index 100% rename from apps/web/public/images/menu.svg rename to apps/helixbox-app/public/images/menu.svg diff --git a/apps/web/public/images/my.svg b/apps/helixbox-app/public/images/my.svg similarity index 100% rename from apps/web/public/images/my.svg rename to apps/helixbox-app/public/images/my.svg diff --git a/apps/web/public/images/network/arbitrum.png b/apps/helixbox-app/public/images/network/arbitrum.png similarity index 100% rename from apps/web/public/images/network/arbitrum.png rename to apps/helixbox-app/public/images/network/arbitrum.png diff --git a/apps/web/public/images/network/astar.png b/apps/helixbox-app/public/images/network/astar.png similarity index 100% rename from apps/web/public/images/network/astar.png rename to apps/helixbox-app/public/images/network/astar.png diff --git a/apps/web/public/images/network/base.png b/apps/helixbox-app/public/images/network/base.png similarity index 100% rename from apps/web/public/images/network/base.png rename to apps/helixbox-app/public/images/network/base.png diff --git a/apps/web/public/images/network/bera.png b/apps/helixbox-app/public/images/network/bera.png similarity index 100% rename from apps/web/public/images/network/bera.png rename to apps/helixbox-app/public/images/network/bera.png diff --git a/apps/web/public/images/network/blast.png b/apps/helixbox-app/public/images/network/blast.png similarity index 100% rename from apps/web/public/images/network/blast.png rename to apps/helixbox-app/public/images/network/blast.png diff --git a/apps/web/public/images/network/bsc.png b/apps/helixbox-app/public/images/network/bsc.png similarity index 100% rename from apps/web/public/images/network/bsc.png rename to apps/helixbox-app/public/images/network/bsc.png diff --git a/apps/web/public/images/network/crab.png b/apps/helixbox-app/public/images/network/crab.png similarity index 100% rename from apps/web/public/images/network/crab.png rename to apps/helixbox-app/public/images/network/crab.png diff --git a/apps/web/public/images/network/darwinia.png b/apps/helixbox-app/public/images/network/darwinia.png similarity index 100% rename from apps/web/public/images/network/darwinia.png rename to apps/helixbox-app/public/images/network/darwinia.png diff --git a/apps/web/public/images/network/ethereum.png b/apps/helixbox-app/public/images/network/ethereum.png similarity index 100% rename from apps/web/public/images/network/ethereum.png rename to apps/helixbox-app/public/images/network/ethereum.png diff --git a/apps/web/public/images/network/gnosis.png b/apps/helixbox-app/public/images/network/gnosis.png similarity index 100% rename from apps/web/public/images/network/gnosis.png rename to apps/helixbox-app/public/images/network/gnosis.png diff --git a/apps/web/public/images/network/linea.png b/apps/helixbox-app/public/images/network/linea.png similarity index 100% rename from apps/web/public/images/network/linea.png rename to apps/helixbox-app/public/images/network/linea.png diff --git a/apps/web/public/images/network/mantle.png b/apps/helixbox-app/public/images/network/mantle.png similarity index 100% rename from apps/web/public/images/network/mantle.png rename to apps/helixbox-app/public/images/network/mantle.png diff --git a/apps/web/public/images/network/moonbeam.png b/apps/helixbox-app/public/images/network/moonbeam.png similarity index 100% rename from apps/web/public/images/network/moonbeam.png rename to apps/helixbox-app/public/images/network/moonbeam.png diff --git a/apps/web/public/images/network/morph.png b/apps/helixbox-app/public/images/network/morph.png similarity index 100% rename from apps/web/public/images/network/morph.png rename to apps/helixbox-app/public/images/network/morph.png diff --git a/apps/web/public/images/network/optimism.png b/apps/helixbox-app/public/images/network/optimism.png similarity index 100% rename from apps/web/public/images/network/optimism.png rename to apps/helixbox-app/public/images/network/optimism.png diff --git a/apps/web/public/images/network/pangolin.png b/apps/helixbox-app/public/images/network/pangolin.png similarity index 100% rename from apps/web/public/images/network/pangolin.png rename to apps/helixbox-app/public/images/network/pangolin.png diff --git a/apps/web/public/images/network/polygon.png b/apps/helixbox-app/public/images/network/polygon.png similarity index 100% rename from apps/web/public/images/network/polygon.png rename to apps/helixbox-app/public/images/network/polygon.png diff --git a/apps/web/public/images/network/scroll.png b/apps/helixbox-app/public/images/network/scroll.png similarity index 100% rename from apps/web/public/images/network/scroll.png rename to apps/helixbox-app/public/images/network/scroll.png diff --git a/apps/web/public/images/network/sepolia.png b/apps/helixbox-app/public/images/network/sepolia.png similarity index 100% rename from apps/web/public/images/network/sepolia.png rename to apps/helixbox-app/public/images/network/sepolia.png diff --git a/apps/web/public/images/network/taiko.png b/apps/helixbox-app/public/images/network/taiko.png similarity index 100% rename from apps/web/public/images/network/taiko.png rename to apps/helixbox-app/public/images/network/taiko.png diff --git a/apps/web/public/images/network/unknown.png b/apps/helixbox-app/public/images/network/unknown.png similarity index 100% rename from apps/web/public/images/network/unknown.png rename to apps/helixbox-app/public/images/network/unknown.png diff --git a/apps/web/public/images/network/zircuit.png b/apps/helixbox-app/public/images/network/zircuit.png similarity index 100% rename from apps/web/public/images/network/zircuit.png rename to apps/helixbox-app/public/images/network/zircuit.png diff --git a/apps/web/public/images/network/zksync.png b/apps/helixbox-app/public/images/network/zksync.png similarity index 100% rename from apps/web/public/images/network/zksync.png rename to apps/helixbox-app/public/images/network/zksync.png diff --git a/apps/web/public/images/no-data.svg b/apps/helixbox-app/public/images/no-data.svg similarity index 100% rename from apps/web/public/images/no-data.svg rename to apps/helixbox-app/public/images/no-data.svg diff --git a/apps/web/public/images/notification/error.svg b/apps/helixbox-app/public/images/notification/error.svg similarity index 100% rename from apps/web/public/images/notification/error.svg rename to apps/helixbox-app/public/images/notification/error.svg diff --git a/apps/web/public/images/notification/info.svg b/apps/helixbox-app/public/images/notification/info.svg similarity index 100% rename from apps/web/public/images/notification/info.svg rename to apps/helixbox-app/public/images/notification/info.svg diff --git a/apps/web/public/images/notification/progress.svg b/apps/helixbox-app/public/images/notification/progress.svg similarity index 100% rename from apps/web/public/images/notification/progress.svg rename to apps/helixbox-app/public/images/notification/progress.svg diff --git a/apps/web/public/images/notification/success.svg b/apps/helixbox-app/public/images/notification/success.svg similarity index 100% rename from apps/web/public/images/notification/success.svg rename to apps/helixbox-app/public/images/notification/success.svg diff --git a/apps/web/public/images/notification/warn.svg b/apps/helixbox-app/public/images/notification/warn.svg similarity index 100% rename from apps/web/public/images/notification/warn.svg rename to apps/helixbox-app/public/images/notification/warn.svg diff --git a/apps/web/public/images/overview.svg b/apps/helixbox-app/public/images/overview.svg similarity index 100% rename from apps/web/public/images/overview.svg rename to apps/helixbox-app/public/images/overview.svg diff --git a/apps/web/public/images/pagination/next-page.svg b/apps/helixbox-app/public/images/pagination/next-page.svg similarity index 100% rename from apps/web/public/images/pagination/next-page.svg rename to apps/helixbox-app/public/images/pagination/next-page.svg diff --git a/apps/web/public/images/pagination/previous-page.svg b/apps/helixbox-app/public/images/pagination/previous-page.svg similarity index 100% rename from apps/web/public/images/pagination/previous-page.svg rename to apps/helixbox-app/public/images/pagination/previous-page.svg diff --git a/apps/web/public/images/refresh.svg b/apps/helixbox-app/public/images/refresh.svg similarity index 100% rename from apps/web/public/images/refresh.svg rename to apps/helixbox-app/public/images/refresh.svg diff --git a/apps/web/public/images/search.svg b/apps/helixbox-app/public/images/search.svg similarity index 100% rename from apps/web/public/images/search.svg rename to apps/helixbox-app/public/images/search.svg diff --git a/apps/web/public/images/social/discord.svg b/apps/helixbox-app/public/images/social/discord.svg similarity index 100% rename from apps/web/public/images/social/discord.svg rename to apps/helixbox-app/public/images/social/discord.svg diff --git a/apps/web/public/images/social/email.svg b/apps/helixbox-app/public/images/social/email.svg similarity index 100% rename from apps/web/public/images/social/email.svg rename to apps/helixbox-app/public/images/social/email.svg diff --git a/apps/web/public/images/social/github.svg b/apps/helixbox-app/public/images/social/github.svg similarity index 100% rename from apps/web/public/images/social/github.svg rename to apps/helixbox-app/public/images/social/github.svg diff --git a/apps/web/public/images/social/x.svg b/apps/helixbox-app/public/images/social/x.svg similarity index 100% rename from apps/web/public/images/social/x.svg rename to apps/helixbox-app/public/images/social/x.svg diff --git a/apps/web/public/images/status/pending.svg b/apps/helixbox-app/public/images/status/pending.svg similarity index 100% rename from apps/web/public/images/status/pending.svg rename to apps/helixbox-app/public/images/status/pending.svg diff --git a/apps/web/public/images/status/refunded.svg b/apps/helixbox-app/public/images/status/refunded.svg similarity index 100% rename from apps/web/public/images/status/refunded.svg rename to apps/helixbox-app/public/images/status/refunded.svg diff --git a/apps/web/public/images/status/success.svg b/apps/helixbox-app/public/images/status/success.svg similarity index 100% rename from apps/web/public/images/status/success.svg rename to apps/helixbox-app/public/images/status/success.svg diff --git a/apps/web/public/images/status/unknown.svg b/apps/helixbox-app/public/images/status/unknown.svg similarity index 100% rename from apps/web/public/images/status/unknown.svg rename to apps/helixbox-app/public/images/status/unknown.svg diff --git a/apps/web/public/images/switch.svg b/apps/helixbox-app/public/images/switch.svg similarity index 100% rename from apps/web/public/images/switch.svg rename to apps/helixbox-app/public/images/switch.svg diff --git a/apps/web/public/images/time.svg b/apps/helixbox-app/public/images/time.svg similarity index 100% rename from apps/web/public/images/time.svg rename to apps/helixbox-app/public/images/time.svg diff --git a/apps/web/public/images/token/bera.svg b/apps/helixbox-app/public/images/token/bera.svg similarity index 100% rename from apps/web/public/images/token/bera.svg rename to apps/helixbox-app/public/images/token/bera.svg diff --git a/apps/web/public/images/token/bnb.svg b/apps/helixbox-app/public/images/token/bnb.svg similarity index 100% rename from apps/web/public/images/token/bnb.svg rename to apps/helixbox-app/public/images/token/bnb.svg diff --git a/apps/web/public/images/token/btc.png b/apps/helixbox-app/public/images/token/btc.png similarity index 100% rename from apps/web/public/images/token/btc.png rename to apps/helixbox-app/public/images/token/btc.png diff --git a/apps/web/public/images/token/crab.png b/apps/helixbox-app/public/images/token/crab.png similarity index 100% rename from apps/web/public/images/token/crab.png rename to apps/helixbox-app/public/images/token/crab.png diff --git a/apps/web/public/images/token/dai.png b/apps/helixbox-app/public/images/token/dai.png similarity index 100% rename from apps/web/public/images/token/dai.png rename to apps/helixbox-app/public/images/token/dai.png diff --git a/apps/web/public/images/token/eth.png b/apps/helixbox-app/public/images/token/eth.png similarity index 100% rename from apps/web/public/images/token/eth.png rename to apps/helixbox-app/public/images/token/eth.png diff --git a/apps/web/public/images/token/kton.png b/apps/helixbox-app/public/images/token/kton.png similarity index 100% rename from apps/web/public/images/token/kton.png rename to apps/helixbox-app/public/images/token/kton.png diff --git a/apps/web/public/images/token/link.png b/apps/helixbox-app/public/images/token/link.png similarity index 100% rename from apps/web/public/images/token/link.png rename to apps/helixbox-app/public/images/token/link.png diff --git a/apps/web/public/images/token/matic.svg b/apps/helixbox-app/public/images/token/matic.svg similarity index 100% rename from apps/web/public/images/token/matic.svg rename to apps/helixbox-app/public/images/token/matic.svg diff --git a/apps/web/public/images/token/mnt.png b/apps/helixbox-app/public/images/token/mnt.png similarity index 100% rename from apps/web/public/images/token/mnt.png rename to apps/helixbox-app/public/images/token/mnt.png diff --git a/apps/web/public/images/token/more.svg b/apps/helixbox-app/public/images/token/more.svg similarity index 100% rename from apps/web/public/images/token/more.svg rename to apps/helixbox-app/public/images/token/more.svg diff --git a/apps/web/public/images/token/pink.png b/apps/helixbox-app/public/images/token/pink.png similarity index 100% rename from apps/web/public/images/token/pink.png rename to apps/helixbox-app/public/images/token/pink.png diff --git a/apps/web/public/images/token/ring.png b/apps/helixbox-app/public/images/token/ring.png similarity index 100% rename from apps/web/public/images/token/ring.png rename to apps/helixbox-app/public/images/token/ring.png diff --git a/apps/web/public/images/token/unknown.svg b/apps/helixbox-app/public/images/token/unknown.svg similarity index 100% rename from apps/web/public/images/token/unknown.svg rename to apps/helixbox-app/public/images/token/unknown.svg diff --git a/apps/web/public/images/token/usdc.png b/apps/helixbox-app/public/images/token/usdc.png similarity index 100% rename from apps/web/public/images/token/usdc.png rename to apps/helixbox-app/public/images/token/usdc.png diff --git a/apps/web/public/images/token/usdt.png b/apps/helixbox-app/public/images/token/usdt.png similarity index 100% rename from apps/web/public/images/token/usdt.png rename to apps/helixbox-app/public/images/token/usdt.png diff --git a/apps/web/public/images/token/xdai.png b/apps/helixbox-app/public/images/token/xdai.png similarity index 100% rename from apps/web/public/images/token/xdai.png rename to apps/helixbox-app/public/images/token/xdai.png diff --git a/apps/web/public/images/transfer-to.svg b/apps/helixbox-app/public/images/transfer-to.svg similarity index 100% rename from apps/web/public/images/transfer-to.svg rename to apps/helixbox-app/public/images/transfer-to.svg diff --git a/apps/web/public/images/warning.svg b/apps/helixbox-app/public/images/warning.svg similarity index 100% rename from apps/web/public/images/warning.svg rename to apps/helixbox-app/public/images/warning.svg diff --git a/apps/helixbox-app/public/preview.png b/apps/helixbox-app/public/preview.png new file mode 100644 index 000000000..d72876c3a Binary files /dev/null and b/apps/helixbox-app/public/preview.png differ diff --git a/apps/helixbox-app/public/robots.txt b/apps/helixbox-app/public/robots.txt new file mode 100644 index 000000000..59f658c70 --- /dev/null +++ b/apps/helixbox-app/public/robots.txt @@ -0,0 +1,4 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Allow: / +Sitemap: https://app.helix.box/sitemap.xml diff --git a/apps/helixbox-app/public/vercel.json b/apps/helixbox-app/public/vercel.json new file mode 100644 index 000000000..4f4ea857f --- /dev/null +++ b/apps/helixbox-app/public/vercel.json @@ -0,0 +1,63 @@ +{ + "headers": [ + { + "source": "/(.*).html", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=0, must-revalidate" + } + ] + }, + { + "source": "/sw.js", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=0, must-revalidate" + } + ] + }, + { + "source": "/manifest.json", + "headers": [ + { + "key": "Content-Type", + "value": "application/manifest+json" + } + ] + }, + { + "source": "/assets/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "max-age=31536000, immutable" + } + ] + }, + { + "source": "/(.*)", + "headers": [ + { + "key": "X-Content-Type-Options", + "value": "nosniff" + }, + { + "key": "X-Frame-Options", + "value": "DENY" + }, + { + "key": "X-XSS-Protection", + "value": "1; mode=block" + } + ] + } + ], + "rewrites": [ + { + "source": "/(.*)", + "destination": "/index.html" + } + ] +} diff --git a/apps/helixbox-app/pwa-assets.config.ts b/apps/helixbox-app/pwa-assets.config.ts new file mode 100644 index 000000000..bd84357c7 --- /dev/null +++ b/apps/helixbox-app/pwa-assets.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from "@vite-pwa/assets-generator/config"; + +export default defineConfig({ + headLinkOptions: { + preset: "2023", + }, + preset: { + transparent: { sizes: [64, 192, 512], favicons: [[48, "favicon.ico"]] }, + maskable: { + sizes: [512], + resizeOptions: { fit: "contain", background: "#00141D" }, + }, + apple: { + sizes: [180], + resizeOptions: { fit: "contain", background: "#00141D" }, + }, + }, + images: ["public/favicon.svg"], +}); diff --git a/apps/web/scripts/generate-sitemap.js b/apps/helixbox-app/scripts/generate-sitemap.js similarity index 79% rename from apps/web/scripts/generate-sitemap.js rename to apps/helixbox-app/scripts/generate-sitemap.js index 4713f21c1..e706e99b3 100644 --- a/apps/web/scripts/generate-sitemap.js +++ b/apps/helixbox-app/scripts/generate-sitemap.js @@ -3,10 +3,10 @@ import path, { dirname } from "node:path"; import { fileURLToPath, URL } from "node:url"; const pagesMeta = [ - { url: "https://helixbridge.app", priority: 1.0 }, - { url: "https://helixbridge.app/#/relayer", priority: 0.8 }, - { url: "https://helixbridge.app/#/explorer", priority: 0.8 }, - { url: "https://testnet.helixbridge.app", priority: 0.8 }, + { url: "https://app.helix.box", priority: 1.0 }, + { url: "https://app.helix.box/#/relayer", priority: 0.8 }, + { url: "https://app.helix.box/#/explorer", priority: 0.8 }, + { url: "https://testnet.app.helix.box", priority: 0.8 }, ]; const urls = pagesMeta diff --git a/apps/web/src/__tests__/chain-config.spec.ts b/apps/helixbox-app/src/__tests__/chain-config.spec.ts similarity index 100% rename from apps/web/src/__tests__/chain-config.spec.ts rename to apps/helixbox-app/src/__tests__/chain-config.spec.ts diff --git a/apps/web/src/abi/erc20.ts b/apps/helixbox-app/src/abi/erc20.ts similarity index 100% rename from apps/web/src/abi/erc20.ts rename to apps/helixbox-app/src/abi/erc20.ts diff --git a/apps/web/src/abi/faucet.ts b/apps/helixbox-app/src/abi/faucet.ts similarity index 100% rename from apps/web/src/abi/faucet.ts rename to apps/helixbox-app/src/abi/faucet.ts diff --git a/apps/web/src/abi/lnaccess-controller.ts b/apps/helixbox-app/src/abi/lnaccess-controller.ts similarity index 100% rename from apps/web/src/abi/lnaccess-controller.ts rename to apps/helixbox-app/src/abi/lnaccess-controller.ts diff --git a/apps/web/src/abi/lnbridge-v3.ts b/apps/helixbox-app/src/abi/lnbridge-v3.ts similarity index 100% rename from apps/web/src/abi/lnbridge-v3.ts rename to apps/helixbox-app/src/abi/lnbridge-v3.ts diff --git a/apps/web/src/abi/lnv2-default.ts b/apps/helixbox-app/src/abi/lnv2-default.ts similarity index 100% rename from apps/web/src/abi/lnv2-default.ts rename to apps/helixbox-app/src/abi/lnv2-default.ts diff --git a/apps/web/src/abi/lnv2-opposite.ts b/apps/helixbox-app/src/abi/lnv2-opposite.ts similarity index 100% rename from apps/web/src/abi/lnv2-opposite.ts rename to apps/helixbox-app/src/abi/lnv2-opposite.ts diff --git a/apps/web/src/abi/msgline-messager.ts b/apps/helixbox-app/src/abi/msgline-messager.ts similarity index 100% rename from apps/web/src/abi/msgline-messager.ts rename to apps/helixbox-app/src/abi/msgline-messager.ts diff --git a/apps/web/src/bridges/base.ts b/apps/helixbox-app/src/bridges/base.ts similarity index 100% rename from apps/web/src/bridges/base.ts rename to apps/helixbox-app/src/bridges/base.ts diff --git a/apps/web/src/bridges/index.ts b/apps/helixbox-app/src/bridges/index.ts similarity index 100% rename from apps/web/src/bridges/index.ts rename to apps/helixbox-app/src/bridges/index.ts diff --git a/apps/web/src/bridges/lnbridge-base.ts b/apps/helixbox-app/src/bridges/lnbridge-base.ts similarity index 100% rename from apps/web/src/bridges/lnbridge-base.ts rename to apps/helixbox-app/src/bridges/lnbridge-base.ts diff --git a/apps/web/src/bridges/lnbridge-v3.ts b/apps/helixbox-app/src/bridges/lnbridge-v3.ts similarity index 100% rename from apps/web/src/bridges/lnbridge-v3.ts rename to apps/helixbox-app/src/bridges/lnbridge-v3.ts diff --git a/apps/web/src/bridges/lnv2-default.ts b/apps/helixbox-app/src/bridges/lnv2-default.ts similarity index 100% rename from apps/web/src/bridges/lnv2-default.ts rename to apps/helixbox-app/src/bridges/lnv2-default.ts diff --git a/apps/web/src/bridges/lnv2-opposite.ts b/apps/helixbox-app/src/bridges/lnv2-opposite.ts similarity index 100% rename from apps/web/src/bridges/lnv2-opposite.ts rename to apps/helixbox-app/src/bridges/lnv2-opposite.ts diff --git a/apps/web/src/components/address-identicon.tsx b/apps/helixbox-app/src/components/address-identicon.tsx similarity index 100% rename from apps/web/src/components/address-identicon.tsx rename to apps/helixbox-app/src/components/address-identicon.tsx diff --git a/apps/web/src/components/address-input.tsx b/apps/helixbox-app/src/components/address-input.tsx similarity index 100% rename from apps/web/src/components/address-input.tsx rename to apps/helixbox-app/src/components/address-input.tsx diff --git a/apps/web/src/components/balance-input.tsx b/apps/helixbox-app/src/components/balance-input.tsx similarity index 100% rename from apps/web/src/components/balance-input.tsx rename to apps/helixbox-app/src/components/balance-input.tsx diff --git a/apps/web/src/components/bridge-identicon.tsx b/apps/helixbox-app/src/components/bridge-identicon.tsx similarity index 100% rename from apps/web/src/components/bridge-identicon.tsx rename to apps/helixbox-app/src/components/bridge-identicon.tsx diff --git a/apps/web/src/components/bridge-select.tsx b/apps/helixbox-app/src/components/bridge-select.tsx similarity index 100% rename from apps/web/src/components/bridge-select.tsx rename to apps/helixbox-app/src/components/bridge-select.tsx diff --git a/apps/web/src/components/chain-select.tsx b/apps/helixbox-app/src/components/chain-select.tsx similarity index 100% rename from apps/web/src/components/chain-select.tsx rename to apps/helixbox-app/src/components/chain-select.tsx diff --git a/apps/web/src/components/chain-switch.tsx b/apps/helixbox-app/src/components/chain-switch.tsx similarity index 100% rename from apps/web/src/components/chain-switch.tsx rename to apps/helixbox-app/src/components/chain-switch.tsx diff --git a/apps/web/src/components/explorer/explorer-table.tsx b/apps/helixbox-app/src/components/explorer/explorer-table.tsx similarity index 100% rename from apps/web/src/components/explorer/explorer-table.tsx rename to apps/helixbox-app/src/components/explorer/explorer-table.tsx diff --git a/apps/web/src/components/explorer/index.tsx b/apps/helixbox-app/src/components/explorer/index.tsx similarity index 100% rename from apps/web/src/components/explorer/index.tsx rename to apps/helixbox-app/src/components/explorer/index.tsx diff --git a/apps/web/src/components/explorer/pagination.tsx b/apps/helixbox-app/src/components/explorer/pagination.tsx similarity index 100% rename from apps/web/src/components/explorer/pagination.tsx rename to apps/helixbox-app/src/components/explorer/pagination.tsx diff --git a/apps/web/src/components/explorer/table.tsx b/apps/helixbox-app/src/components/explorer/table.tsx similarity index 100% rename from apps/web/src/components/explorer/table.tsx rename to apps/helixbox-app/src/components/explorer/table.tsx diff --git a/apps/web/src/components/faucet.tsx b/apps/helixbox-app/src/components/faucet.tsx similarity index 100% rename from apps/web/src/components/faucet.tsx rename to apps/helixbox-app/src/components/faucet.tsx diff --git a/apps/web/src/components/fee-rate-input.tsx b/apps/helixbox-app/src/components/fee-rate-input.tsx similarity index 100% rename from apps/web/src/components/fee-rate-input.tsx rename to apps/helixbox-app/src/components/fee-rate-input.tsx diff --git a/apps/web/src/components/footer.tsx b/apps/helixbox-app/src/components/footer.tsx similarity index 90% rename from apps/web/src/components/footer.tsx rename to apps/helixbox-app/src/components/footer.tsx index a18e24f79..ba4ae5eff 100644 --- a/apps/web/src/components/footer.tsx +++ b/apps/helixbox-app/src/components/footer.tsx @@ -5,7 +5,7 @@ import Tooltip from "../ui/tooltip"; export default function Footer() { return (
- {`© ${new Date().getFullYear()} Helix Bridge`} + {`© ${new Date().getFullYear()} Helixbox Team`}
@@ -26,16 +26,16 @@ function Links() { const data: TData[] = [ { label: "Explorer", path: "/explorer" }, - { label: "XToken", path: "https://xtoken.box", external: true }, - { label: "Docs", path: "https://docs.helixbridge.app", external: true }, + { label: "XToken", path: "https://xtoken.helix.box", external: true }, + { label: "Docs", path: "https://docs.helix.box", external: true }, ]; const [network, setNetwork] = useState({ label: "Saa", path: "ss", pc: true, external: true }); useEffect(() => { - if (window.location.hostname === "helixbridge.app") { - setNetwork((prev) => ({ ...prev, label: "Testnet", path: "https://testnet.helixbridge.app" })); - } else if (window.location.hostname === "testnet.helixbridge.app") { - setNetwork((prev) => ({ ...prev, label: "Mainnet", path: "https://helixbridge.app" })); + if (window.location.hostname === "app.helix.box") { + setNetwork((prev) => ({ ...prev, label: "Testnet", path: "https://testnet.app.helix.box" })); + } else if (window.location.hostname === "testnet.app.helix.box") { + setNetwork((prev) => ({ ...prev, label: "Mainnet", path: "https://app.helix.box" })); } else if (window.location.hostname === "helix-stg-mainnet.vercel.app") { setNetwork((prev) => ({ ...prev, label: "Testnet", path: "https://helix-stg-testnet.vercel.app" })); } else if (window.location.hostname === "helix-stg-testnet.vercel.app") { @@ -76,7 +76,7 @@ function Links() { ), )} - {window.location.hostname === "helixbridge.app" && ( + {window.location.hostname === "app.helix.box" && ( {/* Logo */}
- - Logo - + + Logo + {isTestnet() && ( -
+
testnet
)} diff --git a/apps/web/src/components/history/history-details.tsx b/apps/helixbox-app/src/components/history/history-details.tsx similarity index 100% rename from apps/web/src/components/history/history-details.tsx rename to apps/helixbox-app/src/components/history/history-details.tsx diff --git a/apps/web/src/components/history/history-table.tsx b/apps/helixbox-app/src/components/history/history-table.tsx similarity index 100% rename from apps/web/src/components/history/history-table.tsx rename to apps/helixbox-app/src/components/history/history-table.tsx diff --git a/apps/web/src/components/history/index.tsx b/apps/helixbox-app/src/components/history/index.tsx similarity index 100% rename from apps/web/src/components/history/index.tsx rename to apps/helixbox-app/src/components/history/index.tsx diff --git a/apps/web/src/components/history/modal.tsx b/apps/helixbox-app/src/components/history/modal.tsx similarity index 100% rename from apps/web/src/components/history/modal.tsx rename to apps/helixbox-app/src/components/history/modal.tsx diff --git a/apps/web/src/components/history/table.tsx b/apps/helixbox-app/src/components/history/table.tsx similarity index 100% rename from apps/web/src/components/history/table.tsx rename to apps/helixbox-app/src/components/history/table.tsx diff --git a/apps/web/src/components/icons/back.tsx b/apps/helixbox-app/src/components/icons/back.tsx similarity index 100% rename from apps/web/src/components/icons/back.tsx rename to apps/helixbox-app/src/components/icons/back.tsx diff --git a/apps/web/src/components/icons/checked.tsx b/apps/helixbox-app/src/components/icons/checked.tsx similarity index 100% rename from apps/web/src/components/icons/checked.tsx rename to apps/helixbox-app/src/components/icons/checked.tsx diff --git a/apps/web/src/components/icons/completed.tsx b/apps/helixbox-app/src/components/icons/completed.tsx similarity index 100% rename from apps/web/src/components/icons/completed.tsx rename to apps/helixbox-app/src/components/icons/completed.tsx diff --git a/apps/web/src/components/icons/pending.tsx b/apps/helixbox-app/src/components/icons/pending.tsx similarity index 100% rename from apps/web/src/components/icons/pending.tsx rename to apps/helixbox-app/src/components/icons/pending.tsx diff --git a/apps/web/src/components/icons/wallet-svg.tsx b/apps/helixbox-app/src/components/icons/wallet-svg.tsx similarity index 100% rename from apps/web/src/components/icons/wallet-svg.tsx rename to apps/helixbox-app/src/components/icons/wallet-svg.tsx diff --git a/apps/web/src/components/modals/disclaimer-modal.tsx b/apps/helixbox-app/src/components/modals/disclaimer-modal.tsx similarity index 100% rename from apps/web/src/components/modals/disclaimer-modal.tsx rename to apps/helixbox-app/src/components/modals/disclaimer-modal.tsx diff --git a/apps/web/src/components/modals/relayer-manage-modal.tsx b/apps/helixbox-app/src/components/modals/relayer-manage-modal.tsx similarity index 100% rename from apps/web/src/components/modals/relayer-manage-modal.tsx rename to apps/helixbox-app/src/components/modals/relayer-manage-modal.tsx diff --git a/apps/web/src/components/modals/relayer-manage-v3-modal.tsx b/apps/helixbox-app/src/components/modals/relayer-manage-v3-modal.tsx similarity index 100% rename from apps/web/src/components/modals/relayer-manage-v3-modal.tsx rename to apps/helixbox-app/src/components/modals/relayer-manage-v3-modal.tsx diff --git a/apps/web/src/components/modals/transfer-modal.tsx b/apps/helixbox-app/src/components/modals/transfer-modal.tsx similarity index 100% rename from apps/web/src/components/modals/transfer-modal.tsx rename to apps/helixbox-app/src/components/modals/transfer-modal.tsx diff --git a/apps/web/src/components/pretty-address.tsx b/apps/helixbox-app/src/components/pretty-address.tsx similarity index 100% rename from apps/web/src/components/pretty-address.tsx rename to apps/helixbox-app/src/components/pretty-address.tsx diff --git a/apps/helixbox-app/src/components/pwa-badge.tsx b/apps/helixbox-app/src/components/pwa-badge.tsx new file mode 100644 index 000000000..064a1aece --- /dev/null +++ b/apps/helixbox-app/src/components/pwa-badge.tsx @@ -0,0 +1,74 @@ +import { useRegisterSW } from "virtual:pwa-register/react"; +import Button from "../ui/button"; + +export default function PWABadge() { + // Periodic sync is disabled, change the value to enable it, the period is in milliseconds + // You can remove onRegisteredSW callback and registerPeriodicSync function + const period = 0; + + const { + needRefresh: [needRefresh, setNeedRefresh], + updateServiceWorker, + } = useRegisterSW({ + onRegisteredSW(swUrl, r) { + if (period <= 0) return; + if (r?.active?.state === "activated") { + registerPeriodicSync(period, swUrl, r); + } else if (r?.installing) { + r.installing.addEventListener("statechange", (e) => { + const sw = e.target as ServiceWorker; + if (sw.state === "activated") registerPeriodicSync(period, swUrl, r); + }); + } + }, + }); + + function close() { + setNeedRefresh(false); + } + + return ( +
+ {needRefresh && ( +
+ + New content available, click on Reload button to update. + +
+ + +
+
+ )} +
+ ); +} + +/** + * This function will register a periodic sync check every hour, you can modify the interval as needed. + */ +function registerPeriodicSync(period: number, swUrl: string, r: ServiceWorkerRegistration) { + if (period <= 0) return; + + setInterval(async () => { + if ("onLine" in navigator && !navigator.onLine) return; + + const resp = await fetch(swUrl, { + cache: "no-store", + headers: { + cache: "no-store", + "cache-control": "no-cache", + }, + }); + + if (resp?.status === 200) await r.update(); + }, period); +} diff --git a/apps/web/src/components/recipient-input.tsx b/apps/helixbox-app/src/components/recipient-input.tsx similarity index 100% rename from apps/web/src/components/recipient-input.tsx rename to apps/helixbox-app/src/components/recipient-input.tsx diff --git a/apps/web/src/components/record-detail.tsx b/apps/helixbox-app/src/components/record-detail.tsx similarity index 100% rename from apps/web/src/components/record-detail.tsx rename to apps/helixbox-app/src/components/record-detail.tsx diff --git a/apps/web/src/components/records-table.tsx b/apps/helixbox-app/src/components/records-table.tsx similarity index 100% rename from apps/web/src/components/records-table.tsx rename to apps/helixbox-app/src/components/records-table.tsx diff --git a/apps/web/src/components/relayer-allowance.tsx b/apps/helixbox-app/src/components/relayer-allowance.tsx similarity index 100% rename from apps/web/src/components/relayer-allowance.tsx rename to apps/helixbox-app/src/components/relayer-allowance.tsx diff --git a/apps/web/src/components/relayer-balance.tsx b/apps/helixbox-app/src/components/relayer-balance.tsx similarity index 100% rename from apps/web/src/components/relayer-balance.tsx rename to apps/helixbox-app/src/components/relayer-balance.tsx diff --git a/apps/web/src/components/relayer-penalty.tsx b/apps/helixbox-app/src/components/relayer-penalty.tsx similarity index 100% rename from apps/web/src/components/relayer-penalty.tsx rename to apps/helixbox-app/src/components/relayer-penalty.tsx diff --git a/apps/web/src/components/relayer-register-v3.tsx b/apps/helixbox-app/src/components/relayer-register-v3.tsx similarity index 100% rename from apps/web/src/components/relayer-register-v3.tsx rename to apps/helixbox-app/src/components/relayer-register-v3.tsx diff --git a/apps/web/src/components/relayer-register.tsx b/apps/helixbox-app/src/components/relayer-register.tsx similarity index 100% rename from apps/web/src/components/relayer-register.tsx rename to apps/helixbox-app/src/components/relayer-register.tsx diff --git a/apps/web/src/components/relayer-total-liquidity.tsx b/apps/helixbox-app/src/components/relayer-total-liquidity.tsx similarity index 100% rename from apps/web/src/components/relayer-total-liquidity.tsx rename to apps/helixbox-app/src/components/relayer-total-liquidity.tsx diff --git a/apps/web/src/components/relayer/index.tsx b/apps/helixbox-app/src/components/relayer/index.tsx similarity index 100% rename from apps/web/src/components/relayer/index.tsx rename to apps/helixbox-app/src/components/relayer/index.tsx diff --git a/apps/web/src/components/relayer/manage.tsx b/apps/helixbox-app/src/components/relayer/manage.tsx similarity index 100% rename from apps/web/src/components/relayer/manage.tsx rename to apps/helixbox-app/src/components/relayer/manage.tsx diff --git a/apps/web/src/components/relayer/overview.tsx b/apps/helixbox-app/src/components/relayer/overview.tsx similarity index 100% rename from apps/web/src/components/relayer/overview.tsx rename to apps/helixbox-app/src/components/relayer/overview.tsx diff --git a/apps/web/src/components/relayer/pagination.tsx b/apps/helixbox-app/src/components/relayer/pagination.tsx similarity index 100% rename from apps/web/src/components/relayer/pagination.tsx rename to apps/helixbox-app/src/components/relayer/pagination.tsx diff --git a/apps/web/src/components/relayer/relayers-table/chain.tsx b/apps/helixbox-app/src/components/relayer/relayers-table/chain.tsx similarity index 100% rename from apps/web/src/components/relayer/relayers-table/chain.tsx rename to apps/helixbox-app/src/components/relayer/relayers-table/chain.tsx diff --git a/apps/web/src/components/relayer/relayers-table/columns.tsx b/apps/helixbox-app/src/components/relayer/relayers-table/columns.tsx similarity index 100% rename from apps/web/src/components/relayer/relayers-table/columns.tsx rename to apps/helixbox-app/src/components/relayer/relayers-table/columns.tsx diff --git a/apps/web/src/components/relayer/relayers-table/index.tsx b/apps/helixbox-app/src/components/relayer/relayers-table/index.tsx similarity index 100% rename from apps/web/src/components/relayer/relayers-table/index.tsx rename to apps/helixbox-app/src/components/relayer/relayers-table/index.tsx diff --git a/apps/web/src/components/relayer/relayers-table/status.tsx b/apps/helixbox-app/src/components/relayer/relayers-table/status.tsx similarity index 100% rename from apps/web/src/components/relayer/relayers-table/status.tsx rename to apps/helixbox-app/src/components/relayer/relayers-table/status.tsx diff --git a/apps/web/src/components/relayer/relayers-table/title.tsx b/apps/helixbox-app/src/components/relayer/relayers-table/title.tsx similarity index 100% rename from apps/web/src/components/relayer/relayers-table/title.tsx rename to apps/helixbox-app/src/components/relayer/relayers-table/title.tsx diff --git a/apps/web/src/components/relayer/table.tsx b/apps/helixbox-app/src/components/relayer/table.tsx similarity index 100% rename from apps/web/src/components/relayer/table.tsx rename to apps/helixbox-app/src/components/relayer/table.tsx diff --git a/apps/web/src/components/relayer/tabs.tsx b/apps/helixbox-app/src/components/relayer/tabs.tsx similarity index 100% rename from apps/web/src/components/relayer/tabs.tsx rename to apps/helixbox-app/src/components/relayer/tabs.tsx diff --git a/apps/web/src/components/relayer/version-switch.tsx b/apps/helixbox-app/src/components/relayer/version-switch.tsx similarity index 100% rename from apps/web/src/components/relayer/version-switch.tsx rename to apps/helixbox-app/src/components/relayer/version-switch.tsx diff --git a/apps/web/src/components/relayers-table.tsx b/apps/helixbox-app/src/components/relayers-table.tsx similarity index 100% rename from apps/web/src/components/relayers-table.tsx rename to apps/helixbox-app/src/components/relayers-table.tsx diff --git a/apps/helixbox-app/src/components/slogan-container.tsx b/apps/helixbox-app/src/components/slogan-container.tsx new file mode 100644 index 000000000..e9874f414 --- /dev/null +++ b/apps/helixbox-app/src/components/slogan-container.tsx @@ -0,0 +1,8 @@ +export default function SloganContainer({ children, className }: { children: React.ReactNode; className?: string }) { + return ( +
+
+ {children} +
+ ); +} diff --git a/apps/helixbox-app/src/components/solverpage-feature.tsx b/apps/helixbox-app/src/components/solverpage-feature.tsx new file mode 100644 index 000000000..dcac97c92 --- /dev/null +++ b/apps/helixbox-app/src/components/solverpage-feature.tsx @@ -0,0 +1,27 @@ +interface Props { + content: string; + img: string; + color: string; +} + +export default function SolverpageFeature({ content, img, color }: Props) { + return ( +
+

{content}

+ +
+
+ feature +
+
+ ); +} + +// box-shadow: 0px 0px 196px 0px rgba(139, 82, 229, 1); +// background: linear-gradient(180deg, #5C00A3 0%, #8B52E5 100%); diff --git a/apps/web/src/components/step-complete-item.tsx b/apps/helixbox-app/src/components/step-complete-item.tsx similarity index 100% rename from apps/web/src/components/step-complete-item.tsx rename to apps/helixbox-app/src/components/step-complete-item.tsx diff --git a/apps/web/src/components/token-select.tsx b/apps/helixbox-app/src/components/token-select.tsx similarity index 100% rename from apps/web/src/components/token-select.tsx rename to apps/helixbox-app/src/components/token-select.tsx diff --git a/apps/web/src/components/token-to-receive.tsx b/apps/helixbox-app/src/components/token-to-receive.tsx similarity index 100% rename from apps/web/src/components/token-to-receive.tsx rename to apps/helixbox-app/src/components/token-to-receive.tsx diff --git a/apps/web/src/components/token-transfer.tsx b/apps/helixbox-app/src/components/token-transfer.tsx similarity index 100% rename from apps/web/src/components/token-transfer.tsx rename to apps/helixbox-app/src/components/token-transfer.tsx diff --git a/apps/web/src/components/transaction-fee.tsx b/apps/helixbox-app/src/components/transaction-fee.tsx similarity index 100% rename from apps/web/src/components/transaction-fee.tsx rename to apps/helixbox-app/src/components/transaction-fee.tsx diff --git a/apps/web/src/components/transaction-hash.tsx b/apps/helixbox-app/src/components/transaction-hash.tsx similarity index 100% rename from apps/web/src/components/transaction-hash.tsx rename to apps/helixbox-app/src/components/transaction-hash.tsx diff --git a/apps/web/src/components/transaction-status.tsx b/apps/helixbox-app/src/components/transaction-status.tsx similarity index 100% rename from apps/web/src/components/transaction-status.tsx rename to apps/helixbox-app/src/components/transaction-status.tsx diff --git a/apps/web/src/components/transaction-timestamp.tsx b/apps/helixbox-app/src/components/transaction-timestamp.tsx similarity index 100% rename from apps/web/src/components/transaction-timestamp.tsx rename to apps/helixbox-app/src/components/transaction-timestamp.tsx diff --git a/apps/web/src/components/transaction-value.tsx b/apps/helixbox-app/src/components/transaction-value.tsx similarity index 100% rename from apps/web/src/components/transaction-value.tsx rename to apps/helixbox-app/src/components/transaction-value.tsx diff --git a/apps/web/src/components/transfer-amount-input.tsx b/apps/helixbox-app/src/components/transfer-amount-input.tsx similarity index 100% rename from apps/web/src/components/transfer-amount-input.tsx rename to apps/helixbox-app/src/components/transfer-amount-input.tsx diff --git a/apps/web/src/components/transfer-amount-section.tsx b/apps/helixbox-app/src/components/transfer-amount-section.tsx similarity index 100% rename from apps/web/src/components/transfer-amount-section.tsx rename to apps/helixbox-app/src/components/transfer-amount-section.tsx diff --git a/apps/web/src/components/transfer-chain-section.tsx b/apps/helixbox-app/src/components/transfer-chain-section.tsx similarity index 100% rename from apps/web/src/components/transfer-chain-section.tsx rename to apps/helixbox-app/src/components/transfer-chain-section.tsx diff --git a/apps/web/src/components/transfer-chain-select.tsx b/apps/helixbox-app/src/components/transfer-chain-select.tsx similarity index 100% rename from apps/web/src/components/transfer-chain-select.tsx rename to apps/helixbox-app/src/components/transfer-chain-select.tsx diff --git a/apps/web/src/components/transfer-chain-selector.tsx b/apps/helixbox-app/src/components/transfer-chain-selector.tsx similarity index 100% rename from apps/web/src/components/transfer-chain-selector.tsx rename to apps/helixbox-app/src/components/transfer-chain-selector.tsx diff --git a/apps/web/src/components/transfer-information-section.tsx b/apps/helixbox-app/src/components/transfer-information-section.tsx similarity index 100% rename from apps/web/src/components/transfer-information-section.tsx rename to apps/helixbox-app/src/components/transfer-information-section.tsx diff --git a/apps/web/src/components/transfer-information.tsx b/apps/helixbox-app/src/components/transfer-information.tsx similarity index 100% rename from apps/web/src/components/transfer-information.tsx rename to apps/helixbox-app/src/components/transfer-information.tsx diff --git a/apps/web/src/components/transfer-route.tsx b/apps/helixbox-app/src/components/transfer-route.tsx similarity index 100% rename from apps/web/src/components/transfer-route.tsx rename to apps/helixbox-app/src/components/transfer-route.tsx diff --git a/apps/web/src/components/transfer-section-title.tsx b/apps/helixbox-app/src/components/transfer-section-title.tsx similarity index 100% rename from apps/web/src/components/transfer-section-title.tsx rename to apps/helixbox-app/src/components/transfer-section-title.tsx diff --git a/apps/web/src/components/transfer-section.tsx b/apps/helixbox-app/src/components/transfer-section.tsx similarity index 100% rename from apps/web/src/components/transfer-section.tsx rename to apps/helixbox-app/src/components/transfer-section.tsx diff --git a/apps/web/src/components/transfer-switch.tsx b/apps/helixbox-app/src/components/transfer-switch.tsx similarity index 100% rename from apps/web/src/components/transfer-switch.tsx rename to apps/helixbox-app/src/components/transfer-switch.tsx diff --git a/apps/web/src/components/transfer-token-section.tsx b/apps/helixbox-app/src/components/transfer-token-section.tsx similarity index 100% rename from apps/web/src/components/transfer-token-section.tsx rename to apps/helixbox-app/src/components/transfer-token-section.tsx diff --git a/apps/web/src/components/transfer-token-select.tsx b/apps/helixbox-app/src/components/transfer-token-select.tsx similarity index 100% rename from apps/web/src/components/transfer-token-select.tsx rename to apps/helixbox-app/src/components/transfer-token-select.tsx diff --git a/apps/web/src/components/transfer.tsx b/apps/helixbox-app/src/components/transfer.tsx similarity index 100% rename from apps/web/src/components/transfer.tsx rename to apps/helixbox-app/src/components/transfer.tsx diff --git a/apps/web/src/components/user.tsx b/apps/helixbox-app/src/components/user.tsx similarity index 100% rename from apps/web/src/components/user.tsx rename to apps/helixbox-app/src/components/user.tsx diff --git a/apps/web/src/components/version-switch.tsx b/apps/helixbox-app/src/components/version-switch.tsx similarity index 100% rename from apps/web/src/components/version-switch.tsx rename to apps/helixbox-app/src/components/version-switch.tsx diff --git a/apps/web/src/components/withdrawable-liquidities-select.tsx b/apps/helixbox-app/src/components/withdrawable-liquidities-select.tsx similarity index 100% rename from apps/web/src/components/withdrawable-liquidities-select.tsx rename to apps/helixbox-app/src/components/withdrawable-liquidities-select.tsx diff --git a/apps/web/src/config/chains/arbitrum-sepolia.ts b/apps/helixbox-app/src/config/chains/arbitrum-sepolia.ts similarity index 100% rename from apps/web/src/config/chains/arbitrum-sepolia.ts rename to apps/helixbox-app/src/config/chains/arbitrum-sepolia.ts diff --git a/apps/web/src/config/chains/arbitrum.ts b/apps/helixbox-app/src/config/chains/arbitrum.ts similarity index 100% rename from apps/web/src/config/chains/arbitrum.ts rename to apps/helixbox-app/src/config/chains/arbitrum.ts diff --git a/apps/web/src/config/chains/astar-zkevm.ts b/apps/helixbox-app/src/config/chains/astar-zkevm.ts similarity index 100% rename from apps/web/src/config/chains/astar-zkevm.ts rename to apps/helixbox-app/src/config/chains/astar-zkevm.ts diff --git a/apps/web/src/config/chains/avalanche.ts b/apps/helixbox-app/src/config/chains/avalanche.ts similarity index 100% rename from apps/web/src/config/chains/avalanche.ts rename to apps/helixbox-app/src/config/chains/avalanche.ts diff --git a/apps/web/src/config/chains/base-sepolia.ts b/apps/helixbox-app/src/config/chains/base-sepolia.ts similarity index 100% rename from apps/web/src/config/chains/base-sepolia.ts rename to apps/helixbox-app/src/config/chains/base-sepolia.ts diff --git a/apps/web/src/config/chains/base.ts b/apps/helixbox-app/src/config/chains/base.ts similarity index 100% rename from apps/web/src/config/chains/base.ts rename to apps/helixbox-app/src/config/chains/base.ts diff --git a/apps/web/src/config/chains/bera.ts b/apps/helixbox-app/src/config/chains/bera.ts similarity index 100% rename from apps/web/src/config/chains/bera.ts rename to apps/helixbox-app/src/config/chains/bera.ts diff --git a/apps/web/src/config/chains/blast.ts b/apps/helixbox-app/src/config/chains/blast.ts similarity index 100% rename from apps/web/src/config/chains/blast.ts rename to apps/helixbox-app/src/config/chains/blast.ts diff --git a/apps/web/src/config/chains/bsc.ts b/apps/helixbox-app/src/config/chains/bsc.ts similarity index 100% rename from apps/web/src/config/chains/bsc.ts rename to apps/helixbox-app/src/config/chains/bsc.ts diff --git a/apps/web/src/config/chains/crab.ts b/apps/helixbox-app/src/config/chains/crab.ts similarity index 100% rename from apps/web/src/config/chains/crab.ts rename to apps/helixbox-app/src/config/chains/crab.ts diff --git a/apps/web/src/config/chains/darwinia.ts b/apps/helixbox-app/src/config/chains/darwinia.ts similarity index 100% rename from apps/web/src/config/chains/darwinia.ts rename to apps/helixbox-app/src/config/chains/darwinia.ts diff --git a/apps/web/src/config/chains/ethereum.ts b/apps/helixbox-app/src/config/chains/ethereum.ts similarity index 100% rename from apps/web/src/config/chains/ethereum.ts rename to apps/helixbox-app/src/config/chains/ethereum.ts diff --git a/apps/web/src/config/chains/gnosis.ts b/apps/helixbox-app/src/config/chains/gnosis.ts similarity index 100% rename from apps/web/src/config/chains/gnosis.ts rename to apps/helixbox-app/src/config/chains/gnosis.ts diff --git a/apps/web/src/config/chains/index.ts b/apps/helixbox-app/src/config/chains/index.ts similarity index 100% rename from apps/web/src/config/chains/index.ts rename to apps/helixbox-app/src/config/chains/index.ts diff --git a/apps/web/src/config/chains/linea.ts b/apps/helixbox-app/src/config/chains/linea.ts similarity index 100% rename from apps/web/src/config/chains/linea.ts rename to apps/helixbox-app/src/config/chains/linea.ts diff --git a/apps/web/src/config/chains/mantle.ts b/apps/helixbox-app/src/config/chains/mantle.ts similarity index 100% rename from apps/web/src/config/chains/mantle.ts rename to apps/helixbox-app/src/config/chains/mantle.ts diff --git a/apps/web/src/config/chains/moonbeam.ts b/apps/helixbox-app/src/config/chains/moonbeam.ts similarity index 100% rename from apps/web/src/config/chains/moonbeam.ts rename to apps/helixbox-app/src/config/chains/moonbeam.ts diff --git a/apps/web/src/config/chains/morph-testnet.ts b/apps/helixbox-app/src/config/chains/morph-testnet.ts similarity index 100% rename from apps/web/src/config/chains/morph-testnet.ts rename to apps/helixbox-app/src/config/chains/morph-testnet.ts diff --git a/apps/web/src/config/chains/morph.ts b/apps/helixbox-app/src/config/chains/morph.ts similarity index 100% rename from apps/web/src/config/chains/morph.ts rename to apps/helixbox-app/src/config/chains/morph.ts diff --git a/apps/web/src/config/chains/optimism.ts b/apps/helixbox-app/src/config/chains/optimism.ts similarity index 100% rename from apps/web/src/config/chains/optimism.ts rename to apps/helixbox-app/src/config/chains/optimism.ts diff --git a/apps/web/src/config/chains/polygon.ts b/apps/helixbox-app/src/config/chains/polygon.ts similarity index 100% rename from apps/web/src/config/chains/polygon.ts rename to apps/helixbox-app/src/config/chains/polygon.ts diff --git a/apps/web/src/config/chains/scroll.ts b/apps/helixbox-app/src/config/chains/scroll.ts similarity index 100% rename from apps/web/src/config/chains/scroll.ts rename to apps/helixbox-app/src/config/chains/scroll.ts diff --git a/apps/web/src/config/chains/sepolia.ts b/apps/helixbox-app/src/config/chains/sepolia.ts similarity index 100% rename from apps/web/src/config/chains/sepolia.ts rename to apps/helixbox-app/src/config/chains/sepolia.ts diff --git a/apps/web/src/config/chains/taiko-hekla.ts b/apps/helixbox-app/src/config/chains/taiko-hekla.ts similarity index 100% rename from apps/web/src/config/chains/taiko-hekla.ts rename to apps/helixbox-app/src/config/chains/taiko-hekla.ts diff --git a/apps/web/src/config/chains/zircuit-sepolia.ts b/apps/helixbox-app/src/config/chains/zircuit-sepolia.ts similarity index 100% rename from apps/web/src/config/chains/zircuit-sepolia.ts rename to apps/helixbox-app/src/config/chains/zircuit-sepolia.ts diff --git a/apps/web/src/config/chains/zircuit.ts b/apps/helixbox-app/src/config/chains/zircuit.ts similarity index 100% rename from apps/web/src/config/chains/zircuit.ts rename to apps/helixbox-app/src/config/chains/zircuit.ts diff --git a/apps/web/src/config/chains/zksync-sepolia.ts b/apps/helixbox-app/src/config/chains/zksync-sepolia.ts similarity index 100% rename from apps/web/src/config/chains/zksync-sepolia.ts rename to apps/helixbox-app/src/config/chains/zksync-sepolia.ts diff --git a/apps/web/src/config/chains/zksync.ts b/apps/helixbox-app/src/config/chains/zksync.ts similarity index 100% rename from apps/web/src/config/chains/zksync.ts rename to apps/helixbox-app/src/config/chains/zksync.ts diff --git a/apps/web/src/config/constant.ts b/apps/helixbox-app/src/config/constant.ts similarity index 100% rename from apps/web/src/config/constant.ts rename to apps/helixbox-app/src/config/constant.ts diff --git a/apps/web/src/config/gql.ts b/apps/helixbox-app/src/config/gql.ts similarity index 100% rename from apps/web/src/config/gql.ts rename to apps/helixbox-app/src/config/gql.ts diff --git a/apps/web/src/config/index.ts b/apps/helixbox-app/src/config/index.ts similarity index 100% rename from apps/web/src/config/index.ts rename to apps/helixbox-app/src/config/index.ts diff --git a/apps/web/src/global.d.ts b/apps/helixbox-app/src/global.d.ts similarity index 100% rename from apps/web/src/global.d.ts rename to apps/helixbox-app/src/global.d.ts diff --git a/apps/web/src/hooks/index.ts b/apps/helixbox-app/src/hooks/index.ts similarity index 100% rename from apps/web/src/hooks/index.ts rename to apps/helixbox-app/src/hooks/index.ts diff --git a/apps/web/src/hooks/use-all-allowance.ts b/apps/helixbox-app/src/hooks/use-all-allowance.ts similarity index 100% rename from apps/web/src/hooks/use-all-allowance.ts rename to apps/helixbox-app/src/hooks/use-all-allowance.ts diff --git a/apps/web/src/hooks/use-allowance.ts b/apps/helixbox-app/src/hooks/use-allowance.ts similarity index 100% rename from apps/web/src/hooks/use-allowance.ts rename to apps/helixbox-app/src/hooks/use-allowance.ts diff --git a/apps/web/src/hooks/use-app.ts b/apps/helixbox-app/src/hooks/use-app.ts similarity index 100% rename from apps/web/src/hooks/use-app.ts rename to apps/helixbox-app/src/hooks/use-app.ts diff --git a/apps/web/src/hooks/use-balance-all.ts b/apps/helixbox-app/src/hooks/use-balance-all.ts similarity index 100% rename from apps/web/src/hooks/use-balance-all.ts rename to apps/helixbox-app/src/hooks/use-balance-all.ts diff --git a/apps/web/src/hooks/use-balance.ts b/apps/helixbox-app/src/hooks/use-balance.ts similarity index 100% rename from apps/web/src/hooks/use-balance.ts rename to apps/helixbox-app/src/hooks/use-balance.ts diff --git a/apps/web/src/hooks/use-daily-limit.ts b/apps/helixbox-app/src/hooks/use-daily-limit.ts similarity index 100% rename from apps/web/src/hooks/use-daily-limit.ts rename to apps/helixbox-app/src/hooks/use-daily-limit.ts diff --git a/apps/web/src/hooks/use-explorer-tx.ts b/apps/helixbox-app/src/hooks/use-explorer-tx.ts similarity index 100% rename from apps/web/src/hooks/use-explorer-tx.ts rename to apps/helixbox-app/src/hooks/use-explorer-tx.ts diff --git a/apps/web/src/hooks/use-history-details.ts b/apps/helixbox-app/src/hooks/use-history-details.ts similarity index 100% rename from apps/web/src/hooks/use-history-details.ts rename to apps/helixbox-app/src/hooks/use-history-details.ts diff --git a/apps/web/src/hooks/use-history.ts b/apps/helixbox-app/src/hooks/use-history.ts similarity index 100% rename from apps/web/src/hooks/use-history.ts rename to apps/helixbox-app/src/hooks/use-history.ts diff --git a/apps/web/src/hooks/use-liquidity-withdraw-fee-params.ts b/apps/helixbox-app/src/hooks/use-liquidity-withdraw-fee-params.ts similarity index 100% rename from apps/web/src/hooks/use-liquidity-withdraw-fee-params.ts rename to apps/helixbox-app/src/hooks/use-liquidity-withdraw-fee-params.ts diff --git a/apps/web/src/hooks/use-max-transfer.ts b/apps/helixbox-app/src/hooks/use-max-transfer.ts similarity index 100% rename from apps/web/src/hooks/use-max-transfer.ts rename to apps/helixbox-app/src/hooks/use-max-transfer.ts diff --git a/apps/web/src/hooks/use-media-query.ts b/apps/helixbox-app/src/hooks/use-media-query.ts similarity index 100% rename from apps/web/src/hooks/use-media-query.ts rename to apps/helixbox-app/src/hooks/use-media-query.ts diff --git a/apps/web/src/hooks/use-relayer-v3.ts b/apps/helixbox-app/src/hooks/use-relayer-v3.ts similarity index 100% rename from apps/web/src/hooks/use-relayer-v3.ts rename to apps/helixbox-app/src/hooks/use-relayer-v3.ts diff --git a/apps/web/src/hooks/use-relayer.ts b/apps/helixbox-app/src/hooks/use-relayer.ts similarity index 100% rename from apps/web/src/hooks/use-relayer.ts rename to apps/helixbox-app/src/hooks/use-relayer.ts diff --git a/apps/web/src/hooks/use-relayers-data.ts b/apps/helixbox-app/src/hooks/use-relayers-data.ts similarity index 100% rename from apps/web/src/hooks/use-relayers-data.ts rename to apps/helixbox-app/src/hooks/use-relayers-data.ts diff --git a/apps/web/src/hooks/use-sorted-relayers.ts b/apps/helixbox-app/src/hooks/use-sorted-relayers.ts similarity index 100% rename from apps/web/src/hooks/use-sorted-relayers.ts rename to apps/helixbox-app/src/hooks/use-sorted-relayers.ts diff --git a/apps/web/src/hooks/use-supported-chains.ts b/apps/helixbox-app/src/hooks/use-supported-chains.ts similarity index 100% rename from apps/web/src/hooks/use-supported-chains.ts rename to apps/helixbox-app/src/hooks/use-supported-chains.ts diff --git a/apps/web/src/hooks/use-toggle.ts b/apps/helixbox-app/src/hooks/use-toggle.ts similarity index 100% rename from apps/web/src/hooks/use-toggle.ts rename to apps/helixbox-app/src/hooks/use-toggle.ts diff --git a/apps/web/src/hooks/use-transaction-fee.ts b/apps/helixbox-app/src/hooks/use-transaction-fee.ts similarity index 100% rename from apps/web/src/hooks/use-transaction-fee.ts rename to apps/helixbox-app/src/hooks/use-transaction-fee.ts diff --git a/apps/web/src/hooks/use-transfer.ts b/apps/helixbox-app/src/hooks/use-transfer.ts similarity index 100% rename from apps/web/src/hooks/use-transfer.ts rename to apps/helixbox-app/src/hooks/use-transfer.ts diff --git a/apps/web/src/hooks/use-txs.ts b/apps/helixbox-app/src/hooks/use-txs.ts similarity index 100% rename from apps/web/src/hooks/use-txs.ts rename to apps/helixbox-app/src/hooks/use-txs.ts diff --git a/apps/web/src/hooks/use-withdrawable-liquidities.ts b/apps/helixbox-app/src/hooks/use-withdrawable-liquidities.ts similarity index 100% rename from apps/web/src/hooks/use-withdrawable-liquidities.ts rename to apps/helixbox-app/src/hooks/use-withdrawable-liquidities.ts diff --git a/apps/web/src/index.css b/apps/helixbox-app/src/index.css similarity index 67% rename from apps/web/src/index.css rename to apps/helixbox-app/src/index.css index 5084c27d9..a3272eb93 100644 --- a/apps/web/src/index.css +++ b/apps/helixbox-app/src/index.css @@ -2,9 +2,102 @@ @tailwind components; @tailwind utilities; +@layer base { + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 100; + src: url(/fonts/IBMPlexSans-Thin.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 100; + src: url(/fonts/IBMPlexSans-ThinItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 200; + src: url(/fonts/IBMPlexSans-ExtraLight.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 200; + src: url(/fonts/IBMPlexSans-ExtraLightItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 300; + src: url(/fonts/IBMPlexSans-Light.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 300; + src: url(/fonts/IBMPlexSans-LightItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 400; + src: url(/fonts/IBMPlexSans-Regular.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 400; + src: url(/fonts/IBMPlexSans-Italic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 500; + src: url(/fonts/IBMPlexSans-Medium.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 500; + src: url(/fonts/IBMPlexSans-MediumItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 600; + src: url(/fonts/IBMPlexSans-SemiBold.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 600; + src: url(/fonts/IBMPlexSans-SemiBoldItalic.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: normal; + font-weight: 700 800; + src: url(/fonts/IBMPlexSans-Bold.ttf); + } + @font-face { + font-family: "IBMPlexSans"; + font-style: italic; + font-weight: 700 800; + src: url(/fonts/IBMPlexSans-BoldItalic.ttf); + } + @font-face { + font-family: "KronaOne"; + font-style: normal; + font-weight: 400; + src: url(/fonts/KronaOne-Regular.ttf); + } +} + @layer components { .app-scrollbar::-webkit-scrollbar { - width: 6px; + width: 4px; } .app-scrollbar::-webkit-scrollbar-thumb { border-radius: 10px; @@ -26,15 +119,15 @@ /* Page */ .page-container { - @apply mx-auto w-full max-w-8xl px-medium py-5; + @apply max-w-8xl px-medium mx-auto w-full py-5; } /* User */ .user-connect-wallet { - @apply flex h-9 shrink-0 items-center gap-medium rounded-medium bg-primary px-large transition lg:hover:bg-primary/80 lg:active:translate-y-1; + @apply gap-medium rounded-medium bg-primary px-large lg:hover:bg-primary/80 flex h-9 shrink-0 items-center transition lg:active:translate-y-1; } .user-dropdown-item { - @apply inline-flex items-center gap-medium rounded-xl px-medium py-small text-start transition hover:bg-white/10 lg:active:translate-y-1; + @apply gap-medium px-medium py-small inline-flex items-center rounded-xl text-start transition hover:bg-white/10 lg:active:translate-y-1; } .button { @@ -52,7 +145,7 @@ } .select { - @apply border transition duration-300 focus-within:border-primary hover:border-primary disabled:cursor-not-allowed disabled:opacity-60 lg:active:translate-y-1 lg:disabled:translate-y-0; + @apply focus-within:border-primary hover:border-primary border transition duration-300 disabled:cursor-not-allowed disabled:opacity-60 lg:active:translate-y-1 lg:disabled:translate-y-0; } } @@ -249,6 +342,25 @@ transition: opacity 150ms; } +.video-fade-enter { + opacity: 0; + transform: scale(0.9); +} +.video-fade-enter-active { + opacity: 1; + transform: scale(1); + transition: opacity 200ms, transform 200ms; +} +.video-fade-exit { + opacity: 1; + transform: scale(1); +} +.video-fade-exit-active { + opacity: 0; + transform: scale(0.9); + transition: opacity 200ms, transform 200ms; +} + /* History */ .history-table-fade-enter { opacity: 0; @@ -350,3 +462,14 @@ transform: scale(0.5); transition: transform 300ms; } + +/* For Webkit-based browsers (Chrome, Safari and Opera) */ +.scrollbar-hidden::-webkit-scrollbar { + display: none; +} + +/* For IE, Edge and Firefox */ +.scrollbar-hidden { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ +} diff --git a/apps/helixbox-app/src/layout.tsx b/apps/helixbox-app/src/layout.tsx new file mode 100644 index 000000000..0a7e5cb5c --- /dev/null +++ b/apps/helixbox-app/src/layout.tsx @@ -0,0 +1,20 @@ +import { Outlet } from "react-router-dom"; +import Header from "./components/header"; +import AppProvider from "./providers/app-provider"; +import GraphqlProvider from "./providers/graphql-provider"; +import WalletConnectProvider from "./providers/walletconnect-provider"; +import Footer from "./components/footer"; + +export default function Layout() { + return ( + + + +
+ +