lmb-fe/pages/ticket.py
2026-03-13 23:54:16 +01:00

56 lines
1.8 KiB
Python

import streamlit as st
from functions import send_segnalazione
st.set_page_config(page_title="Segnala un problema", layout="centered")
st.title("Segnala un problema")
st.caption("Usa questo form per segnalare un errore, un dato mancante o qualsiasi problema riscontrato.")
with st.form("ticket_form", clear_on_submit=True):
page = st.selectbox(
"Pagina *",
options=["Cerca", "Ingrediente", "Nuovo PIF", "Ordini PIF", "Esposizione", "Impostazioni", "ECHA", "Altro"],
)
cas = st.text_input(
"CAS (opzionale)",
value=st.session_state.get("selected_cas") or "",
placeholder="es. 56-81-5",
help="Inserire il CAS coinvolto nel problema, se applicabile.",
)
description = st.text_area(
"Descrizione *",
placeholder="Descrivi il problema in modo chiaro e dettagliato.",
height=120,
)
error = st.text_area(
"Messaggio di errore (opzionale)",
placeholder="Incolla qui il messaggio di errore visualizzato, se presente.",
height=80,
)
priority = st.radio(
"Priorità *",
options=["bassa", "media", "alta"],
index=1,
horizontal=True,
captions=["Problema minore", "Impatta l'utilizzo", "Blocca il lavoro"],
)
submitted = st.form_submit_button("Invia segnalazione", type="primary", use_container_width=True)
if submitted:
if not description.strip():
st.error("La descrizione è obbligatoria.")
else:
ok = send_segnalazione(
page=page,
description=description.strip(),
priority=priority,
cas=cas.strip() or None,
error=error.strip() or None,
)
if ok:
st.success("Segnalazione inviata. Grazie per il feedback!")