import json import streamlit as st @st.cache_data def load_slider_data(): """Load slider data from a JSON file and cache it for performance.""" with open("data/cost_sliders.json") as f: return json.load(f) def render_resource_input(name_clean, r, tooltip=None): if tooltip: st.markdown( f"""{name_clean} ℹ️""", unsafe_allow_html=True ) else: st.markdown(f"**{name_clean}**") cap = st.number_input( label="", # Label shown above min_value=0.0, value=float(st.session_state.resource_caps.get(r, 0.0)), format="%.2f", key=f"cap_{r}" ) st.session_state.resource_caps[r] = cap