• Mahmoud Aglan's avatar
    feat: branding admin fully connected to live system · 00ea47bc
    Mahmoud Aglan authored
    Theme loader (theme.js):
    - Reads theme.json on boot, applies CSS custom properties
    - All colors, animations, button shapes, and radii are live-editable
    - assetImg() helper renders uploaded assets at exact expected size
      with object-fit:contain (prevents pixelation/oversizing)
    
    Admin panel updates:
    - Button shapes section: radius, height, font weight, shadow, borders
    - 25 asset upload slots (up from 19) including tab bar icons
    - Each slot shows expected dimensions + usage hint in Arabic
    - Upload accepts SVG, PNG, JPG, WebP, GIF
    - Preview renders at exact expected size (not pixelated, not huge)
    - Old files for same slot are cleaned up on re-upload
    
    CSS connected to theme variables:
    - --btn-press-scale, --btn-min-height, --btn-weight, --btn-shadow
    - --r-full (button radius), --r-btn-secondary, --r-input
    - --card-border-width
    - All existing color variables mapped from theme.json
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    00ea47bc
branding.php 21.4 KB