BulatF commited on
Commit
f050396
1 Parent(s): f72c5a3

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -78
app.py CHANGED
@@ -47,93 +47,45 @@ if not st.session_state.logged_in:
47
  else:
48
  st.warning("Invalid username or password")
49
 
50
-
51
  # Main App
52
  if st.session_state.logged_in:
53
  st.title("Stand-Up Taker App")
54
 
55
- # Draw the wheel with team members
56
- st.markdown("""
57
- <canvas id="wheelCanvas" width="300" height="300"></canvas>
58
-
59
- <script>
60
- var canvas = document.getElementById("wheelCanvas");
61
- var ctx = canvas.getContext("2d");
62
- var teamMembers = """ + str(team_members) + """;
63
-
64
- var numMembers = teamMembers.length;
65
- var anglePerMember = 2 * Math.PI / numMembers;
66
-
67
- for (var i = 0; i < numMembers; i++) {
68
- ctx.beginPath();
69
- ctx.moveTo(150, 150);
70
- ctx.arc(150, 150, 150, i * anglePerMember, (i + 1) * anglePerMember);
71
- ctx.lineTo(150, 150);
72
- ctx.fillStyle = i % 2 == 0 ? "#00ff00" : "#0000ff";
73
- ctx.fill();
74
-
75
- ctx.save();
76
- ctx.translate(150, 150);
77
- ctx.rotate(i * anglePerMember + anglePerMember / 2);
78
- ctx.fillStyle = "#000000";
79
- ctx.fillText(teamMembers[i], 100, 0);
80
- ctx.restore();
81
- }
82
- </script>
83
- """, unsafe_allow_html=True)
84
-
85
  last_standup_taker = st.session_state.last_entry['standup_taker']
86
  last_date = st.session_state.last_entry['date']
87
 
88
  if st.button("Who is taking the stand-up today?"):
89
  next_taker, next_date = get_next_standup_taker(last_standup_taker, last_date)
 
90
 
91
- # Find the index of the next taker
92
- next_taker_index = team_members.index(next_taker)
 
 
 
 
93
 
94
- st.markdown(f"""
95
- <script>
96
- var initialAngle = 0;
97
- var targetIndex = {next_taker_index};
98
- var targetAngle = targetIndex * anglePerMember + anglePerMember / 2;
99
- var currentAngle = 0;
100
-
101
- function spinWheel() {{
102
- initialAngle += 0.1;
103
- currentAngle = initialAngle + targetAngle;
104
- ctx.clearRect(0, 0, 300, 300);
105
-
106
- ctx.save();
107
- ctx.translate(150, 150);
108
- ctx.rotate(currentAngle);
109
-
110
- for (var i = 0; i < numMembers; i++) {{
111
- ctx.beginPath();
112
- ctx.moveTo(0, 0);
113
- ctx.arc(0, 0, 150, i * anglePerMember, (i + 1) * anglePerMember);
114
- ctx.lineTo(0, 0);
115
- ctx.fillStyle = i % 2 == 0 ? "#00ff00" : "#0000ff";
116
- ctx.fill();
117
-
118
- ctx.save();
119
- ctx.rotate(i * anglePerMember + anglePerMember / 2);
120
- ctx.fillStyle = "#000000";
121
- ctx.fillText(teamMembers[i], 100, 0);
122
- ctx.restore();
123
- }}
124
-
125
- ctx.restore();
126
-
127
- if (initialAngle < Math.PI * 20) {{
128
- requestAnimationFrame(spinWheel);
129
- }}
130
- }}
131
-
132
- spinWheel();
133
- </script>
134
- """, unsafe_allow_html=True)
135
 
136
- time.sleep(3)
137
-
138
- st.session_state.next_taker = next_taker
139
- st.write(f"The person taking the stand-up today is **{next_taker}**.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  else:
48
  st.warning("Invalid username or password")
49
 
 
50
  # Main App
51
  if st.session_state.logged_in:
52
  st.title("Stand-Up Taker App")
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  last_standup_taker = st.session_state.last_entry['standup_taker']
55
  last_date = st.session_state.last_entry['date']
56
 
57
  if st.button("Who is taking the stand-up today?"):
58
  next_taker, next_date = get_next_standup_taker(last_standup_taker, last_date)
59
+ st.session_state.next_taker = next_taker
60
 
61
+ # Update standup_history list
62
+ new_entry = {
63
+ 'standup_taker': next_taker,
64
+ 'date': datetime.now().strftime("%Y-%m-%d")
65
+ }
66
+ st.session_state.standup_history.append(new_entry)
67
 
68
+ st.write(f"The person taking the stand-up today is **{next_taker}**.")
69
+ else:
70
+ st.write(st.session_state.next_taker)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
+ if 'forced_taker' not in st.session_state:
73
+ st.session_state.forced_taker = ""
74
+
75
+ st.session_state.forced_taker = st.text_input("Force a specific person to take the stand-up:", st.session_state.forced_taker)
76
+
77
+ if st.button("Force Stand-Up"):
78
+ current_weekday = datetime.now().strftime("%A")
79
+ if current_weekday in ["Tuesday", "Thursday"]:
80
+ if st.session_state.forced_taker in team_members:
81
+ new_entry = {
82
+ 'standup_taker': st.session_state.forced_taker,
83
+ 'date': datetime.now().strftime("%Y-%m-%d")
84
+ }
85
+ st.session_state.standup_history.append(new_entry)
86
+
87
+ st.write(f"The stand-up taker has been forced to **{st.session_state.forced_taker}**.")
88
+ else:
89
+ st.write("Invalid name. Please enter a valid team member name.")
90
+ else:
91
+ st.write(f"Stand-up taker can only be forced on Tuesday and Thursday. Today is {current_weekday}.")