[ 'label' => __( 'LMS', 'subscription' ), 'section' => __( 'Learning Management System', 'subscription' ), 'bg' => '#ede9fe', 'color' => '#6d28d9', ], 'crm' => [ 'label' => __( 'CRM', 'subscription' ), 'section' => __( 'Customer Relationship Management', 'subscription' ), 'bg' => '#fce7f3', 'color' => '#9d174d', ], 'automation' => [ 'label' => __( 'Automation', 'subscription' ), 'section' => __( 'Automation', 'subscription' ), 'bg' => '#e0f2fe', 'color' => '#0369a1', ], 'email' => [ 'label' => __( 'Email', 'subscription' ), 'section' => __( 'Email Marketing', 'subscription' ), 'bg' => '#dcfce7', 'color' => '#166534', ], 'license' => [ 'label' => __( 'License', 'subscription' ), 'section' => __( 'License Management', 'subscription' ), 'bg' => '#fef3c7', 'color' => '#92400e', ], ]; // Group third-party integrations by category, preserving the config order above // and appending any uncategorised ones under "Other". $third_party_grouped = []; foreach ( array_keys( $category_config ) as $cat_key ) { $third_party_grouped[ $cat_key ] = []; } foreach ( $third_party as $integration ) { $cat_key = $integration['category'] ?? ''; $cat_key = isset( $category_config[ $cat_key ] ) ? $cat_key : 'other'; $third_party_grouped[ $cat_key ][] = $integration; } $third_party_grouped = array_filter( $third_party_grouped ); ?>