usman312/stopwatch
0
1import streamlit as st2import time3 4# Set page config5st.set_page_config(page_title="Stopwatch", layout="centered")6 7# Title8st.title("⏱️ Simple Stopwatch")9 10# Initialize session state11if 'start_time' not in st.session_state:12 st.session_state.start_time = None13if 'running' not in st.session_state:14 st.session_state.running = False15 16# Buttons17col1, col2, col3 = st.columns(3)18with col1:19 if st.button("▶️ Start"):20 if not st.session_state.running:21 st.session_state.start_time = time.time()22 st.session_state.running = True23 24with col2:25 if st.button("⏸️ Pause"):26 if st.session_state.running:27 st.session_state.elapsed_time += time.time() - st.session_state.start_time28 st.session_state.running = False29 30with col3:31 if st.button("⏹️ Reset"):32 st.session_state.start_time = None33 st.session_state.running = False34 st.session_state.elapsed_time = 0.035 36# Track elapsed time37if 'elapsed_time' not in st.session_state:38 st.session_state.elapsed_time = 0.039 40if st.session_state.running:41 current_time = time.time()42 total_elapsed = st.session_state.elapsed_time + (current_time - st.session_state.start_time)43else:44 total_elapsed = st.session_state.elapsed_time45 46# Format time47mins, secs = divmod(total_elapsed, 60)48hours, mins = divmod(mins, 60)49 50st.markdown(f"## 🕒 {int(hours):02}:{int(mins):02}:{int(secs):02}")51 52# Auto-refresh if running53if st.session_state.running:54 time.sleep(1)55 st.experimental_rerun()56 