Spaces:
Runtime error
Runtime error
Upload main_app.py
Browse files- main_app.py +19 -12
main_app.py
CHANGED
|
@@ -3052,19 +3052,22 @@ def main():
|
|
| 3052 |
# CSSを適用
|
| 3053 |
inject_custom_css()
|
| 3054 |
|
| 3055 |
-
# CSS
|
| 3056 |
-
|
| 3057 |
-
|
| 3058 |
-
|
| 3059 |
-
|
| 3060 |
-
# 常に背景を更新(重複更新許容)
|
| 3061 |
-
update_background(managers['scene_manager'], initial_theme)
|
| 3062 |
|
| 3063 |
-
|
| 3064 |
-
|
| 3065 |
-
|
| 3066 |
-
|
| 3067 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3068 |
|
| 3069 |
# チュートリアル機能の初期化
|
| 3070 |
tutorial_manager = managers['tutorial_manager']
|
|
@@ -3297,6 +3300,8 @@ def main():
|
|
| 3297 |
# 現在のタブを記録(タブ切り替え検出用)
|
| 3298 |
if st.session_state.get('last_active_tab') != "chat":
|
| 3299 |
st.session_state.last_active_tab = "chat"
|
|
|
|
|
|
|
| 3300 |
logger.debug("チャットタブがアクティブになりました")
|
| 3301 |
|
| 3302 |
render_chat_tab(managers)
|
|
@@ -3305,6 +3310,8 @@ def main():
|
|
| 3305 |
# 現在のタブを記録(タブ切り替え検出用)
|
| 3306 |
if st.session_state.get('last_active_tab') != "letter":
|
| 3307 |
st.session_state.last_active_tab = "letter"
|
|
|
|
|
|
|
| 3308 |
logger.debug("手紙タブがアクティブになりました")
|
| 3309 |
|
| 3310 |
render_letter_tab(managers)
|
|
|
|
| 3052 |
# CSSを適用
|
| 3053 |
inject_custom_css()
|
| 3054 |
|
| 3055 |
+
# CSS読み込み完了後に背景を更新(初期設定・初回のみ)
|
| 3056 |
+
if not st.session_state.get('_initial_background_set', False):
|
| 3057 |
+
try:
|
| 3058 |
+
initial_theme = st.session_state.chat['scene_params'].get('theme', 'default')
|
| 3059 |
+
logger.info(f"初期背景設定: テーマ '{initial_theme}' (初回のみ)")
|
|
|
|
|
|
|
| 3060 |
|
| 3061 |
+
# 初回のみ背景を更新
|
| 3062 |
+
update_background(managers['scene_manager'], initial_theme)
|
| 3063 |
+
st.session_state._initial_background_set = True
|
| 3064 |
+
st.session_state._last_rendered_tab = None # タブ切り替え検出をリセット
|
| 3065 |
+
|
| 3066 |
+
except Exception as e:
|
| 3067 |
+
logger.error(f"初期背景設定でエラーが発生: {e}")
|
| 3068 |
+
import traceback
|
| 3069 |
+
logger.error(f"初期背景設定エラーの詳細: {traceback.format_exc()}")
|
| 3070 |
+
# エラーが発生してもアプリケーションは継続
|
| 3071 |
|
| 3072 |
# チュートリアル機能の初期化
|
| 3073 |
tutorial_manager = managers['tutorial_manager']
|
|
|
|
| 3300 |
# 現在のタブを記録(タブ切り替え検出用)
|
| 3301 |
if st.session_state.get('last_active_tab') != "chat":
|
| 3302 |
st.session_state.last_active_tab = "chat"
|
| 3303 |
+
# タブ切り替え時は背景更新フラグを設定
|
| 3304 |
+
st.session_state._background_needs_update = True
|
| 3305 |
logger.debug("チャットタブがアクティブになりました")
|
| 3306 |
|
| 3307 |
render_chat_tab(managers)
|
|
|
|
| 3310 |
# 現在のタブを記録(タブ切り替え検出用)
|
| 3311 |
if st.session_state.get('last_active_tab') != "letter":
|
| 3312 |
st.session_state.last_active_tab = "letter"
|
| 3313 |
+
# 手紙タブでは背景更新は不要
|
| 3314 |
+
st.session_state._last_rendered_tab = "letter"
|
| 3315 |
logger.debug("手紙タブがアクティブになりました")
|
| 3316 |
|
| 3317 |
render_letter_tab(managers)
|