# app.py import streamlit as st from tools import * st.set_page_config( page_title="tebarius mysteryhelfer web", page_icon="./favicon.ico", # Alternativ: "favicon.ico" (Pfad als String) layout="wide" ) st.logo('./logo.png', size='large') # Optional: Standard für den Session State setzen if 'letzte_aktion' not in st.session_state: st.session_state['letzte_aktion'] = None if 'output_text' not in st.session_state: st.session_state['output_text'] = ('Um den HILFE-Text zu einzelnen Funktionen aufzurufen bitte die Funktion' ' mit leerem Eingabefeld aufrufen.') if 'show_map' not in st.session_state: st.session_state['show_map'] = False if 'map_data' not in st.session_state: st.session_state['map_data'] = None logo_col, title_col = st.columns([1,5]) with logo_col: st.image('./logo-mit-tb.png', width=200) with title_col: st.write(' \n \n# tebarius web-Mysteryhelfer') # Eingabefeld im Hauptbereich input_text = st.text_area('Gib deinen Text hier ein und wähle eine Funktion im Menü:', height=150) # --- Sidebar: Buttons selektieren und Aktion setzen --- st.sidebar.header("Funktionen") if st.sidebar.button(label='Ceasarchiffre (all)', use_container_width=True): st.session_state['output_text'] = cesar_all(input_text) st.session_state['letzte_aktion'] = 'cesar_all' st.session_state['show_map'] = False if st.sidebar.button('BW,BWW,... ermitteln', use_container_width=True): st.session_state['output_text'] = buchstabenwortwert(input_text) st.session_state['letzte_aktion'] = 'bbw' st.session_state['show_map'] = False # Funktion, die eine Karte erzeugt if st.sidebar.button('Mit Karte anzeigen'): output_text, map_data = funktion_mit_karte(input_text) st.session_state['output_text'] = output_text st.session_state['letzte_aktion'] = 'funktion_mit_karte' st.session_state['show_map'] = True st.session_state['map_data'] = map_data # --- Hauptbereich: Button für Wiederholung der letzten Aktion --- if st.button("Letzte Aktion wiederholen"): if st.session_state['letzte_aktion'] == 'cesar_all': st.session_state['output_text'] = cesar_all(input_text) st.session_state['show_map'] = False elif st.session_state['letzte_aktion'] == 'bbw': st.session_state['output_text'] = buchstabenwortwert(input_text) st.session_state['show_map'] = False elif st.session_state['letzte_aktion'] == 'funktion_mit_karte': output_text, map_data = funktion_mit_karte(input_text) st.session_state['output_text'] = output_text st.session_state['show_map'] = True st.session_state['map_data'] = map_data # Ausgabefeld st.text_area('Ausgabe:', value=st.session_state['output_text'], height=300) # Karte anzeigen, falls aktiviert if st.session_state.get('show_map') and st.session_state.get('map_data') is not None: st.subheader("Kartenansicht") st.map(st.session_state['map_data'])