Ahmad-01 commited on
Commit
5386bc4
·
verified ·
1 Parent(s): 06223cc

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +10 -12
src/streamlit_app.py CHANGED
@@ -24,14 +24,13 @@ page = st.sidebar.radio("Navigation", ["To-Do List", "Habit Tracker"])
24
  if page == "To-Do List":
25
  st.header("📌 Your Tasks")
26
 
27
- # Use a temporary variable to hold text input
28
- new_task_input = st.text_input("Add a new task", key="new_task_input")
29
 
30
  if st.button("Add Task"):
31
- if new_task_input.strip():
32
- st.session_state.tasks.append({"task": new_task_input.strip(), "completed": False})
33
- # Clear input by resetting the temporary variable
34
- st.experimental_rerun()
35
 
36
  st.subheader("Pending Tasks")
37
  for i, task in enumerate(st.session_state.tasks):
@@ -41,11 +40,10 @@ if page == "To-Do List":
41
  checked = st.checkbox(task["task"], key=f"task_{i}")
42
  if checked:
43
  st.session_state.tasks[i]["completed"] = True
44
- st.experimental_rerun()
45
  with col2:
46
  if st.button("Delete", key=f"delete_{i}"):
47
  st.session_state.tasks.pop(i)
48
- st.experimental_rerun()
49
 
50
  st.subheader("Completed Tasks")
51
  for task in st.session_state.tasks:
@@ -58,12 +56,12 @@ if page == "To-Do List":
58
  if page == "Habit Tracker":
59
  st.header("🔥 Daily Habit Tracker")
60
 
61
- new_habit_input = st.text_input("Add a new habit", key="new_habit_input")
62
 
63
  if st.button("Add Habit"):
64
- if new_habit_input.strip():
65
- st.session_state.habits.append({"habit": new_habit_input.strip(), "dates": []})
66
- st.experimental_rerun()
67
 
68
  today = datetime.now().strftime("%Y-%m-%d")
69
  completed_today = 0
 
24
  if page == "To-Do List":
25
  st.header("📌 Your Tasks")
26
 
27
+ # Use temporary variable for input
28
+ new_task = st.text_input("Add a new task")
29
 
30
  if st.button("Add Task"):
31
+ if new_task.strip():
32
+ st.session_state.tasks.append({"task": new_task.strip(), "completed": False})
33
+ new_task = "" # just clear local variable (widget keeps its value until next rerun)
 
34
 
35
  st.subheader("Pending Tasks")
36
  for i, task in enumerate(st.session_state.tasks):
 
40
  checked = st.checkbox(task["task"], key=f"task_{i}")
41
  if checked:
42
  st.session_state.tasks[i]["completed"] = True
 
43
  with col2:
44
  if st.button("Delete", key=f"delete_{i}"):
45
  st.session_state.tasks.pop(i)
46
+ break # break to avoid index issues
47
 
48
  st.subheader("Completed Tasks")
49
  for task in st.session_state.tasks:
 
56
  if page == "Habit Tracker":
57
  st.header("🔥 Daily Habit Tracker")
58
 
59
+ new_habit = st.text_input("Add a new habit")
60
 
61
  if st.button("Add Habit"):
62
+ if new_habit.strip():
63
+ st.session_state.habits.append({"habit": new_habit.strip(), "dates": []})
64
+ new_habit = "" # clear local variable
65
 
66
  today = datetime.now().strftime("%Y-%m-%d")
67
  completed_today = 0