File size: 3,790 Bytes
05f8b1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6053054
 
 
 
 
 
05f8b1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import streamlit as st

# Titolo dell'applicazione
st.title("Mini App di Automazione Flussi (Esempio)")

# --- Gestione dello stato del flusso ---
# Usiamo st.session_state per ricordare a che punto siamo nel flusso,
# anche quando l'utente interagisce con l'app.

if 'current_step' not in st.session_state:
    st.session_state.current_step = 1 # Inizia dal passo 1
if 'user_choice' not in st.session_state:
    st.session_state.user_choice = None # Scelta dell'utente
if 'user_input' not in st.session_state:
    st.session_state.user_input = "" # Input dell'utente

# --- Definizione dei Passaggi del Flusso ---

# PASSO 1: Scelta del tipo di azione
if st.session_state.current_step == 1:
    st.header("Passo 1: Scegli l'azione")
    options = ["Seleziona...", "Elabora Testo", "Inserisci Dati"]
    choice = st.selectbox("Che tipo di operazione vuoi simulare?", options)

    git clone https://huggingface.co/spaces/TATUMAi/README
import streamlit as st

x = st.slider('Select a value')
st.write(x, 'squared is', x * x)
git add app.py && git commit -m 'Add application file' && git push
    if choice != "Seleziona...":
        if st.button("Vai al Passo 2"):
            st.session_state.user_choice = choice
            st.session_state.current_step = 2
            st.rerun() # Ricarica l'app per mostrare il passo successivo

# PASSO 2: Esecuzione dell'azione scelta
elif st.session_state.current_step == 2:
    st.header(f"Passo 2: {st.session_state.user_choice}")

    if st.session_state.user_choice == "Elabora Testo":
        text = st.text_area("Inserisci il testo da elaborare:")
        operation = st.radio("Scegli operazione:", ["Conta Parole", "Converti in Maiuscolo"])

        if st.button("Esegui e Vai al Riepilogo"):
            if operation == "Conta Parole":
                result = f"Il testo contiene {len(text.split())} parole."
            elif operation == "Converti in Maiuscolo":
                result = text.upper()
            else:
                result = "Operazione non valida."

            st.session_state.user_input = text # Salva l'input
            st.session_state.result = result # Salva il risultato
            st.session_state.current_step = 3
            st.rerun()

    elif st.session_state.user_choice == "Inserisci Dati":
        name = st.text_input("Nome:")
        email = st.text_input("Email:")

        if st.button("Salva e Vai al Riepilogo"):
            result = f"Dati inseriti: Nome={name}, Email={email}"
            st.session_state.user_input = f"Nome: {name}\nEmail: {email}" # Salva l'input
            st.session_state.result = result # Salva il risultato
            st.session_state.current_step = 3
            st.rerun()

    # Pulsante per tornare indietro (opzionale)
    if st.button("Torna al Passo 1"):
        st.session_state.current_step = 1
        st.session_state.user_choice = None
        st.session_state.user_input = ""
        st.session_state.result = ""
        st.rerun()


# PASSO 3: Riepilogo/Fine
elif st.session_state.current_step == 3:
    st.header("Passo 3: Riepilogo Flusso")
    st.write(f"Azione scelta: {st.session_state.user_choice}")
    st.subheader("Input fornito:")
    st.text(st.session_state.user_input)
    st.subheader("Risultato:")
    st.success(st.session_state.result) # st.success mostra un box verde

    if st.button("Ricomincia Flusso"):
        # Resetta tutto per ricominciare
        st.session_state.current_step = 1
        st.session_state.user_choice = None
        st.session_state.user_input = ""
        st.session_state.result = ""
        st.rerun()

# --- Footer (opzionale) ---
st.sidebar.info(f"Stato attuale: Passo {st.session_state.current_step}")
if st.session_state.user_choice:
    st.sidebar.write(f"Azione: {st.session_state.user_choice}")