import streamlit as st from data_loader import load_data, get_unique_mood, get_unique_tags from utils import apply_filters from ui_components import render_sidebar, render_main_content, load_css # Настройки страницы st.set_page_config(layout="wide", page_icon="🧙", page_title="Fantasy Characters Explorer") # Загрузка данных df = load_data() # Загрузка стилей st.markdown(f"", unsafe_allow_html=True) # Получение уникальных значений для фильтров moods = ["Все"] + get_unique_mood(df) all_tags = get_unique_tags(df) # Рендеринг сайдбара с фильтрами selected_filters = render_sidebar(moods, all_tags) # Применение фильтров filtered_df = apply_filters( df=df, search_query=selected_filters["search_query"], absurdity_range=selected_filters["absurdity_range"], selected_mood=selected_filters["selected_mood"], selected_tags=selected_filters["selected_tags"], sort_option=selected_filters["sort_option"] ) # Основной контент render_main_content(filtered_df)