commit cb6fac4d433044c174f11db1cf4ad447f91ec66a
Author: root <root@hub.scroll.pub> Date: 2025-01-04 02:02:08 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..d696a83 --- /dev/null +++ b/body.html @@ -0,0 +1,45 @@ +<header> + <h1>Should I Retire?</h1> + <p>Evaluate if it's time to retire as a software engineer</p> +</header> + +<main> + <form id="retirementForm"> + <div class="form-group"> + <label for="age">Your Age:</label> + <input type="number" id="age" name="age" required min="18" max="120"> + </div> + + <div class="form-group"> + <label for="experience">Years of Experience:</label> + <input type="number" id="experience" name="experience" required min="0" max="100"> + </div> + + <div class="form-group"> + <label for="burnout">Burnout Level (1-10):</label> + <input type="number" id="burnout" name="burnout" required min="1" max="10"> + </div> + + <div class="form-group"> + <label for="savings">Retirement Savings ($):</label> + <input type="number" id="savings" name="savings" required min="0"> + </div> + + <div class="form-group"> + <label for="passion">Passion for Coding (1-10):</label> + <input type="number" id="passion" name="passion" required min="1" max="10"> + </div> + + <button type="submit">Evaluate</button> + </form> + + <div id="result" class="hidden"> + <h2>Evaluation Result</h2> + <p id="resultText"></p> + <button id="resetButton">Evaluate Again</button> + </div> +</main> + +<footer> + <p>Disclaimer: This is a fun evaluation tool, not financial advice.</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..9dd7b46 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://retiredev.scroll.pub +metaTags +editButton /edit.html +title Should I Retire? - Software Engineer Retirement Evaluator +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..97f3800 --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "307df3e9-a77a-423b-8089-7b302cdda3c3", + "object": "chat.completion", + "created": 1735956100, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\nretiredev.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://retiredev.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Should I Retire? - Software Engineer Retirement Evaluator\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Should I Retire?</h1>\n <p>Evaluate if it's time to retire as a software engineer</p>\n</header>\n\n<main>\n <form id=\"retirementForm\">\n <div class=\"form-group\">\n <label for=\"age\">Your Age:</label>\n <input type=\"number\" id=\"age\" name=\"age\" required min=\"18\" max=\"120\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"experience\">Years of Experience:</label>\n <input type=\"number\" id=\"experience\" name=\"experience\" required min=\"0\" max=\"100\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"burnout\">Burnout Level (1-10):</label>\n <input type=\"number\" id=\"burnout\" name=\"burnout\" required min=\"1\" max=\"10\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"savings\">Retirement Savings ($):</label>\n <input type=\"number\" id=\"savings\" name=\"savings\" required min=\"0\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"passion\">Passion for Coding (1-10):</label>\n <input type=\"number\" id=\"passion\" name=\"passion\" required min=\"1\" max=\"10\">\n </div>\n\n <button type=\"submit\">Evaluate</button>\n </form>\n\n <div id=\"result\" class=\"hidden\">\n <h2>Evaluation Result</h2>\n <p id=\"resultText\"></p>\n <button id=\"resetButton\">Evaluate Again</button>\n </div>\n</main>\n\n<footer>\n <p>Disclaimer: This is a fun evaluation tool, not financial advice.</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #2c3e50;\n --secondary-color: #3498db;\n --accent-color: #e74c3c;\n --bg-color: #ecf0f1;\n --text-color: #2c3e50;\n --font-family: 'Segoe UI', system-ui, sans-serif;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n line-height: 1.6;\n color: var(--text-color);\n background-color: var(--bg-color);\n padding: 2rem;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\nheader {\n text-align: center;\n margin-bottom: 2rem;\n}\n\nheader h1 {\n color: var(--primary-color);\n font-size: 2.5rem;\n margin-bottom: 0.5rem;\n}\n\nheader p {\n color: var(--secondary-color);\n font-size: 1.2rem;\n}\n\nmain {\n max-width: 600px;\n width: 100%;\n background: white;\n padding: 2rem;\n border-radius: 12px;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n.form-group {\n margin-bottom: 1.5rem;\n}\n\nlabel {\n display: block;\n margin-bottom: 0.5rem;\n color: var(--primary-color);\n font-weight: 500;\n}\n\ninput {\n width: 100%;\n padding: 0.8rem;\n border: 2px solid #ddd;\n border-radius: 8px;\n font-size: 1rem;\n transition: border-color 0.3s ease;\n}\n\ninput:focus {\n outline: none;\n border-color: var(--secondary-color);\n}\n\nbutton {\n width: 100%;\n padding: 1rem;\n background-color: var(--secondary-color);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 1rem;\n cursor: pointer;\n transition: background-color 0.3s ease;\n}\n\nbutton:hover {\n background-color: var(--primary-color);\n}\n\n#result {\n margin-top: 2rem;\n text-align: center;\n padding: 2rem;\n border-radius: 8px;\n background-color: var(--bg-color);\n}\n\n#result.hidden {\n display: none;\n}\n\n#resultText {\n font-size: 1.2rem;\n margin: 1rem 0;\n}\n\n#resetButton {\n background-color: var(--accent-color);\n max-width: 200px;\n}\n\nfooter {\n margin-top: 2rem;\n text-align: center;\n color: #666;\n font-size: 0.9rem;\n}\n\n@media (max-width: 600px) {\n body {\n padding: 1rem;\n }\n \n header h1 {\n font-size: 2rem;\n }\n \n main {\n padding: 1rem;\n }\n}\n---script.js---\ndocument.getElementById('retirementForm').addEventListener('submit', function(e) {\n e.preventDefault();\n \n // Get form values\n const age = parseInt(document.getElementById('age').value);\n const experience = parseInt(document.getElementById('experience').value);\n const burnout = parseInt(document.getElementById('burnout').value);\n const savings = parseInt(document.getElementById('savings').value);\n const passion = parseInt(document.getElementById('passion').value);\n \n // Calculate retirement score\n let score = 0;\n \n // Age factor\n if (age >= 65) score += 30;\n else if (age >= 55) score += 20;\n else if (age >= 45) score += 10;\n \n // Experience factor\n if (experience >= 30) score += 20;\n else if (experience >= 20) score += 15;\n else if (experience >= 10) score += 10;\n \n // Burnout factor\n if (burnout >= 8) score += 20;\n else if (burnout >= 5) score += 10;\n \n // Savings factor\n if (savings >= 1000000) score += 20;\n else if (savings >= 500000) score += 15;\n else if (savings >= 250000) score += 10;\n \n // Passion factor\n if (passion <= 3) score += 10;\n \n // Determine result\n let resultText = '';\n if (score >= 80) {\n resultText = \"It's time to retire! You've earned it.\";\n } else if (score >= 50) {\n resultText = \"You're getting close to retirement. Start planning!\";\n } else {\n resultText = \"You're not ready to retire yet. Keep coding!\";\n }\n \n // Show result\n document.getElementById('resultText').textContent = resultText;\n document.getElementById('result').classList.remove('hidden');\n});\n\ndocument.getElementById('resetButton').addEventListener('click', function() {\n document.getElementById('retirementForm').reset();\n document.getElementById('result').classList.add('hidden');\n});\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 272, + "completion_tokens": 1646, + "total_tokens": 1918, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 272 + }, + "system_fingerprint": "fp_3a5770e1b4" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..c4418ba --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# retiredev.scroll.pub +Website generated by DeepSeek from prompt: I want to have a web site to evaluate whether one software engineer should be retired now. it should have more factors with users' input, then decide whether he/she could be retired now. \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..86ed84f --- /dev/null +++ b/script.js @@ -0,0 +1,54 @@ +document.getElementById('retirementForm').addEventListener('submit', function(e) { + e.preventDefault(); + + // Get form values + const age = parseInt(document.getElementById('age').value); + const experience = parseInt(document.getElementById('experience').value); + const burnout = parseInt(document.getElementById('burnout').value); + const savings = parseInt(document.getElementById('savings').value); + const passion = parseInt(document.getElementById('passion').value); + + // Calculate retirement score + let score = 0; + + // Age factor + if (age >= 65) score += 30; + else if (age >= 55) score += 20; + else if (age >= 45) score += 10; + + // Experience factor + if (experience >= 30) score += 20; + else if (experience >= 20) score += 15; + else if (experience >= 10) score += 10; + + // Burnout factor + if (burnout >= 8) score += 20; + else if (burnout >= 5) score += 10; + + // Savings factor + if (savings >= 1000000) score += 20; + else if (savings >= 500000) score += 15; + else if (savings >= 250000) score += 10; + + // Passion factor + if (passion <= 3) score += 10; + + // Determine result + let resultText = ''; + if (score >= 80) { + resultText = "It's time to retire! You've earned it."; + } else if (score >= 50) { + resultText = "You're getting close to retirement. Start planning!"; + } else { + resultText = "You're not ready to retire yet. Keep coding!"; + } + + // Show result + document.getElementById('resultText').textContent = resultText; + document.getElementById('result').classList.remove('hidden'); +}); + +document.getElementById('resetButton').addEventListener('click', function() { + document.getElementById('retirementForm').reset(); + document.getElementById('result').classList.add('hidden'); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..912a38a --- /dev/null +++ b/style.css @@ -0,0 +1,135 @@ +:root { + --primary-color: #2c3e50; + --secondary-color: #3498db; + --accent-color: #e74c3c; + --bg-color: #ecf0f1; + --text-color: #2c3e50; + --font-family: 'Segoe UI', system-ui, sans-serif; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: var(--font-family); + line-height: 1.6; + color: var(--text-color); + background-color: var(--bg-color); + padding: 2rem; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; +} + +header { + text-align: center; + margin-bottom: 2rem; +} + +header h1 { + color: var(--primary-color); + font-size: 2.5rem; + margin-bottom: 0.5rem; +} + +header p { + color: var(--secondary-color); + font-size: 1.2rem; +} + +main { + max-width: 600px; + width: 100%; + background: white; + padding: 2rem; + border-radius: 12px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +.form-group { + margin-bottom: 1.5rem; +} + +label { + display: block; + margin-bottom: 0.5rem; + color: var(--primary-color); + font-weight: 500; +} + +input { + width: 100%; + padding: 0.8rem; + border: 2px solid #ddd; + border-radius: 8px; + font-size: 1rem; + transition: border-color 0.3s ease; +} + +input:focus { + outline: none; + border-color: var(--secondary-color); +} + +button { + width: 100%; + padding: 1rem; + background-color: var(--secondary-color); + color: white; + border: none; + border-radius: 8px; + font-size: 1rem; + cursor: pointer; + transition: background-color 0.3s ease; +} + +button:hover { + background-color: var(--primary-color); +} + +#result { + margin-top: 2rem; + text-align: center; + padding: 2rem; + border-radius: 8px; + background-color: var(--bg-color); +} + +#result.hidden { + display: none; +} + +#resultText { + font-size: 1.2rem; + margin: 1rem 0; +} + +#resetButton { + background-color: var(--accent-color); + max-width: 200px; +} + +footer { + margin-top: 2rem; + text-align: center; + color: #666; + font-size: 0.9rem; +} + +@media (max-width: 600px) { + body { + padding: 1rem; + } + + header h1 { + font-size: 2rem; + } + + main { + padding: 1rem; + } +} \ No newline at end of file