ankban commited on
Commit
1105178
Β·
verified Β·
1 Parent(s): 6b78114

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -14
app.py CHANGED
@@ -8,6 +8,7 @@ def main_app():
8
  current_mode = gr.State("spoken")
9
 
10
  with gr.Row():
 
11
  with gr.Column(scale=1, min_width=220, elem_id="sidebar"):
12
  gr.Markdown("### πŸŽ“ Educare")
13
  gr.Markdown("---")
@@ -20,29 +21,37 @@ def main_app():
20
  btn_file_view = gr.Button("πŸ“ Files")
21
 
22
  gr.Markdown("---")
23
- gr.Markdown("**Ankush Bansal** \nankban@wharton.upenn.edu")
 
24
 
 
25
  with gr.Column(scale=4):
26
- spoken_panel = gr.Column(visible=True, elem_id="module-wrapper")
27
- written_panel = gr.Column(visible=False, elem_id="module-wrapper")
 
 
 
 
 
28
  file_router, switch_view, study_panel, file_panel = file_based_learning_router()
29
 
 
30
  def switch_mode(mode):
31
  return (
32
- gr.update(visible=(mode == "spoken")),
33
- gr.update(visible=(mode == "written")),
34
- gr.update(visible=(mode in ["study", "file"])),
35
- switch_view(mode)[0],
36
- switch_view(mode)[1],
37
- mode
38
  )
39
 
40
- btn_spoken.click(lambda: switch_mode("spoken"), outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode])
41
- btn_written.click(lambda: switch_mode("written"), outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode])
42
- btn_file_study.click(lambda: switch_mode("study"), outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode])
43
- btn_file_view.click(lambda: switch_mode("file"), outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode])
 
44
 
45
  return app
46
 
47
  if __name__ == "__main__":
48
- main_app().launch(server_name="0.0.0.0", server_port=7860)
 
8
  current_mode = gr.State("spoken")
9
 
10
  with gr.Row():
11
+ # Sidebar (Left Navigation)
12
  with gr.Column(scale=1, min_width=220, elem_id="sidebar"):
13
  gr.Markdown("### πŸŽ“ Educare")
14
  gr.Markdown("---")
 
21
  btn_file_view = gr.Button("πŸ“ Files")
22
 
23
  gr.Markdown("---")
24
+ gr.Markdown("""**Ankush Bansal**
25
+ ankban@wharton.upenn.edu""")
26
 
27
+ # Main Display Area
28
  with gr.Column(scale=4):
29
+ # === Panels ===
30
+ with gr.Column(visible=True, elem_id="module-wrapper") as spoken_panel:
31
+ spoken_dashboard()
32
+
33
+ with gr.Column(visible=False, elem_id="module-wrapper") as written_panel:
34
+ written_dashboard()
35
+
36
  file_router, switch_view, study_panel, file_panel = file_based_learning_router()
37
 
38
+ # === Mode Switch Logic ===
39
  def switch_mode(mode):
40
  return (
41
+ gr.update(visible=(mode == "spoken")), # spoken_panel
42
+ gr.update(visible=(mode == "written")), # written_panel
43
+ gr.update(visible=(mode == "study")), # study_panel from file_router
44
+ gr.update(visible=(mode == "file")), # file_panel from file_router
45
+ mode # update state
 
46
  )
47
 
48
+ # === Button Hooks ===
49
+ btn_spoken.click(lambda: "spoken", outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode], fn=switch_mode)
50
+ btn_written.click(lambda: "written", outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode], fn=switch_mode)
51
+ btn_file_study.click(lambda: "study", outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode], fn=switch_mode)
52
+ btn_file_view.click(lambda: "file", outputs=[spoken_panel, written_panel, study_panel, file_panel, current_mode], fn=switch_mode)
53
 
54
  return app
55
 
56
  if __name__ == "__main__":
57
+ main_app().launch(server_name="0.0.0.0", server_port=7860)