A personal media tracker built on the AT Protocol opnshelf.xyz
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(show): handle undefined season/episode numbers in continue button

- Fix getCurrentEpisodeText() to check for undefined season_number and episode_number
- Fix progress indicator to not render when episode info is undefined
- Prevent Continue SundefinedEundefined from appearing

+19 -13
+19 -13
apps/web/src/routes/shows/$showId/$showName/index.tsx
··· 218 218 219 219 // Get current episode display text 220 220 const getCurrentEpisodeText = () => { 221 - if (nextEpisode) { 221 + if ( 222 + nextEpisode?.season_number !== undefined && 223 + nextEpisode?.episode_number !== undefined 224 + ) { 222 225 return `Continue S${nextEpisode.season_number}E${nextEpisode.episode_number}`; 223 226 } 224 227 if (isTracking && episodesWatched > 0) { ··· 347 350 </div> 348 351 349 352 {/* Current Progress */} 350 - {isTracking && nextEpisode && ( 351 - <div className="mt-4 flex items-center gap-2 text-sm"> 352 - <div className="flex h-6 w-6 items-center justify-center rounded-full bg-[var(--accent)] text-[#3f2e00] text-xs font-medium"> 353 - {nextEpisode.episode_number} 353 + {isTracking && 354 + nextEpisode?.season_number !== undefined && 355 + nextEpisode?.episode_number !== undefined && ( 356 + <div className="mt-4 flex items-center gap-2 text-sm"> 357 + <div className="flex h-6 w-6 items-center justify-center rounded-full bg-[var(--accent)] text-[#3f2e00] text-xs font-medium"> 358 + {nextEpisode.episode_number} 359 + </div> 360 + <span className="text-[var(--foreground-muted)]"> 361 + Currently at{" "} 362 + <span className="font-medium text-[var(--foreground)]"> 363 + S{nextEpisode.season_number}E 364 + {nextEpisode.episode_number} 365 + </span> 366 + </span> 354 367 </div> 355 - <span className="text-[var(--foreground-muted)]"> 356 - Currently at{" "} 357 - <span className="font-medium text-[var(--foreground)]"> 358 - S{nextEpisode.season_number}E{nextEpisode.episode_number} 359 - </span> 360 - </span> 361 - </div> 362 - )} 368 + )} 363 369 364 370 {/* Action Buttons */} 365 371 <div className="mt-6 flex flex-wrap gap-3">