File size: 2,443 Bytes
2b5ccc9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import re  # Importer la bibliothèque pour les expressions régulières
from data_manager_bziiit import get_rse_projects

def remove_html_tags(text):
    """Supprimer les balises HTML d'une chaîne de caractères."""
    clean_text = re.sub('<.*?>', '', text)  # Remplacer toute balise HTML par une chaîne vide
    return clean_text

def display_rse_projects():
    st.markdown("""
        <style>
            table {
                background-color: inherit !important;
            }
        </style>
    """, unsafe_allow_html=True)

    st.markdown("## OPEN DATA bziiit Projet RSE")
    st.markdown("### Découvrez tous les projets RSE des marques référencées")
    
    projects = get_rse_projects()
    if projects:
        categories = list({project["rse_category"] if project["rse_category"] is not None else "Non catégorisé" for project in projects})
        categories.sort()
        categories.insert(0, 'Toutes')
        selected_category = st.selectbox("Filtre par catégorie RSE", categories, index=0)

        if selected_category != 'Toutes':
            filtered_projects = [project for project in projects if project["rse_category"] == selected_category or (selected_category == "Non catégorisé" and project["rse_category"] is None)]
        else:
            filtered_projects = projects

        st.markdown(f"**Nombre de projets :** {len(filtered_projects)}")

    # Display the projects as thumbnails
    for i in range(0, len(filtered_projects), 5):
        cols = st.columns(5)
        for j in range(5):
            if i + j < len(filtered_projects):
                project = filtered_projects[i + j]
                with cols[j]:
                    if project['logo_url']:  # Ajouter cette vérification ici
                        st.image(project['logo_url'])
                    st.markdown(f'<p style="text-align: center;"><b>{project["brand"]["name"]}</b></p>', unsafe_allow_html=True)
                    st.markdown(f'<p style="text-align: center;"><b>"{project["name"]}"</b></p>', unsafe_allow_html=True)  # Ajouter cette ligne
                    st.markdown(f'<p style="text-align: center; font-size: 10px; color: darkgray;">{project["rse_category"] if project["rse_category"] is not None else "Non catégorisé"}</p>', unsafe_allow_html=True)
        st.markdown('<hr style="border-top: 1px dotted lightgray; width:100%;">', unsafe_allow_html=True)  # Modifier cette ligne