import streamlit as st from pymongo import MongoClient from bardapi import Bard import os from plyer import notification as nt uri = os.environ["MONGO_CONNECTION_STRING"] client = MongoClient(uri, tlsCertificateKeyFile= "files/cert.pem") db = client["Cosmo"] col = db["Tasks"] # def notifier(): # nt.notify( # title = "This is notification", # message = "This is the message", # timeout = 10, # app_icon = "logo.png" # ) # task_values = { # "title" : st.text_input("Task Title"), # "prio" : st.text_input("Priority"), # "duedate" : st.text_input("Due Date"), # "status" : False # } # if st.button("Create Task"): # col.insert_one(task_values) # st.success("Task Created Successfully!") # st.balloons() # if st.button("notify"): # st.toast("You have a new reminder") import streamlit as st from datetime import datetime def create_reminder(reminder_message, reminder_time): # Create a reminder object. reminder = { "message": reminder_message, "time": reminder_time } # Store the reminder in a database. # ... # Return the reminder object. return reminder def show_reminder_notification(reminder): # Calculate the time difference between the current time and the reminder time. time_diff = reminder["time"] - datetime.now() # If the time difference is less than or equal to 0, then show the reminder notification. if time_diff <= 0: # Create a Streamlit toast message. toast = st.toast(reminder["message"], icon="ℹ️") # Add buttons to the toast message to track the reminder as done or notdone. done_button = st.button("Done") notdone_button = st.button("Not done") # If the done button is pressed, then mark the reminder as done. if done_button: # Update the reminder in the database as done. # ... # Close the toast message. toast.close() # If the notdone button is pressed, then dismiss the toast message. elif notdone_button: toast.close() # Get the user input for the reminder message and the time to remind. reminder_message = st.text_input("Enter reminder message:") reminder_time = st.time_input("Enter reminder time:") # Create a reminder object. reminder = create_reminder(reminder_message, reminder_time) # Show the reminder notification at the specified time. show_reminder_notification(reminder)