lenawilli commited on
Commit
5e3c258
·
verified ·
1 Parent(s): 007443e

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +23 -7
src/streamlit_app.py CHANGED
@@ -140,7 +140,25 @@ def render_star_rating(rating):
140
  all_ratings_data = load_ratings()
141
 
142
  if movie_id:
143
- ... # Detail Page unverändert
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
  elif page:
146
  st.title("🎲 Rate Random Movies")
@@ -170,13 +188,11 @@ elif page:
170
  st.session_state.filter_hash = hash((tuple(selected_genres), selected_year_range))
171
 
172
  if st.session_state.index >= len(st.session_state.queue):
173
- st.subheader("🎉 You've rated enough movies!")
174
  st.session_state.quiz_history.append(st.session_state.rated.copy())
175
  for r in st.session_state.rated:
176
  save_rating_to_json(r)
177
- if st.button("🔄 Start Over"):
178
- del st.session_state.queue
179
- st.rerun()
180
  else:
181
  movie = st.session_state.queue[st.session_state.index]
182
  movie_id_val = title_to_movie_id.get(movie)
@@ -205,7 +221,7 @@ elif page:
205
 
206
  elif search_query:
207
  # Movie Search Page
208
- st.title(f"🔍 Search Results for '{search_query}'")
209
  matches = movie_df[movie_df["clean_title"].str.contains(search_query, case=False, na=False)]
210
 
211
  # Filters
@@ -240,7 +256,7 @@ elif search_query:
240
 
241
  else:
242
  # Home Page
243
- st.title("🏠 Welcome to MovieMatch")
244
 
245
  df = pd.DataFrame(all_ratings_data)
246
  if not df.empty:
 
140
  all_ratings_data = load_ratings()
141
 
142
  if movie_id:
143
+ try:
144
+ movie_id = int(movie_id)
145
+ movie_info = movie_df[movie_df["movieId"] == movie_id].iloc[0]
146
+ st.title(movie_info["clean_title"])
147
+ col1, col2 = st.columns([1, 3])
148
+ with col1:
149
+ st.image(movie_info["poster"], use_column_width=True)
150
+ with col2:
151
+ st.subheader("Details")
152
+ st.write(f"**Genres:** {movie_info['genres']}")
153
+ st.write(f"**Year:** {movie_info['year']}")
154
+
155
+ user_rating = next((r["rating"] for r in all_ratings_data if r["movie_id"] == movie_id), None)
156
+ if user_rating:
157
+ st.markdown(f"**Your Rating:** {render_star_rating(user_rating)}", unsafe_allow_html=True)
158
+ else:
159
+ st.info("You haven't rated this movie yet.")
160
+ except Exception as e:
161
+ st.error("Could not load movie details.")
162
 
163
  elif page:
164
  st.title("🎲 Rate Random Movies")
 
188
  st.session_state.filter_hash = hash((tuple(selected_genres), selected_year_range))
189
 
190
  if st.session_state.index >= len(st.session_state.queue):
191
+ st.subheader("No movies based on your filters in the dataset")
192
  st.session_state.quiz_history.append(st.session_state.rated.copy())
193
  for r in st.session_state.rated:
194
  save_rating_to_json(r)
195
+
 
 
196
  else:
197
  movie = st.session_state.queue[st.session_state.index]
198
  movie_id_val = title_to_movie_id.get(movie)
 
221
 
222
  elif search_query:
223
  # Movie Search Page
224
+ st.title(f"Search Results for '{search_query}'")
225
  matches = movie_df[movie_df["clean_title"].str.contains(search_query, case=False, na=False)]
226
 
227
  # Filters
 
256
 
257
  else:
258
  # Home Page
259
+ st.title("Welcome to MovieMatch")
260
 
261
  df = pd.DataFrame(all_ratings_data)
262
  if not df.empty: