commit 6f3030f3361bc3aaf0070f19b326c4f0f76c800b
Author: root <root@hub.scroll.pub> Date: 2024-12-27 17:43:14 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..c585deb --- /dev/null +++ b/body.html @@ -0,0 +1,36 @@ +<header> + <h1>Career Match Calculator</h1> + <p>Discover your ideal career based on your 16 Personality Archetype</p> +</header> + +<main> + <section class="intro"> + <p>Take our quick personality assessment to find out which careers align with your unique traits and strengths.</p> + <button id="startQuiz">Start the Quiz</button> + </section> + + <section class="quiz hidden"> + <div class="question"> + <h2>Question <span id="questionNumber">1</span> of 16</h2> + <p id="questionText">Are you more outgoing or reserved?</p> + <div class="options"> + <button class="option" data-value="E">Outgoing</button> + <button class="option" data-value="I">Reserved</button> + </div> + </div> + <div class="navigation"> + <button id="prevQuestion" disabled>Previous</button> + <button id="nextQuestion">Next</button> + </div> + </section> + + <section class="results hidden"> + <h2>Your Career Match</h2> + <div id="resultContent"></div> + <button id="retakeQuiz">Retake Quiz</button> + </section> +</main> + +<footer> + <p>Find your perfect career path today!</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..ac54628 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://careermatch.scroll.pub +metaTags +editButton /edit.html +title Career Match Calculator | Find Your Ideal Job Based on Personality +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..a10e06d --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "09fa2897-6c6e-4f8f-8db3-6586ef6097bf", + "object": "chat.completion", + "created": 1735321372, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\ncareermatch.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://careermatch.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Career Match Calculator | Find Your Ideal Job Based on Personality\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Career Match Calculator</h1>\n <p>Discover your ideal career based on your 16 Personality Archetype</p>\n</header>\n\n<main>\n <section class=\"intro\">\n <p>Take our quick personality assessment to find out which careers align with your unique traits and strengths.</p>\n <button id=\"startQuiz\">Start the Quiz</button>\n </section>\n\n <section class=\"quiz hidden\">\n <div class=\"question\">\n <h2>Question <span id=\"questionNumber\">1</span> of 16</h2>\n <p id=\"questionText\">Are you more outgoing or reserved?</p>\n <div class=\"options\">\n <button class=\"option\" data-value=\"E\">Outgoing</button>\n <button class=\"option\" data-value=\"I\">Reserved</button>\n </div>\n </div>\n <div class=\"navigation\">\n <button id=\"prevQuestion\" disabled>Previous</button>\n <button id=\"nextQuestion\">Next</button>\n </div>\n </section>\n\n <section class=\"results hidden\">\n <h2>Your Career Match</h2>\n <div id=\"resultContent\"></div>\n <button id=\"retakeQuiz\">Retake Quiz</button>\n </section>\n</main>\n\n<footer>\n <p>Find your perfect career path today!</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #4a90e2;\n --secondary-color: #f5a623;\n --background-color: #f8f9fa;\n --text-color: #333;\n --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n}\n\nbody {\n font-family: var(--font-family);\n color: var(--text-color);\n background-color: var(--background-color);\n margin: 0;\n padding: 0;\n line-height: 1.6;\n}\n\nheader {\n background: var(--primary-color);\n color: white;\n padding: 2rem;\n text-align: center;\n}\n\nh1 {\n margin: 0;\n font-size: 2.5rem;\n}\n\np {\n margin: 0.5rem 0;\n}\n\nmain {\n padding: 2rem;\n max-width: 800px;\n margin: 0 auto;\n}\n\nbutton {\n background: var(--primary-color);\n color: white;\n border: none;\n padding: 0.75rem 1.5rem;\n border-radius: 5px;\n cursor: pointer;\n font-size: 1rem;\n transition: background 0.3s ease;\n}\n\nbutton:hover {\n background: var(--secondary-color);\n}\n\n.quiz, .results {\n display: none;\n}\n\n.quiz.active, .results.active {\n display: block;\n}\n\n.question {\n background: white;\n padding: 1.5rem;\n border-radius: 10px;\n box-shadow: 0 2px 5px rgba(0,0,0,0.1);\n}\n\n.options {\n display: flex;\n gap: 1rem;\n margin-top: 1rem;\n}\n\n.option {\n flex: 1;\n}\n\n.navigation {\n display: flex;\n justify-content: space-between;\n margin-top: 1.5rem;\n}\n\n.results {\n text-align: center;\n}\n\n.hidden {\n display: none;\n}\n\n@media (max-width: 600px) {\n h1 {\n font-size: 2rem;\n }\n\n .options {\n flex-direction: column;\n }\n}\n---script.js---\nconst quizData = [\n { question: \"Are you more outgoing or reserved?\", options: { E: \"Outgoing\", I: \"Reserved\" } },\n { question: \"Do you prefer to focus on the big picture or the details?\", options: { N: \"Big Picture\", S: \"Details\" } },\n { question: \"Do you make decisions based on logic or feelings?\", options: { T: \"Logic\", F: \"Feelings\" } },\n { question: \"Do you prefer a structured or flexible lifestyle?\", options: { J: \"Structured\", P: \"Flexible\" } },\n // Add more questions here...\n];\n\nlet currentQuestion = 0;\nlet personalityType = \"\";\n\nconst startQuizBtn = document.getElementById('startQuiz');\nconst quizSection = document.querySelector('.quiz');\nconst resultsSection = document.querySelector('.results');\nconst questionNumber = document.getElementById('questionNumber');\nconst questionText = document.getElementById('questionText');\nconst optionsContainer = document.querySelector('.options');\nconst prevQuestionBtn = document.getElementById('prevQuestion');\nconst nextQuestionBtn = document.getElementById('nextQuestion');\nconst retakeQuizBtn = document.getElementById('retakeQuiz');\nconst resultContent = document.getElementById('resultContent');\n\nstartQuizBtn.addEventListener('click', () => {\n startQuizBtn.classList.add('hidden');\n quizSection.classList.add('active');\n loadQuestion();\n});\n\noptionsContainer.addEventListener('click', (e) => {\n if (e.target.classList.contains('option')) {\n personalityType += e.target.dataset.value;\n nextQuestion();\n }\n});\n\nprevQuestionBtn.addEventListener('click', () => {\n currentQuestion--;\n personalityType = personalityType.slice(0, -1);\n loadQuestion();\n});\n\nnextQuestionBtn.addEventListener('click', () => {\n nextQuestion();\n});\n\nretakeQuizBtn.addEventListener('click', () => {\n currentQuestion = 0;\n personalityType = \"\";\n resultsSection.classList.remove('active');\n quizSection.classList.add('active');\n loadQuestion();\n});\n\nfunction loadQuestion() {\n const question = quizData[currentQuestion];\n questionNumber.textContent = currentQuestion + 1;\n questionText.textContent = question.question;\n optionsContainer.innerHTML = Object.entries(question.options).map(([value, text]) => `\n <button class=\"option\" data-value=\"${value}\">${text}</button>\n `).join('');\n prevQuestionBtn.disabled = currentQuestion === 0;\n nextQuestionBtn.disabled = true;\n}\n\nfunction nextQuestion() {\n currentQuestion++;\n if (currentQuestion < quizData.length) {\n loadQuestion();\n } else {\n showResults();\n }\n}\n\nfunction showResults() {\n quizSection.classList.remove('active');\n resultsSection.classList.add('active');\n const careerMatches = {\n \"INTJ\": \"Architect\",\n \"INTP\": \"Logician\",\n \"ENTJ\": \"Commander\",\n \"ENTP\": \"Debater\",\n \"INFJ\": \"Advocate\",\n \"INFP\": \"Mediator\",\n \"ENFJ\": \"Protagonist\",\n \"ENFP\": \"Campaigner\",\n \"ISTJ\": \"Inspector\",\n \"ISFJ\": \"Defender\",\n \"ESTJ\": \"Executive\",\n \"ESFJ\": \"Consul\",\n \"ISTP\": \"Virtuoso\",\n \"ISFP\": \"Adventurer\",\n \"ESTP\": \"Entrepreneur\",\n \"ESFP\": \"Entertainer\"\n };\n const result = careerMatches[personalityType] || \"Unknown\";\n resultContent.innerHTML = `\n <p>Your personality type is: <strong>${personalityType}</strong></p>\n <p>Your ideal career match is: <strong>${result}</strong></p>\n `;\n}\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 246, + "completion_tokens": 1658, + "total_tokens": 1904, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 246 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..15023dc --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# careermatch.scroll.pub +Website generated by DeepSeek from prompt: a career match calculator pased on 16 personalities archetype \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..4e39e6f --- /dev/null +++ b/script.js @@ -0,0 +1,100 @@ +const quizData = [ + { question: "Are you more outgoing or reserved?", options: { E: "Outgoing", I: "Reserved" } }, + { question: "Do you prefer to focus on the big picture or the details?", options: { N: "Big Picture", S: "Details" } }, + { question: "Do you make decisions based on logic or feelings?", options: { T: "Logic", F: "Feelings" } }, + { question: "Do you prefer a structured or flexible lifestyle?", options: { J: "Structured", P: "Flexible" } }, + // Add more questions here... +]; + +let currentQuestion = 0; +let personalityType = ""; + +const startQuizBtn = document.getElementById('startQuiz'); +const quizSection = document.querySelector('.quiz'); +const resultsSection = document.querySelector('.results'); +const questionNumber = document.getElementById('questionNumber'); +const questionText = document.getElementById('questionText'); +const optionsContainer = document.querySelector('.options'); +const prevQuestionBtn = document.getElementById('prevQuestion'); +const nextQuestionBtn = document.getElementById('nextQuestion'); +const retakeQuizBtn = document.getElementById('retakeQuiz'); +const resultContent = document.getElementById('resultContent'); + +startQuizBtn.addEventListener('click', () => { + startQuizBtn.classList.add('hidden'); + quizSection.classList.add('active'); + loadQuestion(); +}); + +optionsContainer.addEventListener('click', (e) => { + if (e.target.classList.contains('option')) { + personalityType += e.target.dataset.value; + nextQuestion(); + } +}); + +prevQuestionBtn.addEventListener('click', () => { + currentQuestion--; + personalityType = personalityType.slice(0, -1); + loadQuestion(); +}); + +nextQuestionBtn.addEventListener('click', () => { + nextQuestion(); +}); + +retakeQuizBtn.addEventListener('click', () => { + currentQuestion = 0; + personalityType = ""; + resultsSection.classList.remove('active'); + quizSection.classList.add('active'); + loadQuestion(); +}); + +function loadQuestion() { + const question = quizData[currentQuestion]; + questionNumber.textContent = currentQuestion + 1; + questionText.textContent = question.question; + optionsContainer.innerHTML = Object.entries(question.options).map(([value, text]) => ` + <button class="option" data-value="${value}">${text}</button> + `).join(''); + prevQuestionBtn.disabled = currentQuestion === 0; + nextQuestionBtn.disabled = true; +} + +function nextQuestion() { + currentQuestion++; + if (currentQuestion < quizData.length) { + loadQuestion(); + } else { + showResults(); + } +} + +function showResults() { + quizSection.classList.remove('active'); + resultsSection.classList.add('active'); + const careerMatches = { + "INTJ": "Architect", + "INTP": "Logician", + "ENTJ": "Commander", + "ENTP": "Debater", + "INFJ": "Advocate", + "INFP": "Mediator", + "ENFJ": "Protagonist", + "ENFP": "Campaigner", + "ISTJ": "Inspector", + "ISFJ": "Defender", + "ESTJ": "Executive", + "ESFJ": "Consul", + "ISTP": "Virtuoso", + "ISFP": "Adventurer", + "ESTP": "Entrepreneur", + "ESFP": "Entertainer" + }; + const result = careerMatches[personalityType] || "Unknown"; + resultContent.innerHTML = ` + <p>Your personality type is: <strong>${personalityType}</strong></p> + <p>Your ideal career match is: <strong>${result}</strong></p> + `; +} \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..af9c2e8 --- /dev/null +++ b/style.css @@ -0,0 +1,102 @@ +:root { + --primary-color: #4a90e2; + --secondary-color: #f5a623; + --background-color: #f8f9fa; + --text-color: #333; + --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; +} + +body { + font-family: var(--font-family); + color: var(--text-color); + background-color: var(--background-color); + margin: 0; + padding: 0; + line-height: 1.6; +} + +header { + background: var(--primary-color); + color: white; + padding: 2rem; + text-align: center; +} + +h1 { + margin: 0; + font-size: 2.5rem; +} + +p { + margin: 0.5rem 0; +} + +main { + padding: 2rem; + max-width: 800px; + margin: 0 auto; +} + +button { + background: var(--primary-color); + color: white; + border: none; + padding: 0.75rem 1.5rem; + border-radius: 5px; + cursor: pointer; + font-size: 1rem; + transition: background 0.3s ease; +} + +button:hover { + background: var(--secondary-color); +} + +.quiz, .results { + display: none; +} + +.quiz.active, .results.active { + display: block; +} + +.question { + background: white; + padding: 1.5rem; + border-radius: 10px; + box-shadow: 0 2px 5px rgba(0,0,0,0.1); +} + +.options { + display: flex; + gap: 1rem; + margin-top: 1rem; +} + +.option { + flex: 1; +} + +.navigation { + display: flex; + justify-content: space-between; + margin-top: 1.5rem; +} + +.results { + text-align: center; +} + +.hidden { + display: none; +} + +@media (max-width: 600px) { + h1 { + font-size: 2rem; + } + + .options { + flex-direction: column; + } +} \ No newline at end of file