Untitled
unknown
python
a year ago
2.8 kB
5
Indexable
import streamlit as st from lesson_presenter import LessonPresenter, load_content, create_editor_screen def create_home_page(content): st.title("Home Page") st.write("Welcome to the Interactive Lesson Content Editor!") if st.button("Create New Lesson Content"): st.session_state.current_page = "editor" st.session_state.content_generated = False st.session_state.json_content = {"subject": "", "lessons": []} st.rerun() # Display saved lesson contents for subject in content.get("subjects", []): subject_name = subject.get("subject", "Unknown") col1, col2 = st.columns(2) with col1: if st.button(f"Edit {subject_name}"): st.session_state.json_content = content st.session_state.content_generated = True st.session_state.current_page = "editor" st.session_state.selected_subject = subject_name st.rerun() with col2: if st.button(f"Edit Slides for {subject_name}"): st.session_state.current_page = "slides_editor" st.session_state.selected_subject = subject_name st.rerun() def main(): content = load_content() presenter = LessonPresenter(content) if 'current_page' not in st.session_state: st.session_state.current_page = "home" if st.session_state.current_page == "home": create_home_page(content) elif st.session_state.current_page == "editor": create_editor_screen(presenter) elif st.session_state.current_page == "slides_editor": presenter.set_subject_content(st.session_state.selected_subject) create_editor_screen(presenter) if __name__ == "__main__": main() import os import json import streamlit as st import reveal_slides as rs # ... [Keep all the existing classes: SlideComponent and LessonPresenter] ... def load_content(): # ... [Keep the existing load_content function] ... def create_editor_screen(presenter: LessonPresenter): st.title("Lesson Presentation System") # Add a "Back to Home" button if st.button("Back to Home"): st.session_state.current_page = "home" st.rerun() subjects = [s["subject"] for s in presenter.content["subjects"]] selected_subject = st.sidebar.selectbox("Select Subject", subjects) presenter.set_subject_content(selected_subject) # ... [Keep the rest of the create_editor_screen function] ... slides_component = presenter.create_slide_component(presenter.json_to_slides(), config, initial_state={}) slides_component.render() # ... [Keep any other necessary functions] ...
Editor is loading...
Leave a Comment