Add comprehensive edited media management with expandable cards UI
- Optimized delete modal for light/dark modes with modern gradients - Added edit_count tracking to media library with warnings in delete confirmation - Enhanced PlayerEdit model with CASCADE delete on foreign keys - Improved player management page to show latest 3 edited files with image previews - Created new edited_media route and template with full version history - Implemented horizontal expandable cards with two-column layout - Added interactive version selection with thumbnail grid - Included original file in versions list with source badge - Fixed deletion workflow to clean up PlayerEdit records and edited_media folders - Enhanced UI with smooth animations, hover effects, and dark mode support
This commit is contained in:
@@ -24,8 +24,8 @@ class PlayerEdit(db.Model):
|
||||
__tablename__ = 'player_edit'
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
player_id = db.Column(db.Integer, db.ForeignKey('player.id'), nullable=False, index=True)
|
||||
content_id = db.Column(db.Integer, db.ForeignKey('content.id'), nullable=False, index=True)
|
||||
player_id = db.Column(db.Integer, db.ForeignKey('player.id', ondelete='CASCADE'), nullable=False, index=True)
|
||||
content_id = db.Column(db.Integer, db.ForeignKey('content.id', ondelete='CASCADE'), nullable=False, index=True)
|
||||
original_name = db.Column(db.String(255), nullable=False)
|
||||
new_name = db.Column(db.String(255), nullable=False)
|
||||
version = db.Column(db.Integer, default=1, nullable=False)
|
||||
@@ -36,8 +36,8 @@ class PlayerEdit(db.Model):
|
||||
created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False, index=True)
|
||||
|
||||
# Relationships
|
||||
player = db.relationship('Player', backref=db.backref('edits', lazy='dynamic'))
|
||||
content = db.relationship('Content', backref=db.backref('edits', lazy='dynamic'))
|
||||
player = db.relationship('Player', backref=db.backref('edits', lazy='dynamic', cascade='all, delete-orphan'))
|
||||
content = db.relationship('Content', backref=db.backref('edits', lazy='dynamic', cascade='all, delete-orphan'))
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""String representation of PlayerEdit."""
|
||||
|
||||
Reference in New Issue
Block a user