AI Learning Assistant — Powered by Educatecomputer
Ask AI: Create Analogy, Q&A, MCQs, or Summarize
Read the article above and ask this assistant to simplify it for you!
🤖 AI: Hello! Choose a mode below or type any question about this article!
Question 1 of 10🕹️ Active Mode
Loading...
🏆
Quiz Completed!
0 / 10
Keep learning!
✨ AI Response
';
}).join('');
}
function hideAll() {
document.getElementById('ec-game-zone').style.display = 'none';
document.getElementById('ec-result-card').style.display = 'none';
document.getElementById('ec-result').style.display = 'none';
document.getElementById('ec-game-feedback').style.display = 'none';
document.getElementById('ec-next-btn').style.display = 'none';
}
function setLoading(btn, on) {
btn.disabled = on;
if (on) { btn._txt = btn.textContent; btn.textContent = '⏳ Loading...'; }
else { btn.textContent = btn._txt || btn.textContent; }
}
function groq(system, user, cb, errCb) {
fetch('https://educatecomputer.com/wp-admin/admin-ajax.php?action=call_groq_ai', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ system: system, user: user })
})
.then(function(r){ return r.json(); })
.then(function(d){
if(d.choices && d.choices[0] && d.choices[0].message) cb(d.choices[0].message.content);
else errCb((d.error && d.error.message) || 'Error processing request');
})
.catch(function(e){ errCb(e.message); });
}
function renderMCQ(json) {
document.getElementById('ec-game-question').innerText = '❓ ' + json.question;
document.getElementById('opt-a').innerText = 'A) ' + json.a;
document.getElementById('opt-b').innerText = 'B) ' + json.b;
document.getElementById('opt-c').innerText = 'C) ' + json.c;
document.getElementById('opt-d').innerText = 'D) ' + json.d;
correctLetter = (json.answer||'').toLowerCase().trim().charAt(0);
explanation = json.explanation || '';
document.querySelectorAll('.ec-opt-btn').forEach(function(b){ b.disabled=false; b.style.background=''; b.style.borderColor=''; });
document.getElementById('ec-game-feedback').style.display = 'none';
document.getElementById('ec-next-btn').style.display = 'none';
document.getElementById('ec-game-zone').style.display = 'block';
}
function loadQuestion(btn) {
setLoading(btn, true);
document.getElementById('ec-game-step').innerText = 'Question '+(qIdx+1)+' of '+total;
document.getElementById('ec-game-badge').innerText = '🕹️ MCQ Challenge';
var sys = 'You are a quiz engine. Return ONE unique MCQ based on the article as pure JSON only. Format: {"question":"...","a":"...","b":"...","c":"...","d":"...","answer":"a","explanation":"..."}';
var userPrompt = 'Article:\n'+getContent();
if(generatedQuestions.length > 0) {
userPrompt += '\n\nDo NOT repeat: ' + generatedQuestions.join('; ');
}
groq(sys, userPrompt, function(txt){
var json = safeJSON(txt);
if(json&&json.question){
generatedQuestions.push(json.question);
renderMCQ(json);
} else { alert('Could not parse question. Try again.'); }
setLoading(btn, false);
}, function(err){ alert('Error: '+err); setLoading(btn, false); });
}
function loadBossQuestion(btn) {
setLoading(btn, true);
isBossMode = true;
document.getElementById('ec-game-step').innerText = '⚔️ BOSS FIGHT';
document.getElementById('ec-game-badge').innerText = '🔥 Beat The AI';
var sys = 'Generate ONE tricky misleading MCQ as pure JSON: {"question":"...","a":"...","b":"...","c":"...","d":"...","answer":"a","explanation":"..."}';
groq(sys, 'Article:\n'+getContent(), function(txt){
var json = safeJSON(txt);
if(json&&json.question){ renderMCQ(json); }
else { alert('Could not parse. Try again.'); }
setLoading(btn, false);
}, function(err){ alert('Error: '+err); setLoading(btn, false); });
}
var askBtn = document.getElementById('ec-ask');
var qInput = document.getElementById('ec-q');
var result = document.getElementById('ec-result');
var body = document.getElementById('ec-body');
var copyBtn = document.getElementById('ec-copy');
var nextBtn = document.getElementById('ec-next-btn');
var resCard = document.getElementById('ec-result-card');
var feedback = document.getElementById('ec-game-feedback');
if (!askBtn) return;
document.getElementById('ec-btn-simplify').addEventListener('click', function(){
var btn = this; setLoading(btn, true); hideAll();
var sys = 'You are an educational AI. Give a concise summary using markdown bullets.';
groq(sys, 'Article:\n'+getContent()+'\n\nRequest: Summarize key takeaways.', function(txt){
rawText=txt; result.style.display='block'; body.innerHTML=md(txt);
setLoading(btn, false);
}, function(err){ alert('Error: '+err); setLoading(btn, false); });
});
document.getElementById('ec-btn-quiz').addEventListener('click', function(){
qIdx=0; correct=0; isBossMode=false; generatedQuestions=[]; hideAll(); loadQuestion(this);
});
document.getElementById('ec-btn-twisted').addEventListener('click', function(){
hideAll(); loadBossQuestion(this);
});
askBtn.addEventListener('click', function(){
var q = qInput.value.trim(); if(!q){ qInput.focus(); return; }
if (/<[a-z][\s\S]*>/i.test(q)) { alert('Script/HTML not allowed.'); qInput.value = ''; return; }
setLoading(askBtn,true); hideAll();
var sys = 'Answer clearly using markdown in same language (Urdu/English).';
groq(sys, 'Article:\n'+getContent()+'\n\nQuestion: '+q, function(txt){
rawText=txt; result.style.display='block'; body.innerHTML=md(txt);
setLoading(askBtn, false);
}, function(err){
body.innerHTML='⚠️ '+err+'';
result.style.display='block'; setLoading(askBtn,false);
});
});
qInput.addEventListener('keydown', function(e){ if(e.key==='Enter') askBtn.click(); });
document.querySelectorAll('.ec-opt-btn').forEach(function(btn){
btn.addEventListener('click', function(){
document.querySelectorAll('.ec-opt-btn').forEach(function(b){ b.disabled=true; });
var chosen = this.getAttribute('data-ans');
var isCorrect = (chosen === correctLetter);
if(isCorrect && !isBossMode) correct++;
feedback.style.display='block';
feedback.className = isCorrect ? 'ec-feedback correct' : 'ec-feedback wrong';
feedback.innerHTML = isCorrect ? '🎉 Correct! '+explanation : '❌ Wrong! Correct: '+correctLetter.toUpperCase()+'. '+explanation;
if(!isBossMode){
nextBtn.style.display='block';
nextBtn.innerText = (qIdx+1>=total) ? 'See Result 📊' : 'Next Question ➡️';
}
});
});
nextBtn.addEventListener('click', function(){
qIdx++;
if(qIdx < total){ loadQuestion(nextBtn); }
else {
document.getElementById('ec-game-zone').style.display='none';
resCard.style.display='block';
document.getElementById('ec-res-score').innerText = correct+' / '+total;
}
});
copyBtn.addEventListener('click', function(){
if(!rawText) return;
navigator.clipboard.writeText(rawText).then(function(){
copyBtn.textContent='✅ Copied!';
setTimeout(function(){ copyBtn.textContent='📋 Copy'; },2000);
});
});
});
Written By
Muneeb Tariq
Muneeb Tariq is a Computer Science graduate and the founder of Educatecomputer. As a dedicated Computer Science Educator, he has dedicated himself to making technology simple and easy to understand for everyone. Muneeb takes complex technical topics and breaks them down into clear, straightforward lessons so that anyone can learn without feeling overwhelmed. His goal is to help people understand technology through honest and practical guidance, empowering them to confidently use digital tools in their daily lives.