How mjunhaochen/did-i-feed-my-fish works
This is a small browser app for answering whether the user fed their fish today. The main workflow is to record, undo, or clear feedings; the app persists history locally and presents today’s status and locale-formatted times. It also supports a preferred feeding time, keyboard shortcuts, and theme selection. The sampled page excerpt confirms these behaviors, but does not establish a separate reminder delivery mechanism. Wiring for unsampled routes and UI details is represented only where documented or visible in the app shell.
Main entry points: App.tsx App routing · FishFeeder.tsx Fish feeder · Header.tsx Navigation header · ThemeProvider.tsx Theme provider
Components 14
App shell
- React entry
src/main.tsx - App routing
src/App.tsx - Navigation header
src/components/Header.tsx - About page
src/pages/About.tsx - Not found page
src/pages/NotFound.tsx
Feeding workflow
- Fish feeder
src/pages/FishFeeder.tsx - Feed history
- Browser APIs
Shared presentation
- Toast helper
src/utils/toast.ts - Toast renderer
src/components/ui/sonner.tsx - UI primitives
src/components/ui
Appearance
- Theme provider
src/components/ThemeProvider.tsx - Theme selector
src/components/ModeToggle.tsx
Other components
- User
Connections 17
- User → React entry: opens app
- React entry → Theme provider: renders
- Theme provider → App routing: wraps
- App routing → Navigation header: renders
- App routing → Fish feeder: routes home
- App routing → About page: routes about
- App routing → Not found page: routes fallback
- User → Fish feeder: feeds or manages
- Fish feeder → Feed history: reads and writes
- Fish feeder → Browser APIs: uses time and locale
- Fish feeder → Toast helper: reports actions
- App routing → Toast renderer: renders
- Toast helper → Toast renderer: dispatches toast
- Fish feeder → UI primitives: uses controls
- Navigation header → UI primitives: uses controls
- Navigation header → Theme selector: renders
- Theme selector → Theme provider: sets theme