triviaverse / app /trivia_app.py
RaghavenderReddy's picture
Update app/trivia_app.py
7a4b448 verified
import streamlit as st
from app.api_utils import get_summary
from app.mcq_generator import generate_mcq
from app.flashcard_generator import load_flashcards
from app.fact_game import get_facts
from app.translator import translate_text
...
question = translate_text(question, st.session_state.lang)
options = [translate_text(opt, st.session_state.lang) for opt in options]
answer = translate_text(answer, st.session_state.lang)
def run_triviaverse():
st.title("🧠 TriviaVerse – Wikipedia-Powered Quiz Generator")
mode = st.sidebar.radio("Select Mode", ["MCQ Quiz", "Flashcards", "Fact Game"])
topic = st.text_input("Enter a topic", "Solar System")
if mode == "MCQ Quiz":
if st.button("Start Quiz"):
with st.spinner("Generating question..."):
summary = get_summary(topic)
if summary:
question, options, answer = generate_mcq(summary)
st.write("### Q:", question)
selected = st.radio("Choose an answer:", options)
if selected:
if selected == answer:
st.success("βœ… Correct!")
else:
st.error(f"❌ Incorrect. Correct answer: {answer}")
else:
st.error("No summary available.")
elif mode == "Flashcards":
st.info("Flashcard Mode - Tap to reveal answers.")
flashcards = load_flashcards(topic)
for card in flashcards:
with st.expander(card["question"]):
st.write(card["answer"])
elif mode == "Fact Game":
st.info("Fact Game - Discover fast facts.")
facts = get_facts(topic)
for fact in facts:
st.write("β€’", fact)