commit 951915804a6191a06e18b44524f191a0beb4a3c6
Author: root <root@hub.scroll.pub> Date: 2024-12-28 12:23:52 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..66f846e --- /dev/null +++ b/body.html @@ -0,0 +1,56 @@ +<header> + <h1>Amor Advisor</h1> + <p class="tagline">Evaluate Your Spanish Romance</p> +</header> + +<main> + <section class="calculator"> + <h2>Romance Analysis Calculator</h2> + + <div class="question-container"> + <div class="question active" data-score="1"> + <h3>Communication Patterns</h3> + <div class="slider-container"> + <label for="communication">How often do you communicate?</label> + <input type="range" id="communication" min="1" max="10" value="5"> + <span class="slider-value">5</span> + </div> + </div> + + <div class="question" data-score="2"> + <h3>Red Flags</h3> + <div class="checkbox-group"> + <label><input type="checkbox" value="money"> Asks for money</label> + <label><input type="checkbox" value="webcam"> Refuses video calls</label> + <label><input type="checkbox" value="meeting"> Avoids meeting plans</label> + <label><input type="checkbox" value="stories"> Inconsistent stories</label> + </div> + </div> + + <div class="question" data-score="3"> + <h3>Cultural Connection</h3> + <div class="slider-container"> + <label for="cultural">How well do you understand each other's culture?</label> + <input type="range" id="cultural" min="1" max="10" value="5"> + <span class="slider-value">5</span> + </div> + </div> + </div> + + <button id="calculate" class="pulse">Calculate Compatibility</button> + + <div id="result" class="hidden"> + <h3>Relationship Analysis</h3> + <div class="score-container"> + <div class="score-circle"> + <span id="final-score">0</span>% + </div> + </div> + <p id="recommendation"></p> + </div> + </section> +</main> + +<footer> + <p>Made with ❤️ and algorithms | amor-advisor.scroll.pub</p> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..81a2052 --- /dev/null +++ b/index.scroll @@ -0,0 +1,10 @@ +buildHtml +baseUrl https://amor-advisor.scroll.pub +metaTags + description A smart tool to help you evaluate your online relationship with a Spanish romantic interest + keywords Spanish relationship, online dating, relationship advisor, romance calculator +editButton /edit.html +title Amor Advisor | Spanish Romance Calculator +style.css +body.html +script.js diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..38c93cb --- /dev/null +++ b/prompt.json @@ -0,0 +1,20 @@ +{ + "id": "msg_01BzurrptL2ghFycm5ncwXYo", + "type": "message", + "role": "assistant", + "model": "claude-3-5-sonnet-20241022", + "content": [ + { + "type": "text", + "text": "I'll create a website called \"Amor Advisor\" that helps analyze online relationships with Spanish men through various metrics and questionnaires.\n\n---domain---\namor-advisor.scroll.pub\n\n---index.scroll---\nbuildHtml\nbaseUrl https://amor-advisor.scroll.pub\nmetaTags\n description A smart tool to help you evaluate your online relationship with a Spanish romantic interest\n keywords Spanish relationship, online dating, relationship advisor, romance calculator\neditButton /edit.html\ntitle Amor Advisor | Spanish Romance Calculator\nstyle.css\nbody.html\nscript.js\n\n---body.html---\n<header>\n <h1>Amor Advisor</h1>\n <p class=\"tagline\">Evaluate Your Spanish Romance</p>\n</header>\n\n<main>\n <section class=\"calculator\">\n <h2>Romance Analysis Calculator</h2>\n \n <div class=\"question-container\">\n <div class=\"question active\" data-score=\"1\">\n <h3>Communication Patterns</h3>\n <div class=\"slider-container\">\n <label for=\"communication\">How often do you communicate?</label>\n <input type=\"range\" id=\"communication\" min=\"1\" max=\"10\" value=\"5\">\n <span class=\"slider-value\">5</span>\n </div>\n </div>\n\n <div class=\"question\" data-score=\"2\">\n <h3>Red Flags</h3>\n <div class=\"checkbox-group\">\n <label><input type=\"checkbox\" value=\"money\"> Asks for money</label>\n <label><input type=\"checkbox\" value=\"webcam\"> Refuses video calls</label>\n <label><input type=\"checkbox\" value=\"meeting\"> Avoids meeting plans</label>\n <label><input type=\"checkbox\" value=\"stories\"> Inconsistent stories</label>\n </div>\n </div>\n\n <div class=\"question\" data-score=\"3\">\n <h3>Cultural Connection</h3>\n <div class=\"slider-container\">\n <label for=\"cultural\">How well do you understand each other's culture?</label>\n <input type=\"range\" id=\"cultural\" min=\"1\" max=\"10\" value=\"5\">\n <span class=\"slider-value\">5</span>\n </div>\n </div>\n </div>\n\n <button id=\"calculate\" class=\"pulse\">Calculate Compatibility</button>\n\n <div id=\"result\" class=\"hidden\">\n <h3>Relationship Analysis</h3>\n <div class=\"score-container\">\n <div class=\"score-circle\">\n <span id=\"final-score\">0</span>%\n </div>\n </div>\n <p id=\"recommendation\"></p>\n </div>\n </section>\n</main>\n\n<footer>\n <p>Made with ❤️ and algorithms | amor-advisor.scroll.pub</p>\n</footer>\n\n---style.css---\n:root {\n --primary: #ff4757;\n --secondary: #2f3542;\n --accent: #ffa502;\n --background: #f1f2f6;\n --text: #2f3542;\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(--primary);\n color: white;\n padding: 2rem;\n text-align: center;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n}\n\nh1 {\n font-size: 3rem;\n margin-bottom: 0.5rem;\n text-shadow: 2px 2px 4px rgba(0,0,0,0.2);\n}\n\n.tagline {\n font-size: 1.2rem;\n opacity: 0.9;\n}\n\nmain {\n max-width: 800px;\n margin: 2rem auto;\n padding: 0 1rem;\n}\n\n.calculator {\n background: white;\n padding: 2rem;\n border-radius: 1rem;\n box-shadow: 0 10px 20px rgba(0,0,0,0.1);\n}\n\n.question {\n display: none;\n margin-bottom: 2rem;\n}\n\n.question.active {\n display: block;\n animation: fadeIn 0.5s ease-in;\n}\n\n.slider-container {\n margin: 1.5rem 0;\n}\n\ninput[type=\"range\"] {\n width: 100%;\n height: 8px;\n border-radius: 4px;\n background: var(--background);\n outline: none;\n transition: 0.3s;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n width: 20px;\n height: 20px;\n background: var(--primary);\n border-radius: 50%;\n cursor: pointer;\n}\n\n.checkbox-group {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 1rem;\n margin: 1rem 0;\n}\n\nbutton {\n background: var(--primary);\n color: white;\n border: none;\n padding: 1rem 2rem;\n border-radius: 2rem;\n font-size: 1.1rem;\n cursor: pointer;\n transition: transform 0.3s, box-shadow 0.3s;\n width: 100%;\n margin-top: 2rem;\n}\n\nbutton:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0,0,0,0.2);\n}\n\n.pulse {\n animation: pulse 2s infinite;\n}\n\n.score-circle {\n width: 150px;\n height: 150px;\n border-radius: 50%;\n background: conic-gradient(var(--primary) 0%, var(--background) 0%);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 2rem;\n margin: 2rem auto;\n transition: background 1s;\n}\n\n.hidden {\n display: none;\n}\n\nfooter {\n text-align: center;\n padding: 2rem;\n background: var(--secondary);\n color: white;\n margin-top: 3rem;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n 100% { transform: scale(1); }\n}\n\n@media (max-width: 600px) {\n h1 { font-size: 2rem; }\n .calculator { padding: 1rem; }\n .checkbox-group { grid-template-columns: 1fr; }\n}\n\n---script.js---\ndocument.addEventListener('DOMContentLoaded', () => {\n const sliders = document.querySelectorAll('input[type=\"range\"]');\n const calculateBtn = document.getElementById('calculate');\n const result = document.getElementById('result');\n const finalScore = document.getElementById('final-score');\n const recommendation = document.getElementById('recommendation');\n\n // Update slider values\n sliders.forEach(slider => {\n slider.addEventListener('input', (e) => {\n e.target.nextElementSibling.textContent = e.target.value;\n });\n });\n\n calculateBtn.addEventListener('click', () => {\n const communicationScore = parseInt(document.getElementById('communication').value);\n const culturalScore = parseInt(document.getElementById('cultural').value);\n const redFlags = document.querySelectorAll('input[type=\"checkbox\"]:checked').length;\n\n // Calculate final score\n let score = Math.round(((communicationScore + culturalScore) / 20 * 100) - (redFlags * 15));\n score = Math.max(0, Math.min(score, 100));\n\n // Update score circle\n const scoreCircle = document.querySelector('.score-circle');\n scoreCircle.style.background = `conic-gradient(var(--primary) ${score}%, var(--background) ${score}%)`;\n\n // Show result with animation\n result.classList.remove('hidden');\n result.scrollIntoView({ behavior: 'smooth' });\n\n // Animate score counter\n let currentScore = 0;\n const interval = setInterval(() => {\n if (currentScore >= score) {\n clearInterval(interval);\n } else {\n currentScore++;\n finalScore.textContent = currentScore;\n }\n }, 20);\n\n // Generate recommendation\n let recommendationText = '';\n if (score >= 80) {\n recommendationText = \"¡Muy bien! This relationship shows great potential. Keep nurturing it!\";\n } else if (score >= 60) {\n recommendationText = \"There are positive signs, but proceed with caution and keep communication open.\";\n } else if (score >= 40) {\n recommendationText = \"Consider having a serious discussion about your concerns before proceeding.\";\n } else {\n recommendationText = \"There are significant red flags. We recommend reconsidering this relationship.\";\n }\n \n recommendation.textContent = recommendationText;\n });\n});\n\n---end---\n\nThis website features:\n1. A sleek, modern design with smooth animations\n2. A multi-factor relationship evaluation system\n3. Interactive sliders and checkboxes\n4. A beautiful circular progress indicator\n5. Mobile-responsive layout\n6. Engaging visual feedback\n7. Thoughtful recommendations based on calculated scores\n8. Accessibility features\n9. Smooth scrolling and transitions\n10. Professional typography and color scheme\n\nThe tool evaluates the relationship based on communication frequency, potential red flags, and cultural connection, providing a weighted score and personalized recommendation." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 298, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 2545 + } +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..89860c5 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# amor-advisor.scroll.pub +Website generated by Claude from prompt: A website helps me decide if I should continue online relation with a Spanish man who has strong desires. It should has numerical tools. Be creative. \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..1e4dfdb --- /dev/null +++ b/script.js @@ -0,0 +1,57 @@ +document.addEventListener('DOMContentLoaded', () => { + const sliders = document.querySelectorAll('input[type="range"]'); + const calculateBtn = document.getElementById('calculate'); + const result = document.getElementById('result'); + const finalScore = document.getElementById('final-score'); + const recommendation = document.getElementById('recommendation'); + + // Update slider values + sliders.forEach(slider => { + slider.addEventListener('input', (e) => { + e.target.nextElementSibling.textContent = e.target.value; + }); + }); + + calculateBtn.addEventListener('click', () => { + const communicationScore = parseInt(document.getElementById('communication').value); + const culturalScore = parseInt(document.getElementById('cultural').value); + const redFlags = document.querySelectorAll('input[type="checkbox"]:checked').length; + + // Calculate final score + let score = Math.round(((communicationScore + culturalScore) / 20 * 100) - (redFlags * 15)); + score = Math.max(0, Math.min(score, 100)); + + // Update score circle + const scoreCircle = document.querySelector('.score-circle'); + scoreCircle.style.background = `conic-gradient(var(--primary) ${score}%, var(--background) ${score}%)`; + + // Show result with animation + result.classList.remove('hidden'); + result.scrollIntoView({ behavior: 'smooth' }); + + // Animate score counter + let currentScore = 0; + const interval = setInterval(() => { + if (currentScore >= score) { + clearInterval(interval); + } else { + currentScore++; + finalScore.textContent = currentScore; + } + }, 20); + + // Generate recommendation + let recommendationText = ''; + if (score >= 80) { + recommendationText = "¡Muy bien! This relationship shows great potential. Keep nurturing it!"; + } else if (score >= 60) { + recommendationText = "There are positive signs, but proceed with caution and keep communication open."; + } else if (score >= 40) { + recommendationText = "Consider having a serious discussion about your concerns before proceeding."; + } else { + recommendationText = "There are significant red flags. We recommend reconsidering this relationship."; + } + + recommendation.textContent = recommendationText; + }); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..5596d48 --- /dev/null +++ b/style.css @@ -0,0 +1,155 @@ +:root { + --primary: #ff4757; + --secondary: #2f3542; + --accent: #ffa502; + --background: #f1f2f6; + --text: #2f3542; +} + +* { + 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(--primary); + color: white; + padding: 2rem; + text-align: center; + box-shadow: 0 4px 6px rgba(0,0,0,0.1); +} + +h1 { + font-size: 3rem; + margin-bottom: 0.5rem; + text-shadow: 2px 2px 4px rgba(0,0,0,0.2); +} + +.tagline { + font-size: 1.2rem; + opacity: 0.9; +} + +main { + max-width: 800px; + margin: 2rem auto; + padding: 0 1rem; +} + +.calculator { + background: white; + padding: 2rem; + border-radius: 1rem; + box-shadow: 0 10px 20px rgba(0,0,0,0.1); +} + +.question { + display: none; + margin-bottom: 2rem; +} + +.question.active { + display: block; + animation: fadeIn 0.5s ease-in; +} + +.slider-container { + margin: 1.5rem 0; +} + +input[type="range"] { + width: 100%; + height: 8px; + border-radius: 4px; + background: var(--background); + outline: none; + transition: 0.3s; +} + +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + width: 20px; + height: 20px; + background: var(--primary); + border-radius: 50%; + cursor: pointer; +} + +.checkbox-group { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1rem; + margin: 1rem 0; +} + +button { + background: var(--primary); + color: white; + border: none; + padding: 1rem 2rem; + border-radius: 2rem; + font-size: 1.1rem; + cursor: pointer; + transition: transform 0.3s, box-shadow 0.3s; + width: 100%; + margin-top: 2rem; +} + +button:hover { + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0,0,0,0.2); +} + +.pulse { + animation: pulse 2s infinite; +} + +.score-circle { + width: 150px; + height: 150px; + border-radius: 50%; + background: conic-gradient(var(--primary) 0%, var(--background) 0%); + display: flex; + align-items: center; + justify-content: center; + font-size: 2rem; + margin: 2rem auto; + transition: background 1s; +} + +.hidden { + display: none; +} + +footer { + text-align: center; + padding: 2rem; + background: var(--secondary); + color: white; + margin-top: 3rem; +} + +@keyframes fadeIn { + from { opacity: 0; transform: translateY(20px); } + to { opacity: 1; transform: translateY(0); } +} + +@keyframes pulse { + 0% { transform: scale(1); } + 50% { transform: scale(1.05); } + 100% { transform: scale(1); } +} + +@media (max-width: 600px) { + h1 { font-size: 2rem; } + .calculator { padding: 1rem; } + .checkbox-group { grid-template-columns: 1fr; } +}