sirochild commited on
Commit
e2cbbe3
·
verified ·
1 Parent(s): 18a5d4a

Upload main_app.py

Browse files
Files changed (1) hide show
  1. 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
- try:
3057
- initial_theme = st.session_state.chat['scene_params'].get('theme', 'default')
3058
- logger.info(f"初期背景設定: テーマ '{initial_theme}' (重複更新許容)")
3059
-
3060
- # 常に背景を更新(重複更新許容)
3061
- update_background(managers['scene_manager'], initial_theme)
3062
 
3063
- except Exception as e:
3064
- logger.error(f"初期背景設定でエラーが発生: {e}")
3065
- import traceback
3066
- logger.error(f"初期背景設定エラーの詳細: {traceback.format_exc()}")
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)