feat: add reusable form components and inline editing for all media types

Created reusable form components for all media types (Game, Book, Music, Show,
Manga, Art) to provide a consistent editing experience across the application.

Changes:
- Created 6 new form components in shared folder for all media types
- Each form component supports both 'add' and 'edit' modes
- Forms include all fields: title, author/artist/platform, status, dates,
  rating, time spent, notes, cover images, tags, and links
- Added inline editing to all detail views using form components
- Detail views now show edit form inline instead of navigating away
- Integrated form components into admin suggestions workflow
- Admins can now review and edit all suggestion details before accepting
- Added scroll-to-top functionality when clicking edit in all list views
- Ensures edit form is visible when opened from paginated lists

Benefits:
- Consistent UX across all media types
- Better editing experience with inline forms
- Improved admin suggestion workflow with full editing capabilities
- No route navigation for edits (better for SEO and UX)
- All forms follow the same styling and interaction patterns

Co-Authored-By: Naomi Carrigan <commits@nhcarrigan.com>
This commit is contained in:
2026-02-20 19:29:05 -08:00
committed by Naomi Carrigan
parent f40f917bc5
commit b781034fce
19 changed files with 3914 additions and 238 deletions
@@ -1121,6 +1121,9 @@ export class ArtGalleryComponent implements OnInit {
this.editTagInput = '';
this.editLinkTitle = '';
this.editLinkUrl = '';
// Scroll to top so the form is visible
window.scrollTo({ top: 0, behavior: 'smooth' });
}
cancelEdit() {