|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>Prompt Generator for Kids Activity Hub Pro</title> |
|
|
<style> |
|
|
body { |
|
|
font-family: sans-serif, Arial, Helvetica; |
|
|
background-color: #ffffff; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
min-height: 100vh; |
|
|
margin: 0; |
|
|
color: #333; |
|
|
} |
|
|
|
|
|
.container { |
|
|
max-width: 450px; |
|
|
width: 100%; |
|
|
padding: 30px; |
|
|
background-color: #f9f9f9; |
|
|
border-radius: 15px; |
|
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); |
|
|
border-top: 5px solid #8A2BE2; |
|
|
} |
|
|
|
|
|
h1 { |
|
|
color: #8A2BE2; |
|
|
font-size: 2em; |
|
|
text-align: center; |
|
|
margin-top: 0; |
|
|
margin-bottom: 30px; |
|
|
} |
|
|
|
|
|
.form-group { |
|
|
margin-bottom: 20px; |
|
|
} |
|
|
|
|
|
label { |
|
|
display: block; |
|
|
margin-bottom: 8px; |
|
|
font-weight: bold; |
|
|
color: #6A1B9A; |
|
|
} |
|
|
|
|
|
select, |
|
|
input[type="text"] { |
|
|
width: 100%; |
|
|
padding: 15px; |
|
|
border: 1px solid #D1C4E9; |
|
|
border-radius: 8px; |
|
|
font-size: 1em; |
|
|
box-sizing: border-box; |
|
|
background-color: #ffffff; |
|
|
} |
|
|
|
|
|
#prompt-display { |
|
|
width: 100%; |
|
|
padding: 20px; |
|
|
margin-top: 20px; |
|
|
border: 1px solid #ddd; |
|
|
border-radius: 8px; |
|
|
font-size: 1em; |
|
|
background-color: #F3E5F5; |
|
|
color: #6A1B9A; |
|
|
min-height: 80px; |
|
|
box-sizing: border-box; |
|
|
white-space: pre-wrap; |
|
|
word-wrap: break-word; |
|
|
} |
|
|
|
|
|
button { |
|
|
width: 100%; |
|
|
padding: 20px; |
|
|
border: 1px solid #D1C4E9; |
|
|
border-radius: 8px; |
|
|
background-color: #F3E5F5; |
|
|
color: #8A2BE2; |
|
|
font-size: 1.5em; |
|
|
font-weight: bold; |
|
|
cursor: pointer; |
|
|
transition: background-color 0.3s, color 0.3s; |
|
|
margin-top: 10px; |
|
|
} |
|
|
|
|
|
button:hover { |
|
|
background-color: #8A2BE2; |
|
|
color: #ffffff; |
|
|
} |
|
|
|
|
|
|
|
|
#custom-lang-group { |
|
|
display: none; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body> |
|
|
|
|
|
<div class="container"> |
|
|
<h1>Kids Activity Hub pro</h1> |
|
|
|
|
|
<form id="prompt-form"> |
|
|
<div class="form-group"> |
|
|
<label for="class-select">Select Class</label> |
|
|
<select id="class-select"> |
|
|
<option value="Playgroup">Playgroup</option> |
|
|
<option value="Nursery">Nursery</option> |
|
|
<option value="KG / Prep">KG / Prep</option> |
|
|
<option value="Grade 1">Grade 1</option> |
|
|
<option value="Grade 2">Grade 2</option> |
|
|
<option value="Grade 3">Grade 3</option> |
|
|
<option value="Grade 4">Grade 4</option> |
|
|
<option value="Grade 5">Grade 5</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div class="form-group"> |
|
|
<label for="subject-select">Select Subject</label> |
|
|
<select id="subject-select"> |
|
|
<option value="English">English</option> |
|
|
<option value="Urdu">Urdu</option> |
|
|
<option value="Mathematics">Mathematics</option> |
|
|
<option value="Science">Science</option> |
|
|
<option value="Social Studies">Social Studies</option> |
|
|
<option value="Islamiat">Islamiat</option> |
|
|
<option value="Art / Drawing">Art / Drawing</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div class="form-group"> |
|
|
<label for="type-select">Select Type</label> |
|
|
<select id="type-select"> |
|
|
<option value="General Classroom Activity">General Classroom Activity</option> |
|
|
<option value="Printable Worksheet">Printable Worksheet</option> |
|
|
<option value="Coloring Sheet">Coloring Sheet</option> |
|
|
<option value="Tracing Sheet">Tracing Sheet</option> |
|
|
<option value="Drawing Practice">Drawing Practice</option> |
|
|
<option value="Story">Story</option> |
|
|
<option value="Classroom Game">Classroom Game</option> |
|
|
<option value="Poem">Poem</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div class="form-group"> |
|
|
<label for="language-select">Select Language</label> |
|
|
<select id="language-select"> |
|
|
<option value="English">English</option> |
|
|
<option value="Urdu">Urdu</option> |
|
|
<option value="Bilingual (Urdu and English)">Bilingual</option> |
|
|
<option value="Custom">Custom</option> |
|
|
</select> |
|
|
</div> |
|
|
|
|
|
<div class="form-group" id="custom-lang-group"> |
|
|
<label for="custom-lang-input">Enter Custom Language</label> |
|
|
<input type="text" id="custom-lang-input" placeholder="e.g., Sindhi, Pashto"> |
|
|
</div> |
|
|
<div class="form-group"> |
|
|
<label for="topic-input">Enter Topic (Optional)</label> |
|
|
<input type="text" id="topic-input" placeholder="e.g., Addition, My Family, Plants"> |
|
|
</div> |
|
|
|
|
|
<div id="prompt-display-container" class="form-group"> |
|
|
<label>Generated Prompt</label> |
|
|
<div id="prompt-display">Your generated prompt will appear here...</div> |
|
|
</div> |
|
|
|
|
|
<button type="button" id="generate-btn">Copy Prompt & Paste</button> |
|
|
</form> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
document.addEventListener('DOMContentLoaded', () => { |
|
|
const classSelect = document.getElementById('class-select'); |
|
|
const subjectSelect = document.getElementById('subject-select'); |
|
|
const typeSelect = document.getElementById('type-select'); |
|
|
const topicInput = document.getElementById('topic-input'); |
|
|
const generateBtn = document.getElementById('generate-btn'); |
|
|
const promptDisplay = document.getElementById('prompt-display'); |
|
|
const gptUrl = 'https://chatgpt.com/g/g-68b48c55bce881919e4e15321b97dc87-kids-activity-hub-pro'; |
|
|
|
|
|
|
|
|
const languageSelect = document.getElementById('language-select'); |
|
|
const customLangGroup = document.getElementById('custom-lang-group'); |
|
|
const customLangInput = document.getElementById('custom-lang-input'); |
|
|
|
|
|
|
|
|
function generatePromptText() { |
|
|
const classVal = classSelect.value; |
|
|
const subjectVal = subjectSelect.value; |
|
|
const typeVal = typeSelect.value; |
|
|
const topicVal = topicInput.value.trim(); |
|
|
let langVal = languageSelect.value; |
|
|
|
|
|
|
|
|
if (langVal === 'Custom') { |
|
|
langVal = customLangInput.value.trim() || 'the specified custom language'; |
|
|
} |
|
|
|
|
|
let prompt = `Generate a "${typeVal}" for ${classVal} for the subject of ${subjectVal}.`; |
|
|
|
|
|
if (topicVal) { |
|
|
prompt += ` The specific topic is "${topicVal}".`; |
|
|
} |
|
|
|
|
|
|
|
|
prompt += ` The activity should be in ${langVal}.`; |
|
|
|
|
|
return prompt; |
|
|
} |
|
|
|
|
|
|
|
|
languageSelect.addEventListener('change', () => { |
|
|
if (languageSelect.value === 'Custom') { |
|
|
customLangGroup.style.display = 'block'; |
|
|
} else { |
|
|
customLangGroup.style.display = 'none'; |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
const allInputs = [classSelect, subjectSelect, typeSelect, topicInput, languageSelect, customLangInput]; |
|
|
allInputs.forEach(input => { |
|
|
input.addEventListener('change', () => { |
|
|
promptDisplay.textContent = generatePromptText(); |
|
|
}); |
|
|
input.addEventListener('keyup', () => { |
|
|
promptDisplay.textContent = generatePromptText(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
promptDisplay.textContent = generatePromptText(); |
|
|
|
|
|
|
|
|
|
|
|
generateBtn.addEventListener('click', () => { |
|
|
const promptText = generatePromptText(); |
|
|
|
|
|
navigator.clipboard.writeText(promptText).then(() => { |
|
|
const originalText = generateBtn.textContent; |
|
|
generateBtn.textContent = 'Copied!'; |
|
|
setTimeout(() => { |
|
|
generateBtn.textContent = originalText; |
|
|
}, 2000); |
|
|
|
|
|
window.open(gptUrl, '_blank'); |
|
|
|
|
|
}).catch(err => { |
|
|
console.error('Failed to copy text: ', err); |
|
|
alert('Failed to copy prompt. Please copy it manually.'); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
</script> |
|
|
|
|
|
</body> |
|
|
</html> |