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 |