From 7490a909b54f67838b7a22b1c0e03bc16feb42e1 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sun, 25 Jan 2026 14:15:14 +0000 Subject: [PATCH] Autosave: 20260125-141514 --- 502.html | 6 +- assets/pasted-20260125-132149-bf76a614.png | Bin 0 -> 85958 bytes assets/pasted-20260125-140107-3b747574.png | Bin 0 -> 83528 bytes backend/src/config.js | 7 +- frontend/next.config.mjs | 7 +- frontend/public/locales/de/common.json | 64 +-- frontend/public/locales/en/common.json | 206 ++++++-- frontend/public/locales/es/common.json | 64 +-- frontend/public/locales/fr/common.json | 60 +-- frontend/public/locales/ja/common.json | 46 ++ frontend/public/locales/ko/common.json | 46 ++ frontend/public/locales/ru/common.json | 48 ++ frontend/public/locales/zh/common.json | 174 +++++++ frontend/src/components/AsideMenuLayer.tsx | 20 +- frontend/src/components/FooterBar.tsx | 30 +- frontend/src/components/LanguageSwitcher.tsx | 24 +- frontend/src/components/Logo/index.tsx | 18 +- frontend/src/components/NavBar.tsx | 9 +- frontend/src/components/NavBarItem.tsx | 5 +- frontend/src/config.ts | 22 +- frontend/src/i18n.ts | 6 +- frontend/src/layouts/Authenticated.tsx | 30 +- frontend/src/layouts/Guest.tsx | 5 +- frontend/src/menuAside.ts | 218 ++++---- frontend/src/pages/_app.tsx | 10 +- frontend/src/pages/dashboard.tsx | 11 +- frontend/src/pages/exchange.tsx | 219 ++++++++ frontend/src/pages/index.tsx | 507 +++++++++++++------ frontend/src/pages/login.tsx | 114 ++--- frontend/src/pages/markets.tsx | 160 ++++++ frontend/src/pages/perpetual.tsx | 228 +++++++++ frontend/src/pages/second-contract.tsx | 198 ++++++++ frontend/src/styles.ts | 92 ++-- 33 files changed, 2035 insertions(+), 619 deletions(-) create mode 100644 assets/pasted-20260125-132149-bf76a614.png create mode 100644 assets/pasted-20260125-140107-3b747574.png create mode 100644 frontend/public/locales/ja/common.json create mode 100644 frontend/public/locales/ko/common.json create mode 100644 frontend/public/locales/ru/common.json create mode 100644 frontend/public/locales/zh/common.json create mode 100644 frontend/src/pages/exchange.tsx create mode 100644 frontend/src/pages/markets.tsx create mode 100644 frontend/src/pages/perpetual.tsx create mode 100644 frontend/src/pages/second-contract.tsx diff --git a/502.html b/502.html index a45ef36..19d9e4d 100644 --- a/502.html +++ b/502.html @@ -129,8 +129,8 @@

The application is currently launching. The page will automatically refresh once site is available.

-

AI App Draft

-

Crypto trading platform inspired by OKX with exchange, wallets, orders, and KYC.

+

ADML Exchange

+

Professional crypto trading platform with spot, perpetual contracts, and second contracts.

