How ehpanda-team/ehpanda works
EhPanda is an unofficial iOS client for E-Hentai. The main user journey is to browse or search galleries, open gallery details and associated material, then view previews and read pages; deep links can enter that flow directly. Gallery metadata, reading progress, and preview URLs are backed by local persistence, while requests and HTML parsing support the remote catalog. The tree also shows account, favorites, history, rankings, comments, torrents, and settings features. Sampled excerpts establish only some wiring, so uncertain connections between unsampled feature reducers and views are omitted.
Main entry points: Request.swift Request transport · AppRouteReducer.swift App routes · PreviewsReducer.swift Gallery previews · DatabaseClient.swift Database client
Components 22
App navigation
- App entry
EhPanda/App/EhPandaApp.swift - App routes
EhPanda/DataFlow/AppRouteReducer.swift - Tab navigation
EhPanda/View/TabBar/TabBarReducer.swift - Share extension
ShareExtension/ShareViewController.swift
Gallery discovery
- Home feeds
EhPanda/View/Home - Gallery search
EhPanda/View/Search - Gallery filters
EhPanda/View/Support/FiltersReducer.swift - Favorites
EhPanda/View/Favorites/FavoritesReducer.swift
Gallery experience
- Gallery details
EhPanda/View/Detail/DetailReducer.swift - Detail sections
EhPanda/View/Detail - Gallery previews
EhPanda/View/Detail/Previews/PreviewsReducer.swift - Page reader
EhPanda/View/Reading/ReadingReducer.swift - Live text
EhPanda/View/Reading/Support/LiveTextHandler.swift - Reading history
EhPanda/View/Home/History/HistoryReducer.swift
Network and storage
- Request transport
EhPanda/Network/Request.swift - HTML parsing
EhPanda/App/Tools/Parser.swift - Database client
EhPanda/App/Tools/Clients/DatabaseClient.swift - Core Data store
EhPanda/Database/Persistence.swift
Account and settings
- Settings
EhPanda/View/Setting/SettingReducer.swift - Account login
EhPanda/View/Setting/Login/LoginReducer.swift
Other components
- User
- E-Hentai
Connections 12
- User → App entry: opens
- Share extension → App entry: opens deep link
- App routes → Gallery details: dispatches detail
- App routes → Database client: checks gallery
- App routes → Request transport: fetches gallery
- Gallery previews → Request transport: requests previews
- Gallery previews → Database client: loads and saves
- Gallery previews → Page reader: opens reader
- Database client → Core Data store: reads and writes
- Request transport → E-Hentai: sends requests
- Request transport → HTML parsing: parses responses
- Live text → User: presents recognized text