File size: 2,406 Bytes
6b19fee
 
 
 
8b41187
6b19fee
 
 
f628c0d
6b19fee
 
 
e695e33
 
 
 
 
 
6cce895
c1666a3
6b19fee
6085666
 
 
 
 
 
6b19fee
6085666
 
 
 
922f180
 
40a52b2
 
c1666a3
 
6085666
 
0360f8e
6085666
 
 
 
 
 
0360f8e
6085666
 
 
 
 
 
 
0360f8e
6085666
 
 
 
 
 
 
 
 
 
0360f8e
6085666
 
 
 
0360f8e
6085666
 
0360f8e
6085666
 
 
0360f8e
6085666
 
 
0360f8e
6085666
 
0360f8e
6085666
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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)