Spaces:
Running
Running
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) | |