dc1419c051
Gallery Feedback Features: - Add feedback system allowing ratings, likes, comments, and favorites on photos - Implement admin controls for enabling/disabling feedback per event - Add content moderation with word filters and spam detection - Implement rate limiting to prevent abuse (10 requests/15min per type) - Create comprehensive admin interface for feedback management - Add analytics dashboard for feedback insights - Export feedback data when archiving events Frontend Components: - PhotoRating: 5-star rating system with optimistic updates - PhotoLikes: Like/unlike with animation - PhotoComments: Threaded comments with moderation - PhotoFavorites: Bookmark functionality - FeedbackSettings: Admin configuration panel - EventFeedbackPage: Complete management interface Backend Implementation: - Database migration 033: 4 new tables for feedback system - RESTful API with proper authorization - Guest identification via SHA256(IP+UserAgent) - Automatic backup integration - Email notification support Backup Version Tracking: - Migration 034: Add version columns to backup tables - Track app version, Node.js version, and DB schema version - Create restore_history table for tracking restore attempts - Add version compatibility checking for safe restores - Configurable version matching requirements Security & Performance: - Input validation and sanitization - Rate limiting per feedback type - Content moderation system - Optimistic UI updates - Efficient database queries with proper indexes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
13 lines
630 B
TypeScript
13 lines
630 B
TypeScript
export { GalleryView } from './GalleryView';
|
|
export { PhotoGrid } from './PhotoGrid';
|
|
export { PhotoLightbox } from './PhotoLightbox';
|
|
export { ExpirationBanner } from './ExpirationBanner';
|
|
export { CountdownTimer } from './CountdownTimer';
|
|
export { GalleryLayout } from './GalleryLayout';
|
|
export { PhotoFilterBar } from './PhotoFilterBar';
|
|
export { UserPhotoUpload } from './UserPhotoUpload';
|
|
export { PhotoFeedback } from './PhotoFeedback';
|
|
export { PhotoRating } from './PhotoRating';
|
|
export { PhotoLikes } from './PhotoLikes';
|
|
export { PhotoComments } from './PhotoComments';
|
|
export { PhotoFavorites } from './PhotoFavorites'; |