Spaces:
Running
Running
import streamlit as st | |
from db.db import DatabaseHandler | |
# Instanciation de la base de données | |
db = DatabaseHandler() | |
def area_change(key, ): | |
new_value = st.session_state[key] | |
key = key[5:] # remove 'area_' prefix | |
db.update_prompt(key, prompt=new_value) | |
def page(): | |
st.subheader("Définissez vos paramètres") | |
type = st.selectbox("Type de diagnostique", ["Installation", "Difficulté"], key="mode") | |
if(type == "Installation"): | |
diag_type = "installation" | |
else: | |
diag_type = "difficult" | |
# Chargement de l'enregistrement correspondant aux filtres | |
chapters = db.get_prompt_by_filters(type_=diag_type) | |
parts_sorted = sorted(chapters, key=lambda part: part.get('num', float('inf'))) | |
# Création de tabs pour chaque 'part' trié | |
tabs = st.tabs([part['title'] for part in parts_sorted]) | |
for part, tab in zip(parts_sorted, tabs): | |
with tab: | |
k = f"area_{part['num']}" | |
st.text_area( | |
"Prompt System", | |
part['prompt_system'], | |
key=k, | |
on_change=area_change, | |
args=(k,), | |
height=400) | |
page() |