1. 25 May, 2026 8 commits
    • Mahmoud Aglan's avatar
      fix: chess bots not showing - extract bots array from API response · e87eca4e
      Mahmoud Aglan authored
      API returns {bots: [...], count: N} not a flat array.
      Also fixed pool stats mapping (pool_alive/pool_idle) and portrait URLs
      to use full Stockfish API base URL.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      e87eca4e
    • Mahmoud Aglan's avatar
    • Mahmoud Aglan's avatar
      fix: align remaining modules to actual Supabase column schemas · 0402e2b4
      Mahmoud Aglan authored
      - ads: remove non-existent columns (advertiser, placement, cpm, title, body, click_url, image_url), use actual schema (campaign_type, target_slots, target_games, budget_daily)
      - moderation: resolution→action_taken, resolved_by→reviewed_by (UUID), resolved_at→reviewed_at
      - tournaments: el3ab_tournament_players→tournament_registrations, swiss_tournament_id→swiss_api_tournament_id
      - players: remove email from insert (not in profiles), banned_at removed, use ban_expires_at
      - notifications: remove is_broadcast (not in schema), detect broadcast by null user_id
      - settings: is_editable→is_secret, handle JSONB value column
      - auth: last_login→last_login_at
      - Created el3ab_tournament_rounds table on server
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      0402e2b4
    • Mahmoud Aglan's avatar
      fix: align all code to actual Supabase DB schema · 367e98e5
      Mahmoud Aglan authored
      Table renames: transactions→economy_transactions, organizations→el3ab_organizations
      Column fixes: user_id→player_id, last_active_at→last_seen_at, reported_id→reported_player_id,
      organizer_id→created_by, actor→actor_id, entity_type→resource_type, entity_id→resource_id
      Schema match: economy_transactions uses type credit/debit + reason + source_id,
      audit_log uses actor_id/resource_type/resource_id/details,
      org_members uses player_id, ad_campaigns uses spent_total.
      Created admin_users, approval_requests, workflow_rules tables on server.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      367e98e5
    • Mahmoud Aglan's avatar
      k · 080ac7e2
      Mahmoud Aglan authored
      080ac7e2
    • Mahmoud Aglan's avatar
      feat: multi-tenant role system with workflows & user management · f50a8d54
      Mahmoud Aglan authored
      Complete overhaul from single-admin to multi-role multi-org system:
      
      - Auth: multi-user login from admin_users table with 9 roles
        (superadmin, admin, moderator, org_admin, org_manager,
        tournament_organizer, sponsor, charity, viewer)
      - Permissions: granular permission matrix with org-scoping
      - RuleEngine: event-driven workflow automation
      - Users module: full CRUD for admin user management
      - Workflows module: approval queue, automation rules, org requests
      - Dashboard: role-aware with scoped data per role
      - Sidebar: permission-filtered navigation per role
      - Topbar: shows role badge next to username
      - Login: supports all user types
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      f50a8d54
    • Mahmoud Aglan's avatar
      fix: sidebar to right side (RTL) + add 20 UI customization features · 02d81493
      Mahmoud Aglan authored
      - Moved sidebar from left to right for proper RTL layout
      - Added full customization panel at /branding with 20 live UI preferences:
        sidebar width, font size, card style, animation speed, accent color,
        table density, toast position, content width, sidebar style, border radius,
        time format, number format, reduce motion, high contrast, color blind modes,
        focus mode, sounds, auto save, page transitions, compact header
      - All preferences persist in localStorage and apply instantly
      - Added customization.css + customization.js engine
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      02d81493
    • Mahmoud Aglan's avatar
      init · b0303129
      Mahmoud Aglan authored
      b0303129