App Logo - \ No newline at end of file + diff --git a/assets/pasted-20260125-132149-bf76a614.png b/assets/pasted-20260125-132149-bf76a614.png new file mode 100644 index 0000000000000000000000000000000000000000..7663d74e51bc636eab5bbb0db22e84ae13f18589 GIT binary patch literal 85958 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 literal 0 HcmV?d00001 diff --git a/assets/pasted-20260125-140107-3b747574.png b/assets/pasted-20260125-140107-3b747574.png new file mode 100644 index 0000000000000000000000000000000000000000..18affe97c71f5595221dacd749579f03b4678af3 GIT binary patch literal 83528 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 Xl?U!AY{O{q4aC^MOut&!CG!6O@E9bs literal 0 HcmV?d00001 diff --git a/backend/src/config.js b/backend/src/config.js index 3cb1d63..dbeeaab 100644 --- a/backend/src/config.js +++ b/backend/src/config.js @@ -1,6 +1,3 @@ - - - const os = require('os'); const config = { @@ -39,7 +36,7 @@ const config = { }, uploadDir: os.tmpdir(), email: { - from: 'AI App Draft ', + from: 'ADML Exchange ', host: 'email-smtp.us-east-1.amazonaws.com', port: 587, auth: { @@ -76,4 +73,4 @@ config.swaggerUrl = `${config.swaggerUI}${config.swaggerPort}`; config.uiUrl = `${config.hostUI}${config.portUI ? `:${config.portUI}` : ``}/#`; config.backUrl = `${config.hostUI}${config.portUI ? `:${config.portUI}` : ``}`; -module.exports = config; +module.exports = config; \ No newline at end of file diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs index 89767ec..ba66881 100644 --- a/frontend/next.config.mjs +++ b/frontend/next.config.mjs @@ -2,11 +2,9 @@ * @type {import('next').NextConfig} */ -const output = process.env.NODE_ENV === 'production' ? 'export' : 'standalone'; - const nextConfig = { -trailingSlash: true, +const nextConfig = { + trailingSlash: true, distDir: 'build', - output, basePath: "", devIndicators: { position: 'bottom-left', @@ -26,7 +24,6 @@ trailingSlash: true, }, ], }, - } export default nextConfig \ No newline at end of file diff --git a/frontend/public/locales/de/common.json b/frontend/public/locales/de/common.json index 7f2d578..1453fd2 100644 --- a/frontend/public/locales/de/common.json +++ b/frontend/public/locales/de/common.json @@ -2,54 +2,32 @@ "pages": { "dashboard": { "pageTitle": "Dashboard", - "overview": "Übersicht", + "overview": "ADML Exchange Übersicht", "loadingWidgets": "Widgets werden geladen...", - "loading": "Laden..." + "loading": "Wird geladen..." }, "login": { - "pageTitle": "Anmeldung", - - "sampleCredentialsAdmin": "Verwenden Sie {{email}} / {{password}}, um sich als Administrator anzumelden", - "sampleCredentialsUser": "Verwenden Sie {{email}} / {{password}}, um sich als Benutzer anzumelden", - + "pageTitle": "Login", "form": { - "loginLabel": "Login", - "loginHelp": "Bitte geben Sie Ihren Login ein", - "passwordLabel": "Passwort", - "passwordHelp": "Bitte geben Sie Ihr Passwort ein", - "remember": "Angemeldet bleiben", - "forgotPassword": "Passwort vergessen?", - "loginButton": "Anmelden", - "loading": "Wird geladen...", - "noAccountYet": "Noch kein Konto?", - "newAccount": "Neues Konto" - }, - - "pexels": { - "photoCredit": "Foto von {{photographer}} auf Pexels", - "videoCredit": "Video von {{name}} auf Pexels", - "videoUnsupported": "Ihr Browser unterstützt das Video-Tag nicht." - }, - - "footer": { - "copyright": "© {{year}} {{title}}. Alle Rechte vorbehalten", - "privacy": "Datenschutzrichtlinie" + "loginLabel": "Login", + "loginHelp": "Bitte geben Sie Ihren Login ein", + "passwordLabel": "Passwort", + "passwordHelp": "Bitte geben Sie Ihr Passwort ein", + "remember": "Angemeldet bleiben", + "forgotPassword": "Passwort vergessen?", + "loginButton": "Anmelden", + "loading": "Wird geladen...", + "noAccountYet": "Noch kein Konto?", + "newAccount": "Neues Konto registrieren" } - } - }, - "components": { - "widgetCreator": { - "title": "Diagramm oder Widget erstellen", - "helpText": "Beschreiben Sie Ihr neues Widget oder Diagramm in natürlicher Sprache. Zum Beispiel: \"Anzahl der Admin-Benutzer\" ODER \"rotes Diagramm mit der Anzahl geschlossener Verträge gruppiert nach Monat\"", - "settingsTitle": "Einstellungen für Widget Creator", - "settingsDescription": "Für welche Rolle zeigen wir Widgets an und erstellen sie?", - "doneButton": "Fertig", - "loading": "Laden..." }, - "search": { - "placeholder": "Suche", - "required": "Pflichtfeld", - "minLength": "Mindestlänge: {{count}} Zeichen" + "exchange": { + "pageTitle": "Spot-Handel", + "spot": "Spot", + "perpetual": "Perpetual", + "seconds": "Sekunden-Kontrakt", + "buy": "Kaufen", + "sell": "Verkaufen" } } -} +} \ No newline at end of file diff --git a/frontend/public/locales/en/common.json b/frontend/public/locales/en/common.json index 8d45685..6d5ef78 100644 --- a/frontend/public/locales/en/common.json +++ b/frontend/public/locales/en/common.json @@ -1,52 +1,176 @@ { - "pages": { - "dashboard": { - "pageTitle": "Dashboard", - "overview": "Overview", - "loadingWidgets": "Loading widgets...", - "loading": "Loading..." + "nav": { + "markets": "Markets", + "spot": "Spot", + "perpetual": "Perpetual", + "options": "Options" + }, + "landing": { + "hero": { + "title": "ADML Exchange | The World’s Leading Crypto Exchange", + "badge": "Trusted by 20M+ Users Globally", + "title_part1": "Trade The Future", + "title_highlight": "With ADML", + "subtitle": "Securely buy, sell and trade over 400+ cryptocurrencies with low fees and institutional-grade security.", + "input_placeholder": "Email / Phone number", + "cta": "Get Started" }, - "login": { - "pageTitle": "Login", - - "form": { - "loginLabel": "Login", - "loginHelp": "Please enter your login", - "passwordLabel": "Password", - "passwordHelp": "Please enter your password", - "remember": "Remember", - "forgotPassword": "Forgot password?", - "loginButton": "Login", - "loading": "Loading...", - "noAccountYet": "Don’t have an account yet?", - "newAccount": "New Account" + "stats": { + "24h_vol": "24h Volume", + "users": "Active Users", + "assets": "Assets Listed", + "uptime": "System Uptime" + }, + "features": { + "security": { + "title": "Security First", + "desc": "Cold storage, multi-sig wallets, and 2FA protection for all assets. Your security is our priority." }, - - "pexels": { - "photoCredit": "Photo by {{photographer}} on Pexels", - "videoCredit": "Video by {{name}} on Pexels", - "videoUnsupported": "Your browser does not support the video tag." + "speed": { + "title": "Instant Execution", + "desc": "Our high-performance matching engine handles 1M+ transactions per second with sub-millisecond latency." }, - - "footer": { - "copyright": "© {{year}} {{title}}. All rights reserved", - "privacy": "Privacy Policy" + "support": { + "title": "24/7 Support", + "desc": "Global customer support available in 12 languages around the clock to assist you with any issues." } + }, + "markets": { + "title": "Market Trends", + "tab": { + "popular": "Popular", + "new": "New Listings", + "gainers": "Top Gainers" + }, + "view_all": "View All Markets", + "col": { + "asset": "Asset", + "price": "Price", + "change": "24h Change", + "volume": "Volume", + "action": "Action" + }, + "trade_btn": "Trade" + }, + "app": { + "title": "Trade Anywhere, Anytime.", + "desc": "Stay connected to the markets with our professional mobile app. Available on iOS, Android, and Web.", + "qr_title": "Scan to download", + "qr_desc": "Instant access to ADML features on your mobile device." + }, + "cta": { + "title": "Start Your Trade Now", + "desc": "Join the most reliable crypto exchange in the world.", + "btn_signup": "Create Account", + "btn_login": "Login Demo" } }, - "components": { - "widgetCreator": { - "title": "Create Chart or Widget", - "helpText": "Describe your new widget or chart in natural language. For example: \"Number of admin users\" OR \"red chart with number of closed contracts grouped by month\"", - "settingsTitle": "Widget Creator Settings", - "settingsDescription": "What role are we showing and creating widgets for?", - "doneButton": "Done", - "loading": "Loading..." + "exchange": { + "title": "Spot Trading", + "header": { + "spot": "Spot", + "last_price": "Last Price", + "change": "24h Change", + "high": "24h High", + "low": "24h Low", + "volume": "24h Volume", + "deposit": "Deposit" }, - "search": { - "placeholder": "Search", - "required": "Required", - "minLength": "Minimum length: {{count}} characters" + "tabs": { + "open_orders": "Open Orders", + "order_history": "Order History", + "trade_history": "Trade History", + "assets": "Assets" + }, + "orderbook": { + "title": "Order Book", + "price": "Price", + "amount": "Amount" + }, + "panel": { + "buy": "Buy", + "sell": "Sell", + "type": "Order Type", + "market": "Market", + "price": "Price", + "amount": "Amount", + "available": "Available" + }, + "no_records": "No active records found" + }, + "perpetual": { + "title": "Perpetual Trading", + "header": { + "perp": "Perp", + "mark_price": "Mark Price", + "funding": "Funding / Countdown", + "change": "24h Change", + "margin": "Margin", + "cross": "Cross", + "deposit": "Deposit" + }, + "tabs": { + "positions": "Positions", + "open_orders": "Open Orders", + "order_history": "Order History", + "trade_history": "Trade History" + }, + "panel": { + "long": "Open Long", + "short": "Open Short", + "mode": "Margin Mode", + "cross": "Cross", + "price": "Price", + "amount": "Amount", + "leverage": "Adjust Leverage", + "available": "Available", + "max_long": "Max Long", + "buy": "BUY / LONG", + "sell": "SELL / SHORT" + }, + "orderbook": { + "title": "Market Depth" + }, + "no_positions": "No active positions or orders" + }, + "seconds": { + "title": "Binary Options", + "header": { + "contract": "Option Contract", + "current_price": "Current Price", + "yield": "Estimated Yield", + "balance": "Available Balance", + "deposit": "Deposit" + }, + "tabs": { + "current": "Current Positions", + "history": "Trade History" + }, + "panel": { + "period": "Execution Period", + "yield": "Yield", + "amount": "Investment Amount", + "expected_profit": "Expected Profit", + "call": "CALL (HIGH)", + "put": "PUT (LOW)", + "risk_warning": "Risk Warning: Trading involves significant risk of loss and is not suitable for all investors." + }, + "no_history": "No active contracts" + }, + "footer": { + "about": "Professional and secure digital asset trading platform.", + "section": { + "about": "About", + "product": "Product", + "support": "Support", + "legal": "Legal" } + }, + "login": { + "title": "Log in", + "demo_login": "Demo Account Login" + }, + "register": { + "title": "Sign up" } } diff --git a/frontend/public/locales/es/common.json b/frontend/public/locales/es/common.json index f3421b1..cb67077 100644 --- a/frontend/public/locales/es/common.json +++ b/frontend/public/locales/es/common.json @@ -1,55 +1,33 @@ { "pages": { "dashboard": { - "pageTitle": "Tablero", - "overview": "Resumen", + "pageTitle": "Panel de control", + "overview": "Resumen de ADML Exchange", "loadingWidgets": "Cargando widgets...", "loading": "Cargando..." }, "login": { - "pageTitle": "Inicio de sesión", - - "sampleCredentialsAdmin": "Use {{email}} / {{password}} para iniciar sesión como Administrador", - "sampleCredentialsUser": "Use {{email}} / {{password}} para iniciar sesión como Usuario", - + "pageTitle": "Iniciar sesión", "form": { - "loginLabel": "Usuario", - "loginHelp": "Introduzca su usuario", - "passwordLabel": "Contraseña", - "passwordHelp": "Introduzca su contraseña", - "remember": "Recuérdame", - "forgotPassword": "¿Olvidó su contraseña?", - "loginButton": "Acceder", - "loading": "Cargando...", - "noAccountYet": "¿Aún no tiene una cuenta?", - "newAccount": "Crear cuenta" - }, - - "pexels": { - "photoCredit": "Foto de {{photographer}} en Pexels", - "videoCredit": "Vídeo de {{name}} en Pexels", - "videoUnsupported": "Su navegador no admite la etiqueta de vídeo." - }, - - "footer": { - "copyright": "© {{year}} {{title}}. Todos los derechos reservados", - "privacy": "Política de privacidad" + "loginLabel": "Login", + "loginHelp": "Por favor, introduzca su login", + "passwordLabel": "Contraseña", + "passwordHelp": "Por favor, introduzca su contraseña", + "remember": "Recordarme", + "forgotPassword": "¿Olvidó su contraseña?", + "loginButton": "Entrar", + "loading": "Cargando...", + "noAccountYet": "¿No tiene cuenta?", + "newAccount": "Registrar nueva cuenta" } - } - }, - "components": { - "widgetCreator": { - "title": "Crear gráfico o widget", - "helpText": "Describe tu nuevo widget o gráfico en lenguaje natural. Por ejemplo: \"Número de usuarios administradores\" O \"gráfico rojo con el número de contratos cerrados agrupados por mes\"", - "settingsTitle": "Configuración del creador de widgets", - "settingsDescription": "¿Para qué rol estamos mostrando y creando widgets?", - "doneButton": "Listo", - "loading": "Cargando..." }, - "search": { - "placeholder": "Buscar", - "required": "Obligatorio", - "minLength": "Longitud mínima: {{count}} caracteres" + "exchange": { + "pageTitle": "Trading Spot", + "spot": "Spot", + "perpetual": "Perpetuo", + "seconds": "Contrato de segundos", + "buy": "Comprar", + "sell": "Vender" } } -} +} \ No newline at end of file diff --git a/frontend/public/locales/fr/common.json b/frontend/public/locales/fr/common.json index ecf531b..97274d1 100644 --- a/frontend/public/locales/fr/common.json +++ b/frontend/public/locales/fr/common.json @@ -2,54 +2,32 @@ "pages": { "dashboard": { "pageTitle": "Tableau de bord", - "overview": "Vue d'ensemble", + "overview": "Aperçu de ADML Exchange", "loadingWidgets": "Chargement des widgets...", "loading": "Chargement..." }, "login": { "pageTitle": "Connexion", - - "sampleCredentialsAdmin": "Utilisez {{email}} / {{password}} pour vous connecter en tant qu’administrateur", - "sampleCredentialsUser": "Utilisez {{email}} / {{password}} pour vous connecter en tant qu’utilisateur", - "form": { - "loginLabel": "Identifiant", - "loginHelp": "Veuillez saisir votre identifiant", - "passwordLabel": "Mot de passe", - "passwordHelp": "Veuillez saisir votre mot de passe", - "remember": "Se souvenir de moi", - "forgotPassword": "Mot de passe oublié ?", - "loginButton": "Se connecter", - "loading": "Chargement…", - "noAccountYet": "Vous n’avez pas encore de compte ?", - "newAccount": "Créer un compte" - }, - - "pexels": { - "photoCredit": "Photo de {{photographer}} sur Pexels", - "videoCredit": "Vidéo de {{name}} sur Pexels", - "videoUnsupported": "Votre navigateur ne prend pas en charge la balise vidéo." - }, - - "footer": { - "copyright": "© {{year}} {{title}}. Tous droits réservés", - "privacy": "Politique de confidentialité" + "loginLabel": "Identifiant", + "loginHelp": "Veuillez entrer votre identifiant", + "passwordLabel": "Mot de passe", + "passwordHelp": "Veuillez entrer votre mot de passe", + "remember": "Se souvenir de moi", + "forgotPassword": "Mot de passe oublié?", + "loginButton": "Se connecter", + "loading": "Chargement...", + "noAccountYet": "Pas encore de compte?", + "newAccount": "Créer un compte" } - } - }, - "components": { - "widgetCreator": { - "title": "Créer un graphique ou un widget", - "helpText": "Décrivez votre nouveau widget ou graphique en langage naturel. Par exemple : \"Nombre d'utilisateurs administrateurs\" OU \"graphique rouge avec le nombre de contrats clôturés regroupés par mois\"", - "settingsTitle": "Paramètres du créateur de widget", - "settingsDescription": "Pour quel rôle affichons-nous et créons-nous des widgets ?", - "doneButton": "Terminé", - "loading": "Chargement..." }, - "search": { - "placeholder": "Rechercher", - "required": "Champ requis", - "minLength": "Longueur minimale : {{count}} caractères" + "exchange": { + "pageTitle": "Trading Spot", + "spot": "Spot", + "perpetual": "Perpétuel", + "seconds": "Contrat de secondes", + "buy": "Acheter", + "sell": "Vendre" } } -} +} \ No newline at end of file diff --git a/frontend/public/locales/ja/common.json b/frontend/public/locales/ja/common.json new file mode 100644 index 0000000..8a47061 --- /dev/null +++ b/frontend/public/locales/ja/common.json @@ -0,0 +1,46 @@ +{ + "nav": { + "markets": "マーケット", + "spot": "現物取引", + "perpetual": "先物取引", + "options": "オプション" + }, + "landing": { + "hero": { + "title": "ADML 取引所 | 世界をリードする暗号資産取引所", + "badge": "世界中で2000万人以上のユーザーに信頼されています", + "cta": "今すぐ開始" + } + }, + "exchange": { + "title": "現物取引", + "header": { + "spot": "現物", + "deposit": "入金" + }, + "panel": { + "buy": "買い", + "sell": "売り" + } + }, + "perpetual": { + "title": "先物取引", + "panel": { + "long": "ロング", + "short": "ショート" + } + }, + "seconds": { + "title": "バイナリーオプション", + "panel": { + "call": "コール (上昇)", + "put": "プット (下落)" + } + }, + "login": { + "title": "ログイン" + }, + "register": { + "title": "新規登録" + } +} diff --git a/frontend/public/locales/ko/common.json b/frontend/public/locales/ko/common.json new file mode 100644 index 0000000..269057c --- /dev/null +++ b/frontend/public/locales/ko/common.json @@ -0,0 +1,46 @@ +{ + "nav": { + "markets": "마켓", + "spot": "현물 거래", + "perpetual": "선물 거래", + "options": "옵션" + }, + "landing": { + "hero": { + "title": "ADML 거래소 | 세계 최고의 암호화폐 거래소", + "badge": "전 세계 2000만 명 이상의 사용자가 신뢰함", + "cta": "시작하기" + } + }, + "exchange": { + "title": "현물 거래", + "header": { + "spot": "현물", + "deposit": "입금" + }, + "panel": { + "buy": "매수", + "sell": "매도" + } + }, + "perpetual": { + "title": "선물 거래", + "panel": { + "long": "롱 오픈", + "short": "숏 오픈" + } + }, + "seconds": { + "title": "바이너리 옵션", + "panel": { + "call": "콜 (상승)", + "put": "풋 (하락)" + } + }, + "login": { + "title": "로그인" + }, + "register": { + "title": "회원가입" + } +} diff --git a/frontend/public/locales/ru/common.json b/frontend/public/locales/ru/common.json new file mode 100644 index 0000000..b561938 --- /dev/null +++ b/frontend/public/locales/ru/common.json @@ -0,0 +1,48 @@ +{ + "pages": { + "dashboard": { + "pageTitle": "Панель управления", + "overview": "Обзор биржи ADML", + "loadingWidgets": "Загрузка виджетов...", + "loading": "Загрузка..." + }, + "login": { + "pageTitle": "Вход", + "form": { + "loginLabel": "Логин", + "loginHelp": "Введите ваш логин", + "passwordLabel": "Пароль", + "passwordHelp": "Введите ваш пароль", + "remember": "Запомнить меня", + "forgotPassword": "Забыли пароль?", + "loginButton": "Войти", + "loading": "Загрузка...", + "noAccountYet": "Нет аккаунта?", + "newAccount": "Регистрация" + } + }, + "exchange": { + "pageTitle": "Спотовая торговля", + "spot": "Спот", + "perpetual": "Фьючерсы", + "seconds": "Опционы", + "buy": "Купить", + "sell": "Продать" + }, + "perpetual": { + "pageTitle": "Бессрочные контракты", + "leverage": "Плечо", + "cross": "Кросс", + "isolated": "Изолир.", + "long": "Лонг", + "short": "Шорт" + }, + "seconds": { + "pageTitle": "Опционы (Seconds)", + "duration": "Длительность", + "profit": "Доходность", + "call": "Вверх", + "put": "Вниз" + } + } +} \ No newline at end of file diff --git a/frontend/public/locales/zh/common.json b/frontend/public/locales/zh/common.json new file mode 100644 index 0000000..e9c0b6b --- /dev/null +++ b/frontend/public/locales/zh/common.json @@ -0,0 +1,174 @@ +{ + "nav": { + "markets": "行情", + "spot": "现货交易", + "perpetual": "合约交易", + "options": "秒合约" + }, + "landing": { + "hero": { + "title": "ADML 交易所 | 全球领先的加密货币交易平台", + "badge": "全球 2000 万用户的信赖之选", + "title_part1": "交易未来", + "title_highlight": "就在 ADML", + "subtitle": "安全地购买、出售和交易 400 多种加密货币,享受低手续费和机构级安全保障。", + "input_placeholder": "邮箱 / 手机号码", + "cta": "立即开始" + }, + "stats": { + "24h_vol": "24小时成交量", + "users": "活跃用户", + "assets": "上架资产", + "uptime": "系统运行时间" + }, + "features": { + "security": { + "title": "安全第一", + "desc": "冷存储、多重签名钱包和 2FA 双重验证,保障所有资产安全。您的安全是我们的重中之重。" + }, + "speed": { + "title": "秒级执行", + "desc": "高性能撮合引擎,每秒处理超过 100 万笔交易,延迟低至亚毫秒级。" + }, + "support": { + "title": "24/7 客户支持", + "desc": "全球客服团队,支持 12 种语言,全天候为您解决任何问题。" + } + }, + "markets": { + "title": "行情趋势", + "tab": { + "popular": "热门", + "new": "新币", + "gainers": "涨幅榜" + }, + "view_all": "查看所有行情", + "col": { + "asset": "资产", + "price": "最新价", + "change": "24小时涨跌", + "volume": "成交量", + "action": "操作" + }, + "trade_btn": "去交易" + }, + "app": { + "title": "随时随地,随心交易", + "desc": "使用我们的专业移动应用程序,随时关注市场。支持 iOS、Android 和 Web。" + }, + "cta": { + "title": "立即开启您的交易之旅", + "desc": "加入全球最可靠的加密货币交易所。", + "btn_signup": "创建账户", + "btn_login": "演示登录" + } + }, + "exchange": { + "title": "现货交易", + "header": { + "spot": "现货", + "last_price": "最新价", + "change": "24h 涨跌", + "high": "24h 最高", + "low": "24h 最低", + "volume": "24h 成交量", + "deposit": "充值" + }, + "tabs": { + "open_orders": "当前委托", + "order_history": "历史委托", + "trade_history": "成交历史", + "assets": "资产" + }, + "orderbook": { + "title": "订单簿", + "price": "价格", + "amount": "数量" + }, + "panel": { + "buy": "买入", + "sell": "卖出", + "type": "订单类型", + "market": "市价", + "price": "价格", + "amount": "数量", + "available": "可用" + }, + "no_records": "暂无记录" + }, + "perpetual": { + "title": "合约交易", + "header": { + "perp": "永续", + "mark_price": "标记价格", + "funding": "资金费率 / 倒计时", + "change": "24h 涨跌", + "margin": "保证金", + "cross": "全仓", + "deposit": "充值" + }, + "tabs": { + "positions": "持有仓位", + "open_orders": "当前委托", + "order_history": "历史委托", + "trade_history": "成交历史" + }, + "panel": { + "long": "看涨/做多", + "short": "看跌/做空", + "mode": "仓位模式", + "cross": "全仓", + "price": "价格", + "amount": "数量", + "leverage": "调整杠杆", + "available": "可用平衡", + "max_long": "最大可开多", + "buy": "买入 / 做多", + "sell": "卖出 / 做空" + }, + "orderbook": { + "title": "深度图" + }, + "no_positions": "暂无持仓或委托" + }, + "seconds": { + "title": "秒合约", + "header": { + "contract": "期权合约", + "current_price": "当前价", + "yield": "预期收益", + "balance": "可用余额", + "deposit": "充值" + }, + "tabs": { + "current": "当前持仓", + "history": "交易历史" + }, + "panel": { + "period": "执行周期", + "yield": "收益率", + "amount": "投资金额", + "expected_profit": "预期利润", + "call": "看涨 (买升)", + "put": "看跌 (买降)", + "risk_warning": "风险提示:交易涉及显著的亏损风险,不适合所有投资者。" + }, + "no_history": "暂无活跃合约" + }, + "footer": { + "about": "专业、安全的数字资产交易平台。", + "section": { + "about": "关于我们", + "product": "产品中心", + "support": "服务支持", + "legal": "法律条款" + } + }, + "login": { + "title": "登录", + "demo_login": "演示账户登录" + }, + "register": { + "title": "注册" + } +} diff --git a/frontend/src/components/AsideMenuLayer.tsx b/frontend/src/components/AsideMenuLayer.tsx index eaa10bb..d945763 100644 --- a/frontend/src/components/AsideMenuLayer.tsx +++ b/frontend/src/components/AsideMenuLayer.tsx @@ -5,6 +5,7 @@ import AsideMenuList from './AsideMenuList' import { MenuAsideItem } from '../interfaces' import { useAppSelector } from '../stores/hooks' import Link from 'next/link'; +import Logo from './Logo'; type Props = { @@ -29,22 +30,19 @@ export default function AsideMenuLayer({ menu, className = '', ...props }: Props return ( ) -} +} \ No newline at end of file diff --git a/frontend/src/components/FooterBar.tsx b/frontend/src/components/FooterBar.tsx index 0acc9c5..16fe3aa 100644 --- a/frontend/src/components/FooterBar.tsx +++ b/frontend/src/components/FooterBar.tsx @@ -1,6 +1,5 @@ import React, { ReactNode } from 'react' import { containerMaxW } from '../config' -import Logo from './Logo' type Props = { children?: ReactNode @@ -10,26 +9,17 @@ export default function FooterBar({ children }: Props) { const year = new Date().getFullYear() return ( -
-
-
- - ©{year},{` `} - - Flatlogic - - . - - {` `} - {children} + ) -} +} \ No newline at end of file diff --git a/frontend/src/components/LanguageSwitcher.tsx b/frontend/src/components/LanguageSwitcher.tsx index f2f373a..9497d6a 100644 --- a/frontend/src/components/LanguageSwitcher.tsx +++ b/frontend/src/components/LanguageSwitcher.tsx @@ -1,13 +1,18 @@ import React, { useEffect, useState } from 'react'; import Select, { components, SingleValueProps, OptionProps } from 'react-select'; +import { useTranslation } from 'react-i18next'; type LanguageOption = { label: string; value: string }; const LANGS: LanguageOption[] = [ { value: 'en', label: '🇬🇧 EN' }, + { value: 'zh', label: '🇨🇳 ZH' }, { value: 'fr', label: '🇫🇷 FR' }, { value: 'es', label: '🇪🇸 ES' }, { value: 'de', label: '🇩🇪 DE' }, + { value: 'ja', label: '🇯🇵 JA' }, + { value: 'ko', label: '🇰🇷 KO' }, + { value: 'ru', label: '🇷🇺 RU' }, ]; const Option = (props: OptionProps) => ( @@ -23,22 +28,26 @@ const SingleVal = (props: SingleValueProps) => ( ); const LanguageSwitcher: React.FC = () => { + const { i18n } = useTranslation(); const [mounted, setMounted] = useState(false); const [selected, setSelected] = useState(LANGS[0]); useEffect(() => { setMounted(true); - }, []); + const currentLang = LANGS.find(l => l.value === i18n.language) || LANGS[0]; + setSelected(currentLang); + }, [i18n.language]); const handleChange = (opt: LanguageOption | null) => { if (!opt) return; + i18n.changeLanguage(opt.value); setSelected(opt); }; if (!mounted) return null; return ( -
+
+ USDT +
+ +
+ {t('exchange.panel.amount', { defaultValue: 'Amount' })} + + BTC +
+ + {/* Percentage Buttons */} +
+ {[25, 50, 75, 100].map(p => ( + + ))} +
+ +
+ {t('exchange.panel.available', { defaultValue: 'Available' })} + 0.00 USDT +
+ + +
+
+
+
+ + + ); +}; + +ExchangePage.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; + +export default ExchangePage; \ No newline at end of file diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 6fcf72f..7a0d826 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -1,166 +1,387 @@ - import React, { useEffect, useState } from 'react'; import type { ReactElement } from 'react'; import Head from 'next/head'; import Link from 'next/link'; +import * as icon from '@mdi/js'; +import { useTranslation } from 'next-i18next'; import BaseButton from '../components/BaseButton'; -import CardBox from '../components/CardBox'; -import SectionFullScreen from '../components/SectionFullScreen'; +import BaseIcon from '../components/BaseIcon'; import LayoutGuest from '../layouts/Guest'; -import BaseDivider from '../components/BaseDivider'; -import BaseButtons from '../components/BaseButtons'; import { getPageTitle } from '../config'; -import { useAppSelector } from '../stores/hooks'; -import CardBoxComponentTitle from "../components/CardBoxComponentTitle"; -import { getPexelsImage, getPexelsVideo } from '../helpers/pexels'; +import LanguageSwitcher from '../components/LanguageSwitcher'; +import Logo from '../components/Logo'; +const INITIAL_MARKET_DATA = [ + { symbol: 'BTCUSDT', name: 'Bitcoin', label: 'BTC', icon: icon.mdiBitcoin, price: '0', change: '0%', color: 'text-gray-400' }, + { symbol: 'ETHUSDT', name: 'Ethereum', label: 'ETH', icon: icon.mdiEthereum, price: '0', change: '0%', color: 'text-gray-400' }, + { symbol: 'SOLUSDT', name: 'Solana', label: 'SOL', icon: icon.mdiAlphaSCircle, price: '0', change: '0%', color: 'text-gray-400' }, + { symbol: 'BNBUSDT', name: 'BNB', label: 'BNB', icon: icon.mdiAlphaBCircle, price: '0', change: '0%', color: 'text-gray-400' }, + { symbol: 'ADAUSDT', name: 'Cardano', label: 'ADA', icon: icon.mdiAlphaACircle, price: '0', change: '0%', color: 'text-gray-400' }, + { symbol: 'XRPUSDT', name: 'Ripple', label: 'XRP', icon: icon.mdiAlphaXCircle, price: '0', change: '0%', color: 'text-gray-400' }, +]; -export default function Starter() { - const [illustrationImage, setIllustrationImage] = useState({ - src: undefined, - photographer: undefined, - photographer_url: undefined, - }) - const [illustrationVideo, setIllustrationVideo] = useState({video_files: []}) - const [contentType, setContentType] = useState('video'); - const [contentPosition, setContentPosition] = useState('right'); - const textColor = useAppSelector((state) => state.style.linkColor); +export default function LandingPage() { + const { t } = useTranslation('common'); + const [marketData, setMarketData] = useState(INITIAL_MARKET_DATA); - const title = 'AI App Draft' - - // Fetch Pexels image/video - useEffect(() => { - async function fetchData() { - const image = await getPexelsImage(); - const video = await getPexelsVideo(); - setIllustrationImage(image); - setIllustrationVideo(video); - } - fetchData(); - }, []); - - const imageBlock = (image) => ( - - ); - - const videoBlock = (video) => { - if (video?.video_files?.length > 0) { - return ( -
- - -
) - } + useEffect(() => { + const fetchMarketData = async () => { + try { + const symbols = INITIAL_MARKET_DATA.map(d => d.symbol); + const response = await fetch(`https://api.binance.com/api/v3/ticker/24hr?symbols=${JSON.stringify(symbols)}`); + const data = await response.json(); + + setMarketData(prev => prev.map(item => { + const ticker = data.find((t: any) => t.symbol === item.symbol); + if (ticker) { + const price = parseFloat(ticker.lastPrice).toLocaleString(undefined, { minimumFractionDigits: 2 }); + const change = parseFloat(ticker.priceChangePercent).toFixed(2); + return { + ...item, + price: price, + change: (parseFloat(change) >= 0 ? '+' : '') + change + '%', + color: parseFloat(change) >= 0 ? 'text-emerald-500' : 'text-rose-500', + }; + } + return item; + })); + } catch (error) { + console.error('Failed to fetch market data:', error); + } }; + fetchMarketData(); + const interval = setInterval(fetchMarketData, 5000); + return () => clearInterval(interval); + }, []); + return ( -
+
- {getPageTitle('Starter Page')} + {getPageTitle(t('landing.hero.title', { defaultValue: 'ADML Exchange | The World’s Leading Crypto Exchange' }))} - -
- {contentType === 'image' && contentPosition !== 'background' - ? imageBlock(illustrationImage) - : null} - {contentType === 'video' && contentPosition !== 'background' - ? videoBlock(illustrationVideo) - : null} -
- - - -
-

This is a React.js/Node.js app generated by the Flatlogic Web App Generator

-

For guides and documentation please check - your local README.md and the Flatlogic documentation

-
- - - - - -
+ {/* Navbar */} +
- -
-

© 2026 {title}. All rights reserved

- - Privacy Policy - -
+
+ + {t('login.title', { defaultValue: 'Log in' })} + +
+ + {/* Hero Section */} +
+
+
+ + {t('landing.hero.badge', { defaultValue: 'Trusted by 20M+ Users Globally' })} +
+

+ {t('landing.hero.title_part1', { defaultValue: 'Trade The Future' })}
+ + {t('landing.hero.title_highlight', { defaultValue: 'With ADML' })} + +

+

+ {t('landing.hero.subtitle', { defaultValue: 'Securely buy, sell and trade over 400+ cryptocurrencies with low fees and institutional-grade security.' })} +

+
+ + +
+ + {/* Quick Stats */} +
+ {[ + { label: '24h Vol', value: '$12.4B' }, + { label: 'Users', value: '25M+' }, + { label: 'Assets', value: '450+' }, + { label: 'Uptime', value: '99.99%' }, + ].map((stat, i) => ( +
+
{stat.value}
+
{t(`landing.stats.${stat.label.toLowerCase().replace(' ', '_')}`, { defaultValue: stat.label })}
+
+ ))} +
+
+ + {/* Background Decorative Elements */} +
+
+
+
+
+ + {/* Feature Sections (admlplus style) */} +
+
+
+
+
+ +
+

{t('landing.features.security.title', { defaultValue: 'Security First' })}

+

+ {t('landing.features.security.desc', { defaultValue: 'Cold storage, multi-sig wallets, and 2FA protection for all assets. Your security is our priority.' })} +

+
+
+
+ +
+

{t('landing.features.speed.title', { defaultValue: 'Instant Execution' })}

+

+ {t('landing.features.speed.desc', { defaultValue: 'Our high-performance matching engine handles 1M+ transactions per second with sub-millisecond latency.' })} +

+
+
+
+ +
+

{t('landing.features.support.title', { defaultValue: '24/7 Support' })}

+

+ {t('landing.features.support.desc', { defaultValue: 'Global customer support available in 12 languages around the clock to assist you with any issues.' })} +

+
+
+
+
+ + {/* Market Table */} +
+
+
+
+

{t('landing.markets.title', { defaultValue: 'Market Trends' })}

+
+ + + +
+
+ + {t('landing.markets.view_all', { defaultValue: 'View All Markets' })} → + +
+ +
+
+ + + + + + + + + + + + {marketData.map((coin) => ( + + + + + + + + ))} + +
{t('landing.markets.col.asset', { defaultValue: 'Asset' })}{t('landing.markets.col.price', { defaultValue: 'Price' })}{t('landing.markets.col.change', { defaultValue: '24h Change' })}{t('landing.markets.col.volume', { defaultValue: 'Volume' })}{t('landing.markets.col.action', { defaultValue: 'Action' })}
+
+
+ +
+
+
{coin.label}
+
{coin.name}
+
+
+
${coin.price}{coin.change} +
$2.4B
+
+ +
+
+
+
+
+ + {/* App Download Section (admlplus style) */} +
+
+
+
+

+ {t('landing.app.title', { defaultValue: 'Trade Anywhere, Anytime.' })} +

+

+ {t('landing.app.desc', { defaultValue: 'Stay connected to the markets with our professional mobile app. Available on iOS, Android, and Web.' })} +

+
+
+ +
+
Download on
+
App Store
+
+
+
+ +
+
Get it on
+
Google Play
+
+
+
+ +
+
+ {/* Mock QR Code */} +
+ +
+
+
+

{t('landing.app.qr_title', { defaultValue: 'Scan to download' })}

+

{t('landing.app.qr_desc', { defaultValue: 'Instant access to ADML features on your mobile device.' })}

+
+
+
+
+
+
+
+ +
+
+
Available Balance
+
$45,231.50
+
+
+
Deposit
+
Withdraw
+
+
+ {[1,2,3].map(i => ( +
+
+
+
+
+
+
+ ))} +
+
+
+
+
+
+
+
+
+ + {/* CTA Section */} +
+
+

{t('landing.cta.title', { defaultValue: 'Start Your Trade Now' })}

+

{t('landing.cta.desc', { defaultValue: 'Join the most reliable crypto exchange in the world.' })}

+
+ + +
+
+
+ + {/* Footer */} +
+
+
+
+ + + +

+ {t('footer.about', { defaultValue: 'Professional and secure digital asset trading platform.' })} +

+
+
+

{t('footer.section.about', { defaultValue: 'About' })}

+
    +
  • Company
  • +
  • Careers
  • +
  • News
  • +
+
+
+

{t('footer.section.product', { defaultValue: 'Product' })}

+
    +
  • Spot
  • +
  • Perpetual
  • +
  • Options
  • +
+
+
+

{t('footer.section.support', { defaultValue: 'Support' })}

+
    +
  • Help Center
  • +
  • API
  • +
  • Fees
  • +
+
+
+

{t('footer.section.legal', { defaultValue: 'Legal' })}

+
    +
  • Privacy
  • +
  • Terms
  • +
+
+
+
+

+ © 2026 ADML EXCHANGE. ALL RIGHTS RESERVED. +

+
+ + + +
+
+
+
+ +
); } -Starter.getLayout = function getLayout(page: ReactElement) { +LandingPage.getLayout = function getLayout(page: ReactElement) { return {page}; -}; - +}; \ No newline at end of file diff --git a/frontend/src/pages/login.tsx b/frontend/src/pages/login.tsx index 0036268..578bc90 100644 --- a/frontend/src/pages/login.tsx +++ b/frontend/src/pages/login.tsx @@ -1,12 +1,10 @@ - - import React, { useEffect, useState } from 'react'; import type { ReactElement } from 'react'; import Head from 'next/head'; import BaseButton from '../components/BaseButton'; import CardBox from '../components/CardBox'; import BaseIcon from "../components/BaseIcon"; -import { mdiInformation, mdiEye, mdiEyeOff } from '@mdi/js'; +import { mdiInformation, mdiEye, mdiEyeOff, mdiAccountCircle } from '@mdi/js'; import SectionFullScreen from '../components/SectionFullScreen'; import LayoutGuest from '../layouts/Guest'; import { Field, Form, Formik } from 'formik'; @@ -21,6 +19,7 @@ import { useAppDispatch, useAppSelector } from '../stores/hooks'; import Link from 'next/link'; import {toast, ToastContainer} from "react-toastify"; import { getPexelsImage, getPexelsVideo } from '../helpers/pexels' +import Logo from '../components/Logo'; export default function Login() { const router = useRouter(); @@ -44,7 +43,7 @@ export default function Login() { password: '4b8a182c', remember: true }) - const title = 'AI App Draft' + const title = 'ADML EXCHANGE' // Fetch Pexels image/video useEffect( () => { @@ -92,6 +91,15 @@ export default function Login() { await dispatch(loginUser(rest)); }; + const handleDemoLogin = async () => { + const demoValues = { + email: 'admin@flatlogic.com', + password: '4b8a182c' + }; + setInitialValues({ ...demoValues, remember: true }); + await dispatch(loginUser(demoValues)); + }; + const setLogin = (target: HTMLElement) => { setInitialValues(prev => ({ ...prev, @@ -158,61 +166,35 @@ export default function Login() { -
+
{contentType === 'image' && contentPosition !== 'background' ? imageBlock(illustrationImage) : null} {contentType === 'video' && contentPosition !== 'background' ? videoBlock(illustrationVideo) : null}
- - -

{title}

- -
-
- -

Use{' '} - setLogin(e.target)}>admin@flatlogic.com{' / '} - 4b8a182c{' / '} - to login as Admin

-

Use setLogin(e.target)}>client@hello.com{' / '} - ed8b688f77aa{' / '} - to login as User

-
-
- -
+ +
+ +

Welcome to ADML

+

Please sign in to continue trading

-
- - + handleSubmit(values)} > -
+ - + label='Email / Account' + help='Enter your registered email'> +
- + help='Enter your password'> +
-
- +
+ - + Forgot password?
- + + -
-

+ +

Don’t have an account yet?{' '} - - New Account + + Create Account

+ +
+ Warning: Please verify the URL is adml-exchange.com to prevent phishing. +
-
-

© 2026 {title}. © All rights reserved

- - Privacy Policy - +
+

© 2026 ADML EXCHANGE. ALL RIGHTS RESERVED.

+
+ Privacy Policy + Terms of Service +
@@ -273,4 +269,4 @@ export default function Login() { Login.getLayout = function getLayout(page: ReactElement) { return {page}; -}; +}; \ No newline at end of file diff --git a/frontend/src/pages/markets.tsx b/frontend/src/pages/markets.tsx new file mode 100644 index 0000000..37634c0 --- /dev/null +++ b/frontend/src/pages/markets.tsx @@ -0,0 +1,160 @@ + +import React, { useEffect, useState } from 'react'; +import type { ReactElement } from 'react'; +import Head from 'next/head'; +import * as icon from '@mdi/js'; +import LayoutGuest from '../layouts/Guest'; +import SectionMain from '../components/SectionMain'; +import SectionTitleLineWithButton from '../components/SectionTitleLineWithButton'; +import BaseIcon from '../components/BaseIcon'; +import BaseButton from '../components/BaseButton'; +import { getPageTitle } from '../config'; + +const INITIAL_MARKET_DATA = [ + { symbol: 'BTCUSDT', name: 'Bitcoin', label: 'BTC', icon: icon.mdiBitcoin }, + { symbol: 'ETHUSDT', name: 'Ethereum', label: 'ETH', icon: icon.mdiEthereum }, + { symbol: 'SOLUSDT', name: 'Solana', label: 'SOL', icon: icon.mdiAlphaSCircle }, + { symbol: 'BNBUSDT', name: 'BNB', label: 'BNB', icon: icon.mdiAlphaBCircle }, + { symbol: 'ADAUSDT', name: 'Cardano', label: 'ADA', icon: icon.mdiAlphaACircle }, + { symbol: 'XRPUSDT', name: 'Ripple', label: 'XRP', icon: icon.mdiAlphaXCircle }, + { symbol: 'DOTUSDT', name: 'Polkadot', label: 'DOT', icon: icon.mdiAlphaPCircle }, + { symbol: 'DOGEUSDT', name: 'Dogecoin', label: 'DOGE', icon: icon.mdiDog }, + { symbol: 'MATICUSDT', name: 'Polygon', label: 'MATIC', icon: icon.mdiHexagonMultiple }, + { symbol: 'LINKUSDT', name: 'Chainlink', label: 'LINK', icon: icon.mdiLinkVariant }, +]; + +const MarketsPage = () => { + const [marketData, setMarketData] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + const fetchMarketData = async () => { + try { + const symbols = INITIAL_MARKET_DATA.map(d => d.symbol); + const response = await fetch(`https://api.binance.com/api/v3/ticker/24hr?symbols=${JSON.stringify(symbols)}`); + const data = await response.json(); + + const mergedData = INITIAL_MARKET_DATA.map(item => { + const ticker = data.find((t: any) => t.symbol === item.symbol); + if (ticker) { + const price = parseFloat(ticker.lastPrice).toLocaleString(undefined, { minimumFractionDigits: 2 }); + const change = parseFloat(ticker.priceChangePercent).toFixed(2); + return { + ...item, + price: price, + change: (parseFloat(change) >= 0 ? '+' : '') + change + '%', + isPositive: parseFloat(change) >= 0, + volume: (parseFloat(ticker.quoteVolume) / 1000000).toFixed(2) + 'M', + high: parseFloat(ticker.highPrice).toLocaleString(), + low: parseFloat(ticker.lowPrice).toLocaleString(), + }; + } + return { ...item, price: '0', change: '0%', isPositive: true, volume: '0', high: '0', low: '0' }; + }); + setMarketData(mergedData); + setLoading(false); + } catch (error) { + console.error('Failed to fetch market data:', error); + } + }; + + fetchMarketData(); + const interval = setInterval(fetchMarketData, 5000); + return () => clearInterval(interval); + }, []); + + return ( + <> + + {getPageTitle('Markets')} + + + +
+ + + +
+
+ +
+ {marketData.slice(0, 3).map((coin) => ( +
+
+
+ + {coin.label}/USDT +
+ {coin.change} +
+
${coin.price}
+
24h Volume: {coin.volume}
+
+ ))} +
+ +
+
+ + + + + + + + + + + + + {marketData.map((asset) => ( + + + + + + + + + ))} + +
AssetPrice24h Change24h High/Low24h VolumeTrade
+
+ +
+
{asset.label}
+
{asset.name}
+
+
+
+
${asset.price}
+
+
+ {asset.change} +
+
+
H: {asset.high}
+
L: {asset.low}
+
+
{asset.volume} USDT
+
+ +
+
+
+
+ + ); +}; + +MarketsPage.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; + +export default MarketsPage; diff --git a/frontend/src/pages/perpetual.tsx b/frontend/src/pages/perpetual.tsx new file mode 100644 index 0000000..2345c73 --- /dev/null +++ b/frontend/src/pages/perpetual.tsx @@ -0,0 +1,228 @@ +import React, { ReactElement, useEffect, useState } from 'react'; +import Head from 'next/head'; +import * as icon from '@mdi/js'; +import { useTranslation } from 'react-i18next'; +import LayoutAuthenticated from '../layouts/Authenticated'; +import BaseIcon from '../components/BaseIcon'; +import BaseButton from '../components/BaseButton'; +import { getPageTitle } from '../config'; + +const PerpetualPage = () => { + const { t } = useTranslation('common'); + const [leverage, setLeverage] = useState(20); + const [side, setSide] = useState('long'); + const [currentTab, setCurrentTab] = useState('Positions'); + + useEffect(() => { + const script = document.createElement('script'); + script.src = 'https://s3.tradingview.com/tv.js'; + script.async = true; + script.onload = () => { + if (typeof window !== 'undefined' && (window as any).TradingView) { + new (window as any).TradingView.widget({ + "autosize": true, + "symbol": "BINANCE:BTCUSDT.P", + "interval": "D", + "timezone": "Etc/UTC", + "theme": "dark", + "style": "1", + "locale": "en", + "toolbar_bg": "#f1f3f6", + "enable_publishing": false, + "hide_side_toolbar": false, + "allow_symbol_change": true, + "container_id": "tradingview_chart" + }); + } + }; + document.head.appendChild(script); + }, []); + + return ( + <> + + {getPageTitle(t('perpetual.title', { defaultValue: 'Perpetual Trading' }))} + +
+ {/* Trading Header */} +
+
+
+
+ +
+
+
BTC/USDT
+
+ {t('perpetual.header.perp', { defaultValue: 'Perp' })} + {leverage}x +
+
+
+ +
+
+
{t('perpetual.header.mark_price', { defaultValue: 'Mark Price' })}
+
43,123.45
+
+
+
{t('perpetual.header.funding', { defaultValue: 'Funding / Countdown' })}
+
0.0100% / 04:21:05
+
+
+
{t('perpetual.header.change', { defaultValue: '24h Change' })}
+
+2.45%
+
+
+
+
+
+ {t('perpetual.header.margin', { defaultValue: 'Margin' })} + {t('perpetual.header.cross', { defaultValue: 'Cross' })} +
+ +
+
+ +
+ {/* Main Chart Area */} +
+
+ + {/* Positions/Orders Tabs */} +
+
+ {[ + t('perpetual.tabs.positions', { defaultValue: 'Positions' }), + t('perpetual.tabs.open_orders', { defaultValue: 'Open Orders' }), + t('perpetual.tabs.order_history', { defaultValue: 'Order History' }), + t('perpetual.tabs.trade_history', { defaultValue: 'Trade History' }) + ].map((tab) => ( + + ))} +
+
+ +

+ {t('perpetual.no_positions', { defaultValue: 'No active positions or orders' })} +

+
+
+
+ + {/* Trade Panel */} +
+ {/* Mode Selector */} +
+
+ + +
+ +
+
+ {t('perpetual.panel.mode', { defaultValue: 'Margin Mode' })} + {t('perpetual.panel.cross', { defaultValue: 'Cross' })} {leverage}x +
+ +
+ {t('perpetual.panel.price', { defaultValue: 'Price' })} + + USDT +
+ +
+ {t('perpetual.panel.amount', { defaultValue: 'Amount' })} + + Cont +
+ + {/* Leverage Slider Mock */} +
+
+ {t('perpetual.panel.leverage', { defaultValue: 'Adjust Leverage' })} + {leverage}x +
+ setLeverage(parseInt(e.target.value))} + className="w-full h-1 bg-white/10 rounded-full appearance-none cursor-pointer accent-blue-500" + /> +
+ 1x + 25x + 50x + 75x + 100x + 125x +
+
+ +
+
+ {t('perpetual.panel.available', { defaultValue: 'Available' })} + 0.00 USDT +
+
+ {t('perpetual.panel.max_long', { defaultValue: 'Max Long' })} + 0.000 BTC +
+
+ + +
+
+ + {/* Order Book Minimal */} +
+

{t('perpetual.orderbook.title', { defaultValue: 'Market Depth' })}

+
+ {[...Array(6)].map((_, i) => ( +
+ 43,{(123 + (6-i)*5).toString().padStart(3, '0')}.45 + {(Math.random() * 5).toFixed(2)} +
+ ))} +
+ 43,123.45 +
+ {[...Array(6)].map((_, i) => ( +
+ 43,{(123 - i*5).toString().padStart(3, '0')}.45 + {(Math.random() * 5).toFixed(2)} +
+ ))} +
+
+
+
+
+ + ); +}; + +PerpetualPage.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; + +export default PerpetualPage; \ No newline at end of file diff --git a/frontend/src/pages/second-contract.tsx b/frontend/src/pages/second-contract.tsx new file mode 100644 index 0000000..9009a6c --- /dev/null +++ b/frontend/src/pages/second-contract.tsx @@ -0,0 +1,198 @@ +import React, { ReactElement, useEffect, useState } from 'react'; +import Head from 'next/head'; +import * as icon from '@mdi/js'; +import { useTranslation } from 'react-i18next'; +import LayoutAuthenticated from '../layouts/Authenticated'; +import BaseIcon from '../components/BaseIcon'; +import BaseButton from '../components/BaseButton'; +import { getPageTitle } from '../config'; + +const SecondContractPage = () => { + const { t } = useTranslation('common'); + const [amount, setAmount] = useState('100'); + const [period, setPeriod] = useState(60); + const [profit, setProfit] = useState(85); + + useEffect(() => { + const script = document.createElement('script'); + script.src = 'https://s3.tradingview.com/tv.js'; + script.async = true; + script.onload = () => { + if (typeof window !== 'undefined' && (window as any).TradingView) { + new (window as any).TradingView.widget({ + "autosize": true, + "symbol": "BINANCE:BTCUSDT", + "interval": "1", + "timezone": "Etc/UTC", + "theme": "dark", + "style": "1", + "locale": "en", + "toolbar_bg": "#f1f3f6", + "enable_publishing": false, + "hide_side_toolbar": false, + "allow_symbol_change": true, + "container_id": "tradingview_chart" + }); + } + }; + document.head.appendChild(script); + }, []); + + return ( + <> + + {getPageTitle(t('seconds.title', { defaultValue: 'Binary Options' }))} + +
+ {/* Header */} +
+
+
+
+ +
+
+
BTC/USDT
+
{t('seconds.header.contract', { defaultValue: 'Option Contract' })}
+
+
+ +
+
+
{t('seconds.header.current_price', { defaultValue: 'Current Price' })}
+
43,123.45
+
+
+
{t('seconds.header.yield', { defaultValue: 'Estimated Yield' })}
+
+{profit}%
+
+
+
+
+
+
{t('seconds.header.balance', { defaultValue: 'Available Balance' })}
+
0.00 USDT
+
+ +
+
+ +
+ {/* Chart Area */} +
+
+ + {/* Quick Stats Overlay */} +
+ {[ + { label: '30s', yield: '75%' }, + { label: '60s', yield: '85%' }, + { label: '120s', yield: '90%' }, + { label: '300s', yield: '95%' } + ].map((t) => ( +
+
{t.label}
+
{t.yield}
+
+ ))} +
+ + {/* History Tabs */} +
+
+ {[ + t('seconds.tabs.current', { defaultValue: 'Current Positions' }), + t('seconds.tabs.history', { defaultValue: 'Trade History' }) + ].map((tab, i) => ( + + ))} +
+
+ +

+ {t('seconds.no_history', { defaultValue: 'No active contracts' })} +

+
+
+
+ + {/* Trade Panel */} +
+
+ {/* Period Selection */} +
+

{t('seconds.panel.period', { defaultValue: 'Execution Period' })}

+
+ {[30, 60, 120, 300].map(s => ( + + ))} +
+
+ + {/* Amount Input */} +
+

{t('seconds.panel.amount', { defaultValue: 'Investment Amount' })}

+
+ USDT + setAmount(e.target.value)} + className="w-full bg-[#111111] border border-white/10 rounded-2xl pl-16 pr-4 py-4 text-xl font-black text-white focus:border-blue-500/50 outline-none transition-all" + /> +
+
+ {[100, 500, 1000, 5000].map(v => ( + + ))} +
+
+ + {/* Expected Profit */} +
+
+ {t('seconds.panel.expected_profit', { defaultValue: 'Expected Profit' })} + +{profit}% +
+
+ +${(parseFloat(amount || '0') * profit / 100).toFixed(2)} +
+
+ + {/* Trade Buttons */} +
+ + +
+ +

+ {t('seconds.panel.risk_warning', { defaultValue: 'Risk Warning: Trading involves significant risk of loss and is not suitable for all investors.' })} +

+
+
+
+
+ + ); +}; + +SecondContractPage.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; + +export default SecondContractPage; \ No newline at end of file diff --git a/frontend/src/styles.ts b/frontend/src/styles.ts index a969b60..2d1b7d1 100644 --- a/frontend/src/styles.ts +++ b/frontend/src/styles.ts @@ -25,34 +25,56 @@ interface StyleObject { } export const white: StyleObject = { - aside: 'bg-white dark:text-white', + aside: 'bg-white dark:text-white border-r border-gray-100', asideScrollbars: 'aside-scrollbars-light', - asideBrand: '', - asideMenuItem: 'text-gray-700 hover:bg-gray-100/70 dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800', - asideMenuItemActive: 'font-bold text-black dark:text-white', - asideMenuDropdown: 'bg-gray-100/75', - navBarItemLabel: 'text-blue-600', - navBarItemLabelHover: 'hover:text-black', - navBarItemLabelActiveColor: 'text-black', + asideBrand: 'border-b border-gray-100', + asideMenuItem: 'text-gray-700 hover:bg-gray-50 dark:text-dark-500 dark:hover:text-white dark:hover:bg-dark-800', + asideMenuItemActive: 'font-bold text-blue-600 dark:text-white bg-blue-50/50', + asideMenuDropdown: 'bg-gray-50', + navBarItemLabel: 'text-gray-600', + navBarItemLabelHover: 'hover:text-blue-600', + navBarItemLabelActiveColor: 'text-blue-600', overlay: 'from-white via-gray-100 to-white', - activeLinkColor: 'bg-gray-100/70', + activeLinkColor: 'bg-gray-50', bgLayoutColor: 'bg-gray-50', - iconsColor: 'text-blue-500', + iconsColor: 'text-blue-600', cardsColor: 'bg-white', - focusRingColor: 'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none border-gray-300 dark:focus:ring-blue-600 dark:focus:border-blue-600', - corners: 'rounded', - cardsStyle: 'bg-white border border-pavitra-400', + focusRingColor: 'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none border-gray-200', + corners: 'rounded-2xl', + cardsStyle: 'bg-white border border-gray-100 shadow-sm', linkColor: 'text-blue-600', - websiteHeder: 'border-b border-gray-200', - borders: 'border-gray-200', - shadow: '', - websiteSectionStyle: '', - textSecondary: 'text-gray-500', + websiteHeder: 'border-b border-gray-100 bg-white/80 backdrop-blur-md', + borders: 'border-gray-100', + shadow: 'shadow-sm', + websiteSectionStyle: 'bg-gray-50', + textSecondary: 'text-gray-400', } - - - +export const basic: StyleObject = { + aside: 'bg-[#0a0a0a] border-r border-white/5', + asideScrollbars: 'aside-scrollbars-gray', + asideBrand: 'bg-[#0a0a0a] border-b border-white/5', + asideMenuItem: 'text-gray-400 hover:text-white hover:bg-white/5', + asideMenuItemActive: 'font-bold text-white bg-blue-600/10', + asideMenuDropdown: 'bg-white/5', + navBarItemLabel: 'text-gray-400', + navBarItemLabelHover: 'hover:text-white', + navBarItemLabelActiveColor: 'text-blue-500', + overlay: 'from-[#0a0a0a] via-[#111111] to-[#0a0a0a]', + activeLinkColor: 'bg-white/5', + bgLayoutColor: 'bg-[#000000]', + iconsColor: 'text-blue-500', + cardsColor: 'bg-[#0d0d0d]', + focusRingColor: 'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none border-white/10', + corners: 'rounded-2xl', + cardsStyle: 'bg-[#0d0d0d] border border-white/5 shadow-2xl', + linkColor: 'text-blue-500', + websiteHeder: 'bg-black/80 backdrop-blur-md border-b border-white/5', + borders: 'border-white/5', + shadow: 'shadow-2xl', + websiteSectionStyle: 'bg-black', + textSecondary: 'text-gray-500', +} export const dataGridStyles = { '& .MuiDataGrid-cell': { @@ -78,30 +100,4 @@ export const dataGridStyles = { '& .MuiDataGrid-root': { border: 'none', }, -}; - -export const basic: StyleObject = { - aside: 'bg-gray-800', - asideScrollbars: 'aside-scrollbars-gray', - asideBrand: 'bg-gray-900 text-white', - asideMenuItem: 'text-gray-300 hover:text-white', - asideMenuItemActive: 'font-bold text-white', - asideMenuDropdown: 'bg-gray-700/50', - navBarItemLabel: 'text-black', - navBarItemLabelHover: 'hover:text-blue-500', - navBarItemLabelActiveColor: 'text-blue-600', - overlay: 'from-gray-700 via-gray-900 to-gray-700', - activeLinkColor: 'bg-gray-100/70', - bgLayoutColor: 'bg-gray-50', - iconsColor: 'text-blue-500', - cardsColor: 'bg-white', - focusRingColor: 'focus:ring focus:ring-blue-600 focus:border-blue-600 focus:outline-none dark:focus:ring-blue-600 border-gray-300 dark:focus:border-blue-600', - corners: 'rounded', - cardsStyle: 'bg-white border border-pavitra-400', - linkColor: 'text-black', - websiteHeder: '', - borders: '', - shadow: '', - websiteSectionStyle: '', - textSecondary: '', -} +}; \ No newline at end of file