feat(series): add SeriesHandler, API routes, and SSR browse page
Create SeriesHandler with two API endpoints: - GET /api/series (paginated series list with covers) - GET /api/series/books (books in a specific series) Uses query param ?name=X instead of path param to avoid URL encoding issues with special characters in series names. Add GetSeriesCardsData helper returning services.SeriesInfo for use by the SSR route (avoids handlers→templates import cycle). Register /api/series routes via registerSeriesRoutes in router. Add /series SSR route in frontend.go with library-scoped pagination and error handling, matching the dashboard/bookshelf patterns. Add SeriesHandler to router Config and instantiate in main.go. Add SeriesCardData type to templates/types.go. Add Continue Series as the 5th valid system collection in dashboard handler and auth handler's CreateDefaultCollectionsForUser.
This commit is contained in:
@@ -56,6 +56,7 @@ type Config struct {
|
||||
FiltersHandler *handlers.FiltersHandler
|
||||
DashboardHandler *handlers.DashboardHandler
|
||||
DashboardService *services.DashboardService
|
||||
SeriesHandler *handlers.SeriesHandler
|
||||
OPDSHandler *handlers.OPDSHandler
|
||||
SystemSettingsHandler *handlers.SystemSettingsHandler
|
||||
ConnManager *sync.ConnectionManager
|
||||
@@ -211,6 +212,7 @@ func RegisterRoutes(cfg *Config) *handlers.Handler {
|
||||
registerSystemRoutes(cfg)
|
||||
registerSyncRoutes(cfg)
|
||||
registerCollectionsRoutes(cfg)
|
||||
registerSeriesRoutes(cfg)
|
||||
registerDashboardRoutes(cfg)
|
||||
registerMediaRoutes(cfg)
|
||||
registerSearchRoutes(cfg)
|
||||
|
||||
Reference in New Issue
Block a user