commit 8859a7417206d0ebfea4bc663e5bb46dff506205
Author: root <root@hub.scroll.pub> Date: 2024-12-30 12:52:18 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..e71b421 --- /dev/null +++ b/body.html @@ -0,0 +1,86 @@ +<header> + <nav> + <div class="logo">CryptoBot</div> + <div class="nav-links"> + <a href="#dashboard">Dashboard</a> + <a href="#analysis">Analysis</a> + <a href="#reports">Reports</a> + <a href="#settings">Settings</a> + </div> + </nav> +</header> + +<main> + <section id="dashboard"> + <h1>Trading Dashboard</h1> + <div class="stats-grid"> + <div class="stat-card"> + <h3>Total Profit</h3> + <p class="profit">+2,458.32 USDT</p> + <span class="change positive">+5.2%</span> + </div> + <div class="stat-card"> + <h3>Active Trades</h3> + <p>12</p> + <span class="change">Current</span> + </div> + <div class="stat-card"> + <h3>24h Volume</h3> + <p>43,521 USDT</p> + <span class="change negative">-2.1%</span> + </div> + </div> + + <div class="chart-container"> + <canvas id="tradingChart"></canvas> + </div> + + <div class="active-trades"> + <h2>Active Positions</h2> + <div class="trades-table"> + <div class="table-header"> + <span>Pair</span> + <span>Position</span> + <span>Entry</span> + <span>Current</span> + <span>P/L</span> + </div> + <div id="tradesList"></div> + </div> + </div> + </section> + + <section id="analysis"> + <h2>Technical Analysis</h2> + <div class="analysis-grid"> + <div class="indicator-card"> + <h3>RSI</h3> + <div class="indicator-value" id="rsiValue">65</div> + <div class="indicator-chart"></div> + </div> + <div class="indicator-card"> + <h3>MACD</h3> + <div class="indicator-value" id="macdValue">Bullish</div> + <div class="indicator-chart"></div> + </div> + <div class="indicator-card"> + <h3>Moving Averages</h3> + <div class="indicator-value" id="maValue">Strong Buy</div> + <div class="indicator-chart"></div> + </div> + </div> + </section> +</main> + +<footer> + <div class="footer-content"> + <div class="footer-section"> + <h4>CryptoBot</h4> + <p>Automated Cryptocurrency Trading Platform</p> + </div> + <div class="footer-section"> + <h4>Contact</h4> + <p>support@cryptobot.scroll.pub</p> + </div> + </div> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..d090d8b --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://cryptobot.scroll.pub +metaTags +editButton /edit.html +title Crypto Trading Bot Dashboard | Automated Cryptocurrency Trading +style.css +body.html +script.js diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..a7dc097 --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_019Dwmnz4rJXFrWZoL5nWaCU", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "I'll create a crypto trading bot dashboard website. For the domain, I suggest:\n\n---domain---\ncryptobot.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://cryptobot.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Crypto Trading Bot Dashboard | Automated Cryptocurrency Trading\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n<header>\n <nav>\n <div class=\"logo\">CryptoBot</div>\n <div class=\"nav-links\">\n <a href=\"#dashboard\">Dashboard</a>\n <a href=\"#analysis\">Analysis</a>\n <a href=\"#reports\">Reports</a>\n <a href=\"#settings\">Settings</a>\n </div>\n </nav>\n</header>\n\n<main>\n <section id=\"dashboard\">\n <h1>Trading Dashboard</h1>\n <div class=\"stats-grid\">\n <div class=\"stat-card\">\n <h3>Total Profit</h3>\n <p class=\"profit\">+2,458.32 USDT</p>\n <span class=\"change positive\">+5.2%</span>\n </div>\n <div class=\"stat-card\">\n <h3>Active Trades</h3>\n <p>12</p>\n <span class=\"change\">Current</span>\n </div>\n <div class=\"stat-card\">\n <h3>24h Volume</h3>\n <p>43,521 USDT</p>\n <span class=\"change negative\">-2.1%</span>\n </div>\n </div>\n\n <div class=\"chart-container\">\n <canvas id=\"tradingChart\"></canvas>\n </div>\n\n <div class=\"active-trades\">\n <h2>Active Positions</h2>\n <div class=\"trades-table\">\n <div class=\"table-header\">\n <span>Pair</span>\n <span>Position</span>\n <span>Entry</span>\n <span>Current</span>\n <span>P/L</span>\n </div>\n <div id=\"tradesList\"></div>\n </div>\n </div>\n </section>\n\n <section id=\"analysis\">\n <h2>Technical Analysis</h2>\n <div class=\"analysis-grid\">\n <div class=\"indicator-card\">\n <h3>RSI</h3>\n <div class=\"indicator-value\" id=\"rsiValue\">65</div>\n <div class=\"indicator-chart\"></div>\n </div>\n <div class=\"indicator-card\">\n <h3>MACD</h3>\n <div class=\"indicator-value\" id=\"macdValue\">Bullish</div>\n <div class=\"indicator-chart\"></div>\n </div>\n <div class=\"indicator-card\">\n <h3>Moving Averages</h3>\n <div class=\"indicator-value\" id=\"maValue\">Strong Buy</div>\n <div class=\"indicator-chart\"></div>\n </div>\n </div>\n </section>\n</main>\n\n<footer>\n <div class=\"footer-content\">\n <div class=\"footer-section\">\n <h4>CryptoBot</h4>\n <p>Automated Cryptocurrency Trading Platform</p>\n </div>\n <div class=\"footer-section\">\n <h4>Contact</h4>\n <p>support@cryptobot.scroll.pub</p>\n </div>\n </div>\n</footer>\n\n---style.css---\n:root {\n --primary: #2962ff;\n --secondary: #0039cb;\n --background: #1a1a1a;\n --card-bg: #252525;\n --text: #ffffff;\n --text-secondary: #b3b3b3;\n --success: #00c853;\n --danger: #ff1744;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: 'Segoe UI', system-ui, sans-serif;\n background: var(--background);\n color: var(--text);\n line-height: 1.6;\n}\n\nheader {\n background: var(--card-bg);\n padding: 1rem 2rem;\n position: sticky;\n top: 0;\n z-index: 100;\n box-shadow: 0 2px 10px rgba(0,0,0,0.3);\n}\n\nnav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.logo {\n font-size: 1.5rem;\n font-weight: bold;\n color: var(--primary);\n}\n\n.nav-links a {\n color: var(--text);\n text-decoration: none;\n margin-left: 2rem;\n transition: color 0.3s ease;\n}\n\n.nav-links a:hover {\n color: var(--primary);\n}\n\nmain {\n max-width: 1200px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\n.stats-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 1.5rem;\n margin: 2rem 0;\n}\n\n.stat-card {\n background: var(--card-bg);\n padding: 1.5rem;\n border-radius: 10px;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n transition: transform 0.3s ease;\n}\n\n.stat-card:hover {\n transform: translateY(-5px);\n}\n\n.stat-card h3 {\n color: var(--text-secondary);\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n}\n\n.stat-card p {\n font-size: 1.5rem;\n font-weight: bold;\n}\n\n.profit {\n color: var(--success);\n}\n\n.change {\n font-size: 0.8rem;\n padding: 0.2rem 0.5rem;\n border-radius: 15px;\n}\n\n.positive {\n color: var(--success);\n}\n\n.negative {\n color: var(--danger);\n}\n\n.chart-container {\n background: var(--card-bg);\n padding: 1.5rem;\n border-radius: 10px;\n margin: 2rem 0;\n height: 400px;\n}\n\n.trades-table {\n background: var(--card-bg);\n border-radius: 10px;\n padding: 1.5rem;\n margin: 2rem 0;\n}\n\n.table-header {\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n padding: 1rem;\n border-bottom: 1px solid var(--text-secondary);\n font-weight: bold;\n}\n\n.analysis-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 1.5rem;\n margin: 2rem 0;\n}\n\n.indicator-card {\n background: var(--card-bg);\n padding: 1.5rem;\n border-radius: 10px;\n text-align: center;\n}\n\n.indicator-value {\n font-size: 2rem;\n font-weight: bold;\n margin: 1rem 0;\n}\n\n.indicator-chart {\n height: 100px;\n background: linear-gradient(to right, var(--primary), var(--secondary));\n border-radius: 5px;\n}\n\nfooter {\n background: var(--card-bg);\n padding: 2rem;\n margin-top: 4rem;\n}\n\n.footer-content {\n max-width: 1200px;\n margin: 0 auto;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 2rem;\n}\n\n@media (max-width: 768px) {\n .nav-links {\n display: none;\n }\n \n .stats-grid {\n grid-template-columns: 1fr;\n }\n \n .table-header {\n font-size: 0.8rem;\n }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n // Initialize trading chart\n const ctx = document.getElementById('tradingChart').getContext('2d');\n initializeChart(ctx);\n\n // Populate active trades\n populateActiveTrades();\n\n // Update indicators\n updateIndicators();\n});\n\nfunction initializeChart(ctx) {\n // Sample data for demonstration\n const labels = Array.from({length: 24}, (_, i) => `${i}:00`);\n const data = Array.from({length: 24}, () => Math.random() * 100 + 50);\n \n const gradient = ctx.createLinearGradient(0, 0, 0, 400);\n gradient.addColorStop(0, 'rgba(41, 98, 255, 0.3)');\n gradient.addColorStop(1, 'rgba(41, 98, 255, 0)');\n\n new Chart(ctx, {\n type: 'line',\n data: {\n labels: labels,\n datasets: [{\n label: 'Price',\n data: data,\n borderColor: '#2962ff',\n backgroundColor: gradient,\n tension: 0.4,\n fill: true\n }]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false\n }\n },\n scales: {\n y: {\n grid: {\n color: 'rgba(255, 255, 255, 0.1)'\n }\n },\n x: {\n grid: {\n display: false\n }\n }\n }\n }\n });\n}\n\nfunction populateActiveTrades() {\n const tradesList = document.getElementById('tradesList');\n const sampleTrades = [\n { pair: 'BTC/USDT', position: 'Long', entry: '42,150.00', current: '42,350.00', pl: '+2.1%' },\n { pair: 'ETH/USDT', position: 'Short', entry: '2,850.00', current: '2,830.00', pl: '+1.4%' },\n { pair: 'SOL/USDT', position: 'Long', entry: '120.50', current: '118.20', pl: '-1.9%' }\n ];\n\n sampleTrades.forEach(trade => {\n const tradeElement = document.createElement('div');\n tradeElement.className = 'trade-row';\n tradeElement.innerHTML = `\n <span>${trade.pair}</span>\n <span>${trade.position}</span>\n <span>${trade.entry}</span>\n <span>${trade.current}</span>\n <span class=\"${trade.pl.includes('+') ? 'positive' : 'negative'}\">${trade.pl}</span>\n `;\n tradesList.appendChild(tradeElement);\n });\n}\n\nfunction updateIndicators() {\n // Simulate real-time updates\n setInterval(() => {\n document.getElementById('rsiValue').textContent = Math.floor(Math.random() * 100);\n document.getElementById('macdValue').textContent = Math.random() > 0.5 ? 'Bullish' : 'Bearish';\n document.getElementById('maValue').textContent = ['Strong Buy', 'Buy', 'Neutral', 'Sell', 'Strong Sell'][Math.floor(Math.random() * 5)];\n }, 5000);\n}\n\n---end---\n\nThis creates a professional crypto trading bot dashboard with real-time charts, trade monitoring, and technical analysis indicators. The design is modern and responsive, using a dark theme that's easy on the eyes. The interface includes:\n\n1. A clean navigation header\n2. Statistics cards showing key metrics\n3. A main trading chart\n4. Active trades table\n5. Technical analysis indicators\n6. Mobile-responsive design\n7. Smooth animations and transitions\n8. Professional color scheme\n9. Interactive elements\n\nThe JavaScript includes mock data for demonstration purposes but can be easily connected to real data sources. The CSS uses modern features like CSS Grid and Flexbox for layout, with careful attention to spacing and typography." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 360, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 3236 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..a8b91f0 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# cryptobot2.scroll.pub +Website generated by Claude from prompt: اريد واجهة رسومية لبوت تلقرام يعمل حاليا على تداول في العملات الرقمية يقوم البيت بالبيع والشراء وعرض الارباح والملخصات والتقارير ويعمل ايضا تحليل فني \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..9760d6c --- /dev/null +++ b/script.js @@ -0,0 +1,88 @@ +document.addEventListener('DOMContentLoaded', () => { + // Initialize trading chart + const ctx = document.getElementById('tradingChart').getContext('2d'); + initializeChart(ctx); + + // Populate active trades + populateActiveTrades(); + + // Update indicators + updateIndicators(); +}); + +function initializeChart(ctx) { + // Sample data for demonstration + const labels = Array.from({length: 24}, (_, i) => `${i}:00`); + const data = Array.from({length: 24}, () => Math.random() * 100 + 50); + + const gradient = ctx.createLinearGradient(0, 0, 0, 400); + gradient.addColorStop(0, 'rgba(41, 98, 255, 0.3)'); + gradient.addColorStop(1, 'rgba(41, 98, 255, 0)'); + + new Chart(ctx, { + type: 'line', + data: { + labels: labels, + datasets: [{ + label: 'Price', + data: data, + borderColor: '#2962ff', + backgroundColor: gradient, + tension: 0.4, + fill: true + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false + } + }, + scales: { + y: { + grid: { + color: 'rgba(255, 255, 255, 0.1)' + } + }, + x: { + grid: { + display: false + } + } + } + } + }); +} + +function populateActiveTrades() { + const tradesList = document.getElementById('tradesList'); + const sampleTrades = [ + { pair: 'BTC/USDT', position: 'Long', entry: '42,150.00', current: '42,350.00', pl: '+2.1%' }, + { pair: 'ETH/USDT', position: 'Short', entry: '2,850.00', current: '2,830.00', pl: '+1.4%' }, + { pair: 'SOL/USDT', position: 'Long', entry: '120.50', current: '118.20', pl: '-1.9%' } + ]; + + sampleTrades.forEach(trade => { + const tradeElement = document.createElement('div'); + tradeElement.className = 'trade-row'; + tradeElement.innerHTML = ` + <span>${trade.pair}</span> + <span>${trade.position}</span> + <span>${trade.entry}</span> + <span>${trade.current}</span> + <span class="${trade.pl.includes('+') ? 'positive' : 'negative'}">${trade.pl}</span> + `; + tradesList.appendChild(tradeElement); + }); +} + +function updateIndicators() { + // Simulate real-time updates + setInterval(() => { + document.getElementById('rsiValue').textContent = Math.floor(Math.random() * 100); + document.getElementById('macdValue').textContent = Math.random() > 0.5 ? 'Bullish' : 'Bearish'; + document.getElementById('maValue').textContent = ['Strong Buy', 'Buy', 'Neutral', 'Sell', 'Strong Sell'][Math.floor(Math.random() * 5)]; + }, 5000); +} diff --git a/style.css b/style.css new file mode 100644 index 0000000..334b08d --- /dev/null +++ b/style.css @@ -0,0 +1,188 @@ +:root { + --primary: #2962ff; + --secondary: #0039cb; + --background: #1a1a1a; + --card-bg: #252525; + --text: #ffffff; + --text-secondary: #b3b3b3; + --success: #00c853; + --danger: #ff1744; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + background: var(--background); + color: var(--text); + line-height: 1.6; +} + +header { + background: var(--card-bg); + padding: 1rem 2rem; + position: sticky; + top: 0; + z-index: 100; + box-shadow: 0 2px 10px rgba(0,0,0,0.3); +} + +nav { + display: flex; + justify-content: space-between; + align-items: center; + max-width: 1200px; + margin: 0 auto; +} + +.logo { + font-size: 1.5rem; + font-weight: bold; + color: var(--primary); +} + +.nav-links a { + color: var(--text); + text-decoration: none; + margin-left: 2rem; + transition: color 0.3s ease; +} + +.nav-links a:hover { + color: var(--primary); +} + +main { + max-width: 1200px; + margin: 2rem auto; + padding: 0 1rem; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 1.5rem; + margin: 2rem 0; +} + +.stat-card { + background: var(--card-bg); + padding: 1.5rem; + border-radius: 10px; + box-shadow: 0 4px 6px rgba(0,0,0,0.1); + transition: transform 0.3s ease; +} + +.stat-card:hover { + transform: translateY(-5px); +} + +.stat-card h3 { + color: var(--text-secondary); + font-size: 0.9rem; + margin-bottom: 0.5rem; +} + +.stat-card p { + font-size: 1.5rem; + font-weight: bold; +} + +.profit { + color: var(--success); +} + +.change { + font-size: 0.8rem; + padding: 0.2rem 0.5rem; + border-radius: 15px; +} + +.positive { + color: var(--success); +} + +.negative { + color: var(--danger); +} + +.chart-container { + background: var(--card-bg); + padding: 1.5rem; + border-radius: 10px; + margin: 2rem 0; + height: 400px; +} + +.trades-table { + background: var(--card-bg); + border-radius: 10px; + padding: 1.5rem; + margin: 2rem 0; +} + +.table-header { + display: grid; + grid-template-columns: repeat(5, 1fr); + padding: 1rem; + border-bottom: 1px solid var(--text-secondary); + font-weight: bold; +} + +.analysis-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1.5rem; + margin: 2rem 0; +} + +.indicator-card { + background: var(--card-bg); + padding: 1.5rem; + border-radius: 10px; + text-align: center; +} + +.indicator-value { + font-size: 2rem; + font-weight: bold; + margin: 1rem 0; +} + +.indicator-chart { + height: 100px; + background: linear-gradient(to right, var(--primary), var(--secondary)); + border-radius: 5px; +} + +footer { + background: var(--card-bg); + padding: 2rem; + margin-top: 4rem; +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 2rem; +} + +@media (max-width: 768px) { + .nav-links { + display: none; + } + + .stats-grid { + grid-template-columns: 1fr; + } + + .table-header { + font-size: 0.8rem; + } +}