feat: Lessons page with API and sidebar nav entry (#5) #15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-5-lessons-page"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds the Lessons plugin page accessible from the Jellyfin sidebar.
Changes
GET /Plugins/Lessons/Listreturning JSON array of lesson summaries ({id, title, grade, subject, lessonDate, description})ServiceRegistratorpointing to~/.local/share/jellyfin-lessons/lessons.db/Plugins/Lessons/ListIHasWebPageson Plugin class withEnableInMainMenu=truefor nav entryImplicitUsings,Nullable,Microsoft.AspNetCore.AppFrameworkReference, and fixedIPluginServiceRegistratorsignature for 10.10.xAcceptance
dotnet buildpassesCloses #5
Reviewed — looks good.
✅ Correctly uses IHasWebPages (10.10.x replacement for IPluginConfigurationPage)
✅ REST controller with clean DI injection
✅ ServiceRegistrator uses correct two-parameter signature from MediaBrowser.Controller
✅ Grouped by grade, Jellyfin dark theme, empty state handled
✅ Embedded HTML resource approach follows Jellyfin conventions
One heads-up for #6: the lesson cards have cursor:pointer but no click handler yet. In #6, wire
onclickto navigate to a detail view — either viawindow.locationto a detail page or by rendering inline. Approving.