import streamlit as st from config import setup_page_config, PARSER_TABS, API_PUBLIC_URL from api_client import check_api_health from sidebar import render_sidebar, render_footer from parsers_ui.svodka_pm_ui import render_svodka_pm_tab from parsers_ui.svodka_ca_ui import render_svodka_ca_tab from parsers_ui.monitoring_fuel_ui import render_monitoring_fuel_tab from parsers_ui.svodka_repair_ca_ui import render_svodka_repair_ca_tab from parsers_ui.statuses_repair_ca_ui import render_statuses_repair_ca_tab from parsers_ui.monitoring_tar_ui import render_monitoring_tar_tab from parsers_ui.oper_spravka_tech_pos_ui import render_oper_spravka_tech_pos_tab # Конфигурация страницы setup_page_config() def main(): st.title("🚀 NIN Excel Parsers API - Демонстрация") st.markdown("---") # Проверка доступности API if not check_api_health(): st.error(f"❌ API недоступен по адресу {API_PUBLIC_URL}") st.info("Убедитесь, что FastAPI сервер запущен") return st.success(f"✅ API доступен по адресу {API_PUBLIC_URL}") # Боковая панель с информацией render_sidebar() # Основные вкладки - по одной на каждый парсер tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(PARSER_TABS) # Вкладка 1: Сводки ПМ - полный функционал with tab1: render_svodka_pm_tab() # Вкладка 2: Сводки СА - полный функционал with tab2: render_svodka_ca_tab() # Вкладка 3: Мониторинг топлива - полный функционал with tab3: render_monitoring_fuel_tab() # Вкладка 4: Ремонт СА with tab4: render_svodka_repair_ca_tab() # Вкладка 5: Статусы ремонта СА with tab5: render_statuses_repair_ca_tab() # Вкладка 6: Мониторинг ТЭР with tab6: render_monitoring_tar_tab() # Вкладка 7: Операционные справки технологических позиций with tab7: render_oper_spravka_tech_pos_tab() # Футер render_footer() if __name__ == "__main__": main()