Overview
EpiNeko’s progress tracking system allows users to mark individual episodes as watched, automatically updating their library statistics and watch status. The system integrates seamlessly with the library management and provides visual feedback on viewing progress.Episode Tracking
Mark individual episodes as watched with one click
Auto Status Update
Status automatically changes based on progress
Visual Progress
Progress bars show completion percentage
Episode Metadata
View episode titles, dates, and filler indicators
Episodes Watched Field
Each library item tracks the number of episodes you’ve watched:The
episodes_watched field defaults to 0 and represents the highest episode number you’ve completed. For example, episodes_watched: 5 means you’ve watched episodes 1-5.Episode Data Structure
Episode information is fetched from the Jikan API:EpisodeList Component
The main component for displaying and tracking episode progress:Component Props
number
required
The MyAnimeList ID (Jikan ID) of the anime
number | null
required
Total episode count for the series. Can be null for unknown or ongoing series.
string
required
Anime title for library operations
string
required
Poster image URL for library operations
Marking Episodes as Watched
Toggle Episode Function
The core function for marking episodes:Automatic Behaviors
- Auto Add to Library
- Auto Status Change
- Optimistic Updates
If you mark an episode as watched and the anime isn’t in your library, it’s automatically added:
Visual Components
Progress Header
Displays current progress at the top of the episode list:- Shows watched count vs total
- Updates in real-time as you mark episodes
- Styled with primary border accent
Episode Cards
Each episode is displayed as an interactive card:- Unwatched: Gray background, white/5 border
- Watched: Green background, emerald border with glow
- Hover: Border brightens, checkbox highlights
- Active: Scale animation on click
Episode Information
Additional metadata displayed for each episode:1
Episode Number
Format: T1 E (Season 1, Episode X)Displayed in rounded pill badge
2
Episode Title
English or romaji title from JikanTruncates if too long
3
Japanese Title
Original Japanese title (if available)Shown in smaller text below main title
4
Filler/Recap Indicators
Future enhancement - show badges for filler/recap episodes
Loading and Empty States
Loading State
Displays spinner while fetching episode data:No Episodes Available
When Jikan has no episode data but total count is known:- Generates placeholder episodes if Jikan data unavailable
- Uses episode numbers as titles
- Still fully functional for progress tracking
Truly Empty
No episodes and no total count:Batch Operations
Mark Multiple Episodes
Mark multiple episodes at once by clicking the highest episode number:- User clicks episode 10 checkbox
- All episodes 1-10 are considered watched
- Visually, all episode cards 1-10 show as completed
- Progress counter updates: “10 / 28 VISTOS”
Unmark Episodes
Clicking the current highest episode decrements the count:- Currently watched through episode 10
- Click episode 10 again
- Count decreases to 9
- Episode 10 shows as unwatched
Integration with Library
Progress tracking is tightly integrated with library management:Error Handling
Comprehensive error handling with rollback:- User not authenticated
- Network failure
- Database constraint violation
- Rate limiting
Fetching Episode Data
Episodes are fetched from Jikan API:Progress Visualization
Progress is visualized in multiple places:Episode List Header
Shows fraction and percentage:Profile Statistics
Progress bars on profile page:Library Cards
Could add progress indicators to library cards:Best Practices
Optimistic Updates
Update UI immediately for responsive feel
Always Rollback
Revert optimistic changes on error
Batch Fetch
Fetch episodes and library data in parallel
Loading States
Show spinners during data fetches and updates
Advanced Features
Sequential Watching
Future enhancement - enforce sequential watching:Partial Episodes
Track partial episode progress:Watch History
Track when episodes were watched:Related Features
- Library Management - Backend storage
- Watch Status - Status auto-updates
- Anime Discovery - Episode data source
- Profile Statistics - Progress visualization