File size: 2,009 Bytes
a01c266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import pronotepy

def load_discussions(client):
    # Charger toutes les discussions
    return client.discussions()

def display_discussion(discussion):
    # Afficher les messages d'une discussion
    for message in discussion.messages:
        author = "Vous" if message.author is None else message.author
        st.markdown(f"##### **{author}**:")
        st.markdown(f"> {message.content}")
        st.caption(f"*Envoyé le {message.date.strftime('%d/%m/%Y à %H:%M')}*")
    st.markdown("---")

def app(client):
    st.title('📧 Messagerie Pronote')

    if not client.logged_in:
        st.error("🔴 Veuillez vous connecter pour accéder à la messagerie.")
        return

    discussions = load_discussions(client)

    # Sélection d'une discussion
    discussion_subjects = [d.subject for d in discussions]
    choice = st.selectbox("💬 Choisissez une discussion", ["Nouvelle discussion..."] + discussion_subjects)

    if choice == "Nouvelle discussion...":
        # Créer une nouvelle discussion
        subject = st.text_input("#️⃣ Sujet")
        message = st.text_area("📟 Message")
        recipients = client.get_recipients()
        recipient_names = [f"{r.name} ({r.type})" for r in recipients]
        selected_recipient = st.selectbox("🧷 Destinataire", recipient_names)
        if st.button("📤 Envoyer"):
            selected_index = recipient_names.index(selected_recipient)
            client.new_discussion(subject, message, [recipients[selected_index]])
            st.success("📨 Discussion créée avec succès.")
    else:
        # Afficher la discussion sélectionnée
        selected_discussion = discussions[discussion_subjects.index(choice)]
        display_discussion(selected_discussion)

        # Répondre à une discussion
        reply_message = st.text_area("📟 Votre message")
        if st.button("📤 Répondre"):
            selected_discussion.reply(reply_message)
            st.success("📨 Message envoyé.")