Fix text area reset after AI revision, add API key error handling
- Pop draft_editor/quality_editor widget keys before rerun so revised text is correctly displayed after AI enrichment calls - Wrap _get_client() with friendly st.error/st.stop instead of stack trace - Remove unused _back_next() helper Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,11 @@ import streamlit as st
|
||||
@st.cache_resource
|
||||
def _get_client():
|
||||
from kniepunkt.llm import get_client
|
||||
try:
|
||||
return get_client()
|
||||
except RuntimeError as e:
|
||||
st.error(f"{e}\n\nBitte ANTHROPIC_API_KEY in der .env-Datei eintragen und Streamlit neu starten.")
|
||||
st.stop()
|
||||
|
||||
|
||||
@st.cache_resource
|
||||
@@ -70,16 +74,6 @@ def _progress_bar():
|
||||
st.divider()
|
||||
|
||||
|
||||
def _back_next(back_step: str, next_label: str, next_key: str, next_disabled: bool = False):
|
||||
col1, col2 = st.columns([1, 5])
|
||||
with col1:
|
||||
if st.button("← Zurück", key=f"back_{back_step}"):
|
||||
_go(back_step)
|
||||
with col2:
|
||||
if st.button(next_label, type="primary", key=next_key, disabled=next_disabled):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def _grid_2x2(results: dict, select_key: str, button_label: str = "Auswählen"):
|
||||
"""Render provider outputs in a responsive 2-column grid with selection."""
|
||||
@@ -345,6 +339,7 @@ def screen_draft():
|
||||
draft = dr_module.enrich_draft(_get_client(), draft, feedback)
|
||||
st.session_state.draft_text = draft
|
||||
st.session_state.draft_text_source = selected
|
||||
st.session_state.pop("draft_editor", None)
|
||||
st.rerun()
|
||||
|
||||
st.divider()
|
||||
@@ -408,6 +403,7 @@ def screen_quality():
|
||||
draft = dr_module.enrich_draft(_get_client(), draft, feedback)
|
||||
st.session_state.session["draft"] = draft
|
||||
st.session_state.pop("quality_report", None)
|
||||
st.session_state.pop("quality_editor", None)
|
||||
_save()
|
||||
st.rerun()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user