ESMATUGBA commited on
Commit
0e8aeaf
·
verified ·
1 Parent(s): ee88717

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -21
app.py CHANGED
@@ -94,7 +94,7 @@ def klasordeki_unluleri_getir():
94
 
95
  unlu_verileri = klasordeki_unluleri_getir()
96
 
97
- # --- SESSION STATE (Seçimi Takip Etmek İçin) ---
98
  if 'selected_actor' not in st.session_state:
99
  st.session_state.selected_actor = None
100
 
@@ -112,11 +112,13 @@ filtered_names = [name for name, data in unlu_verileri.items() if data['c'] == g
112
 
113
  st.sidebar.markdown(f"### 📋 Available Cast / Mevcut Oyuncular")
114
 
115
- # SOL PANEL BUTONLARI
 
 
 
 
116
  for n in filtered_names:
117
- if st.sidebar.button(f"👤 {n}", key=f"sb_btn_{n}"):
118
- st.session_state.selected_actor = n
119
- st.rerun()
120
 
121
  # --- ANA EKRAN ---
122
  st.title("🎬 CastMatch AI: Talent Matching System / Yetenek Eşleştirme Sistemi")
@@ -128,28 +130,27 @@ col_actor, col_match = st.columns([1, 2])
128
  with col_actor:
129
  st.subheader("👤 Pick an Actor / Oyuncu Seç")
130
 
131
- # KUTU OTOMATİK DOLSUN DİYE INDEX AYARLANDI:
132
- # Eğer sidebar'dan seçilen isim filtered_names içindeyse onun sırasını bulup Selectbox'a veriyoruz.
133
- try:
134
- current_index = filtered_names.index(st.session_state.selected_actor) if st.session_state.selected_actor in filtered_names else None
135
- except ValueError:
136
- current_index = None
137
 
138
- selected_actor_box = st.selectbox(
 
139
  "Select from list / Listeden seçin:",
140
  filtered_names,
141
- index=current_index,
142
  placeholder="Choose an actor... / Bir oyuncu seçin...",
143
  key="main_selectbox"
144
  )
145
 
146
- # Eğer kutudan manuel seçim yapılırsa state'i güncelle
147
- if selected_actor_box != st.session_state.selected_actor:
148
- st.session_state.selected_actor = selected_actor_box
149
- if selected_actor_box:
150
- st.rerun()
151
 
152
- # RESİM GÖSTERİMİ
153
  if st.session_state.selected_actor:
154
  actor = st.session_state.selected_actor
155
  found_path = None
@@ -164,7 +165,7 @@ with col_actor:
164
  else:
165
  st.error("Image not found. / Resim bulunamadı.")
166
  else:
167
- st.info("Please select an actor. / Lütfen bir oyuncu seçin.")
168
 
169
  with col_match:
170
  st.subheader("🎯 Best Career Matches / En İyi Kariyer Eşleşmeleri")
@@ -192,4 +193,4 @@ with col_match:
192
  st.write("Waiting for selection... / Seçim bekleniyor...")
193
 
194
  st.markdown("---")
195
- st.info("💡 **How it works? / Nasıl çalışır?**: Based on available image assets. / Mevcut resim dosyalarına dayanarak çalışır.")
 
94
 
95
  unlu_verileri = klasordeki_unluleri_getir()
96
 
97
+ # --- SESSION STATE YÖNETİMİ ---
98
  if 'selected_actor' not in st.session_state:
99
  st.session_state.selected_actor = None
100
 
 
112
 
113
  st.sidebar.markdown(f"### 📋 Available Cast / Mevcut Oyuncular")
114
 
115
+ # Sidebar Buton Fonksiyonu
116
+ def select_actor(name):
117
+ st.session_state.selected_actor = name
118
+
119
+ # Sol Paneldeki isim butonları
120
  for n in filtered_names:
121
+ st.sidebar.button(f"👤 {n}", key=f"sb_{n}", on_click=select_actor, args=(n,))
 
 
122
 
123
  # --- ANA EKRAN ---
124
  st.title("🎬 CastMatch AI: Talent Matching System / Yetenek Eşleştirme Sistemi")
 
130
  with col_actor:
131
  st.subheader("👤 Pick an Actor / Oyuncu Seç")
132
 
133
+ # Kutu Otomatik Güncelleme Mantığı
134
+ # Eğer session_state doluysa ve listede varsa onu seç, yoksa None bırak.
135
+ if st.session_state.selected_actor in filtered_names:
136
+ idx = filtered_names.index(st.session_state.selected_actor)
137
+ else:
138
+ idx = None
139
 
140
+ # SELECTBOX: index parametresi doğrudan idx değişkenine bağlıdır
141
+ current_selection = st.selectbox(
142
  "Select from list / Listeden seçin:",
143
  filtered_names,
144
+ index=idx,
145
  placeholder="Choose an actor... / Bir oyuncu seçin...",
146
  key="main_selectbox"
147
  )
148
 
149
+ # Kutu üzerinden manuel seçim yapılırsa state'i güncelle
150
+ if current_selection != st.session_state.selected_actor:
151
+ st.session_state.selected_actor = current_selection
 
 
152
 
153
+ # GÖRSEL ALANI
154
  if st.session_state.selected_actor:
155
  actor = st.session_state.selected_actor
156
  found_path = None
 
165
  else:
166
  st.error("Image not found. / Resim bulunamadı.")
167
  else:
168
+ st.info("Please select an actor to start. / Başlamak için lütfen bir oyuncu seçin.")
169
 
170
  with col_match:
171
  st.subheader("🎯 Best Career Matches / En İyi Kariyer Eşleşmeleri")
 
193
  st.write("Waiting for selection... / Seçim bekleniyor...")
194
 
195
  st.markdown("---")
196
+ st.info("💡 **How it works? / Nasıl çalışır?**: AI analyzes based on local image assets. / AI yerel resim varlıklarını analiz eder.")