Overview
EpiNeko uses a status system to categorize anime in your library based on your viewing progress and intentions. This helps organize your collection and provides meaningful statistics about your viewing habits.Watching
Currently watching and actively following
Completed
Finished watching all available episodes
Plan to Watch
Added to library but not started yet
Dropped
Started but decided not to continue
Status Type Definition
The watch status is defined as a TypeScript union type and PostgreSQL enum:The enum is defined at the database level, ensuring data integrity and preventing invalid status values.
Status Details
Watching (watching)
Indicates you are currently watching this anime and actively following new episodes or continuing through the series.Label: 📺 VIENDOWhen to use:
- You’re actively watching episodes
- You’re keeping up with currently airing episodes
- You plan to watch the next episode soon
- Appears in “Currently Watching” sections
- Updates episode count as you progress
- Used for tracking active viewing
Completed (completed)
Marks an anime as finished - you’ve watched all available episodes.Label: ✅ COMPLETADOWhen to use:
- You’ve finished all episodes
- Series has ended and you’ve seen it all
- You’ve watched everything currently available for ongoing series
- Automatically set when
episodes_watchedequals total episodes - Contributes to completion rate statistics
- Enables scoring/rating
Plan to Watch (plan_to_watch)
Added to your library but not started watching yet.Label: ⏳ PENDIENTEWhen to use:
- You want to watch it later
- You’re building a watchlist
- You’re interested but don’t have time now
- Default status when adding from AnimeDetailsModal
- Often used with
episodes_watched: 0 - Acts as a bookmark or wishlist
Dropped (dropped)
You started watching but decided not to continue.Label: ❌ ABANDONADOWhen to use:
- You started but lost interest
- Not enjoying the series
- Decided it’s not for you
- Keeps record of what you’ve tried
- Prevents re-adding by mistake
- Provides honest viewing statistics
Status Labels
UI-friendly labels with emojis for each status:- Used in dropdown menus
- Displayed on profile statistics
- Shown in library filters
Changing Status
Via LibraryButton
The LibraryButton component provides a dropdown to change status:
Code Example (src/components/anime/LibraryButton.tsx:96-113):
Programmatic Updates
Update status directly via API:Status-Based Filtering
Filter library by status for organization:Automatic Status Changes
Some status changes happen automatically based on user actions:- Episode Progress
- Default on Add
When marking episodes as watched:Implementation: src/components/anime/EpisodeList.tsx:44-70
Status Colors
Visual color coding for each status:- Watching:
bg-primary(pink) - Completed:
bg-green-500 - Plan to Watch:
bg-yellow-500 - Dropped:
bg-red-500
Status Best Practices
Be Honest
Use “dropped” instead of keeping unwatched anime as “watching”Provides accurate viewing statistics
Update Regularly
Change status as your viewing situation changesKeeps library organized and current
Use Plan to Watch
Add interesting anime to “plan to watch” as bookmarksBuild your watchlist for later
Complete Properly
Mark as completed only when fully finishedMakes completion statistics meaningful
Database Constraints
The status field has constraints at the database level:- Status is required (NOT NULL)
- Must be one of the four enum values
- Defaults to ‘watching’ if not specified
- Database rejects invalid values
Status Statistics
View your status distribution on the profile page:- Progress bars showing distribution
- Numeric counts for each status
- Completion percentage calculation
- Visual color coding
Related Features
- Library Management - Managing your collection
- Progress Tracking - Episode tracking
- Profile & Settings - Viewing statistics
- Scoring System - Rating completed anime