limloop's picture
оптимизация
6e00079
raw
history blame
1.16 kB
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"<style>{load_css()}</style>", 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)