commit c5dc333893b9939c1dd4d4fc699bdf25a7412f76
Author: root <root@hub.scroll.pub> Date: 2025-01-02 21:17:45 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..1d60bed --- /dev/null +++ b/body.html @@ -0,0 +1,60 @@ +<header> + <h1>Forex Trading Journal</h1> + <p>Track, analyze, and improve your trading performance</p> +</header> + +<main> + <section class="trade-entry"> + <h2>New Trade</h2> + <form id="tradeForm"> + <div class="form-group"> + <label for="pair">Currency Pair:</label> + <input type="text" id="pair" required> + </div> + <div class="form-group"> + <label for="direction">Direction:</label> + <select id="direction" required> + <option value="buy">Buy</option> + <option value="sell">Sell</option> + </select> + </div> + <div class="form-group"> + <label for="entry">Entry Price:</label> + <input type="number" step="0.0001" id="entry" required> + </div> + <div class="form-group"> + <label for="exit">Exit Price:</label> + <input type="number" step="0.0001" id="exit" required> + </div> + <div class="form-group"> + <label for="notes">Notes:</label> + <textarea id="notes"></textarea> + </div> + <button type="submit">Add Trade</button> + </form> + </section> + + <section class="trade-history"> + <h2>Trade History</h2> + <table id="tradeTable"> + <thead> + <tr> + <th>Date</th> + <th>Pair</th> + <th>Direction</th> + <th>Entry</th> + <th>Exit</th> + <th>P/L</th> + <th>Notes</th> + </tr> + </thead> + <tbody> + <!-- Trade rows will be added here --> + </tbody> + </table> + </section> +</main> + +<footer> + <p>Your personal forex trading companion</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..ca46371 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://forexlog.scroll.pub +metaTags +editButton /edit.html +title Forex Trading Journal - Track Your Trades +style.css +body.html +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..f38b532 --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "de7825f6-d42e-4ebd-b146-16ce898786df", + "object": "chat.completion", + "created": 1735852645, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\nforexlog.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://forexlog.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Forex Trading Journal - Track Your Trades\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Forex Trading Journal</h1>\n <p>Track, analyze, and improve your trading performance</p>\n</header>\n\n<main>\n <section class=\"trade-entry\">\n <h2>New Trade</h2>\n <form id=\"tradeForm\">\n <div class=\"form-group\">\n <label for=\"pair\">Currency Pair:</label>\n <input type=\"text\" id=\"pair\" required>\n </div>\n <div class=\"form-group\">\n <label for=\"direction\">Direction:</label>\n <select id=\"direction\" required>\n <option value=\"buy\">Buy</option>\n <option value=\"sell\">Sell</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label for=\"entry\">Entry Price:</label>\n <input type=\"number\" step=\"0.0001\" id=\"entry\" required>\n </div>\n <div class=\"form-group\">\n <label for=\"exit\">Exit Price:</label>\n <input type=\"number\" step=\"0.0001\" id=\"exit\" required>\n </div>\n <div class=\"form-group\">\n <label for=\"notes\">Notes:</label>\n <textarea id=\"notes\"></textarea>\n </div>\n <button type=\"submit\">Add Trade</button>\n </form>\n </section>\n\n <section class=\"trade-history\">\n <h2>Trade History</h2>\n <table id=\"tradeTable\">\n <thead>\n <tr>\n <th>Date</th>\n <th>Pair</th>\n <th>Direction</th>\n <th>Entry</th>\n <th>Exit</th>\n <th>P/L</th>\n <th>Notes</th>\n </tr>\n </thead>\n <tbody>\n <!-- Trade rows will be added here -->\n </tbody>\n </table>\n </section>\n</main>\n\n<footer>\n <p>Your personal forex trading companion</p>\n</footer>\n---style.css---\n:root {\n --primary: #4ade80;\n --primary-alt: #22c55e;\n --gray: #1e293b;\n --light: #f8fafc;\n --dark: #0f172a;\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-color: var(--dark);\n color: var(--light);\n line-height: 1.6;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n}\n\nheader {\n background: linear-gradient(135deg, var(--primary), var(--primary-alt));\n color: var(--dark);\n padding: 2rem 1rem;\n text-align: center;\n}\n\nh1 {\n font-size: 2.5rem;\n margin-bottom: 0.5rem;\n}\n\nmain {\n flex: 1;\n padding: 2rem;\n max-width: 1200px;\n margin: 0 auto;\n width: 100%;\n}\n\n.trade-entry {\n background: var(--gray);\n padding: 2rem;\n border-radius: 1rem;\n margin-bottom: 2rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\nlabel {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: 500;\n}\n\ninput, select, textarea {\n width: 100%;\n padding: 0.75rem;\n border: 1px solid var(--primary);\n border-radius: 0.5rem;\n background: var(--dark);\n color: var(--light);\n font-size: 1rem;\n}\n\nbutton {\n background: var(--primary);\n color: var(--dark);\n padding: 0.75rem 1.5rem;\n border: none;\n border-radius: 0.5rem;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s;\n}\n\nbutton:hover {\n background: var(--primary-alt);\n}\n\n.trade-history {\n overflow-x: auto;\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n background: var(--gray);\n border-radius: 1rem;\n overflow: hidden;\n}\n\nth, td {\n padding: 1rem;\n text-align: left;\n}\n\nth {\n background: var(--primary);\n color: var(--dark);\n}\n\ntr:nth-child(even) {\n background: #2d3748;\n}\n\nfooter {\n text-align: center;\n padding: 1rem;\n background: var(--gray);\n color: var(--light);\n}\n\n@media (max-width: 768px) {\n h1 {\n font-size: 2rem;\n }\n \n main {\n padding: 1rem;\n }\n \n .trade-entry {\n padding: 1rem;\n }\n}\n---script.js---\ndocument.getElementById('tradeForm').addEventListener('submit', function(e) {\n e.preventDefault();\n \n const pair = document.getElementById('pair').value;\n const direction = document.getElementById('direction').value;\n const entry = parseFloat(document.getElementById('entry').value);\n const exit = parseFloat(document.getElementById('exit').value);\n const notes = document.getElementById('notes').value;\n \n const profitLoss = ((exit - entry) * (direction === 'buy' ? 1 : -1)).toFixed(4);\n \n const newRow = document.createElement('tr');\n newRow.innerHTML = `\n <td>${new Date().toLocaleDateString()}</td>\n <td>${pair}</td>\n <td>${direction}</td>\n <td>${entry}</td>\n <td>${exit}</td>\n <td class=\"${profitLoss >= 0 ? 'positive' : 'negative'}\">${profitLoss}</td>\n <td>${notes}</td>\n `;\n \n document.getElementById('tradeTable').querySelector('tbody').appendChild(newRow);\n \n this.reset();\n});\n\n// Add styling for profit/loss\nconst style = document.createElement('style');\nstyle.textContent = `\n .positive { color: #4ade80; }\n .negative { color: #f87171; }\n`;\ndocument.head.appendChild(style);\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 239, + "completion_tokens": 1457, + "total_tokens": 1696, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 239 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..7842b7c --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# forexlog3.scroll.pub +Website generated by DeepSeek from prompt: dark mode forex trading journal \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..d89ea64 --- /dev/null +++ b/script.js @@ -0,0 +1,34 @@ +document.getElementById('tradeForm').addEventListener('submit', function(e) { + e.preventDefault(); + + const pair = document.getElementById('pair').value; + const direction = document.getElementById('direction').value; + const entry = parseFloat(document.getElementById('entry').value); + const exit = parseFloat(document.getElementById('exit').value); + const notes = document.getElementById('notes').value; + + const profitLoss = ((exit - entry) * (direction === 'buy' ? 1 : -1)).toFixed(4); + + const newRow = document.createElement('tr'); + newRow.innerHTML = ` + <td>${new Date().toLocaleDateString()}</td> + <td>${pair}</td> + <td>${direction}</td> + <td>${entry}</td> + <td>${exit}</td> + <td class="${profitLoss >= 0 ? 'positive' : 'negative'}">${profitLoss}</td> + <td>${notes}</td> + `; + + document.getElementById('tradeTable').querySelector('tbody').appendChild(newRow); + + this.reset(); +}); + +// Add styling for profit/loss +const style = document.createElement('style'); +style.textContent = ` + .positive { color: #4ade80; } + .negative { color: #f87171; } +`; +document.head.appendChild(style); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..4a5c8e2 --- /dev/null +++ b/style.css @@ -0,0 +1,132 @@ +:root { + --primary: #4ade80; + --primary-alt: #22c55e; + --gray: #1e293b; + --light: #f8fafc; + --dark: #0f172a; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', system-ui, sans-serif; + background-color: var(--dark); + color: var(--light); + line-height: 1.6; + min-height: 100vh; + display: flex; + flex-direction: column; +} + +header { + background: linear-gradient(135deg, var(--primary), var(--primary-alt)); + color: var(--dark); + padding: 2rem 1rem; + text-align: center; +} + +h1 { + font-size: 2.5rem; + margin-bottom: 0.5rem; +} + +main { + flex: 1; + padding: 2rem; + max-width: 1200px; + margin: 0 auto; + width: 100%; +} + +.trade-entry { + background: var(--gray); + padding: 2rem; + border-radius: 1rem; + margin-bottom: 2rem; +} + +.form-group { + margin-bottom: 1rem; +} + +label { + display: block; + margin-bottom: 0.5rem; + font-weight: 500; +} + +input, select, textarea { + width: 100%; + padding: 0.75rem; + border: 1px solid var(--primary); + border-radius: 0.5rem; + background: var(--dark); + color: var(--light); + font-size: 1rem; +} + +button { + background: var(--primary); + color: var(--dark); + padding: 0.75rem 1.5rem; + border: none; + border-radius: 0.5rem; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +button:hover { + background: var(--primary-alt); +} + +.trade-history { + overflow-x: auto; +} + +table { + width: 100%; + border-collapse: collapse; + background: var(--gray); + border-radius: 1rem; + overflow: hidden; +} + +th, td { + padding: 1rem; + text-align: left; +} + +th { + background: var(--primary); + color: var(--dark); +} + +tr:nth-child(even) { + background: #2d3748; +} + +footer { + text-align: center; + padding: 1rem; + background: var(--gray); + color: var(--light); +} + +@media (max-width: 768px) { + h1 { + font-size: 2rem; + } + + main { + padding: 1rem; + } + + .trade-entry { + padding: 1rem; + } +} \ No newline at end of file