Skip to:
Content

BuddyPress.org

Changeset 13652


Ignore:
Timestamp:
11/27/2023 10:55:27 PM (16 months ago)
Author:
imath
Message:

Introduce a new Theme Compat feature firstly designed for Block Themes

NB : this feature is also only available in the BP Nouveau template pack.

The Priority Navigations theme compat feature is used to make sure BP Single items primary and secondary navigations are displayed on a single row/line no matter how many items these navigations are containing.
When there's not enough space to display all the items on this row/line, an ellipsis is inserted and hovering on it shows the remaining nav items into a dropdown menu.

This commit also make sure the BP Customizer sections are neutralized so that the Customizer is not loaded on front-end when a Block Theme is active to start complying with the fact these kind of themes are not using the Customizer.

See #9030
See https://github.com/buddypress/buddypress/pull/197

Location:
trunk
Files:
4 added
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/.stylelintrc

    r13113 r13652  
    77    "selector-class-pattern": null,
    88    "no-duplicate-selectors": null,
    9     "font-family-no-missing-generic-family-keyword": null
     9    "font-family-no-missing-generic-family-keyword": null,
     10    "selector-list-comma-newline-after": null
    1011  }
    1112}
  • trunk/Gruntfile.js

    r13546 r13652  
    3535            '!bp-templates/bp-nouveau/css/twenty*.css',
    3636            '!bp-templates/bp-nouveau/css/primary-nav.css',
     37            '!bp-templates/bp-nouveau/sass/priority-nav.scss',
    3738            '!bp-core/admin/css/hello.css',
    3839            '!src/js/**',
     
    119120                ext: '.css',
    120121                flatten: true,
    121                 src: ['bp-templates/bp-nouveau/sass/buddypress.scss', 'bp-templates/bp-nouveau/sass/twenty*.scss', 'bp-templates/bp-nouveau/sass/primary-nav.scss'],
     122                src: ['bp-templates/bp-nouveau/sass/buddypress.scss', 'bp-templates/bp-nouveau/sass/twenty*.scss', 'bp-templates/bp-nouveau/sass/primary-nav.scss', 'bp-templates/bp-nouveau/sass/priority-nav.scss'],
    122123                dest: SOURCE_DIR + 'bp-templates/bp-nouveau/css/'
    123124            },
  • trunk/src/bp-templates/bp-nouveau/buddypress-functions.php

    r13493 r13652  
    8181        }
    8282
    83         $this->includes_dir  = trailingslashit( $this->dir ) . 'includes/';
    84         $this->directory_nav = new BP_Core_Nav( bp_get_root_blog_id() );
     83        $this->includes_dir   = trailingslashit( $this->dir ) . 'includes/';
     84        $this->directory_nav  = new BP_Core_Nav( bp_get_root_blog_id() );
     85        $this->is_block_theme = false;
     86
     87        if ( bp_is_running_wp( '5.9.0', '>=' ) ) {
     88            $this->is_block_theme = wp_is_block_theme();
     89        }
    8590    }
    8691
     
    108113        }
    109114
    110         add_action( 'bp_customize_register', function() {
    111             if ( bp_is_root_blog() && current_user_can( 'customize' ) ) {
    112                 require bp_nouveau()->includes_dir . 'customizer.php';
    113             }
    114         }, 0 );
     115        // The customizer is only used by classic themes.
     116        if ( ! $this->is_block_theme ) {
     117            add_action(
     118                'bp_customize_register',
     119                function() {
     120                    if ( bp_is_root_blog() && current_user_can( 'customize' ) ) {
     121                        require bp_nouveau()->includes_dir . 'customizer.php';
     122                    }
     123                },
     124                0
     125            );
     126        } elseif ( wp_using_themes() && ! isset( $_GET['bp_customizer'] ) ) {
     127            remove_action( 'customize_register', 'bp_customize_register', 20 );
     128        }
    115129
    116130        foreach ( bp_core_get_packaged_component_ids() as $component ) {
     
    150164        }
    151165
    152         bp_set_theme_compat_feature( $this->id, array(
    153             'name'     => 'cover_image',
    154             'settings' => array(
    155                 'components'   => array( 'members', 'groups' ),
    156                 'width'        => $width,
    157                 'height'       => $top_offset + round( $avatar_height / 2 ),
    158                 'callback'     => 'bp_nouveau_theme_cover_image',
    159                 'theme_handle' => 'bp-nouveau',
    160             ),
    161         ) );
     166        if ( $this->is_block_theme ) {
     167            $width = (int) wp_get_global_settings( array( 'layout', 'contentSize' ) );
     168        }
     169
     170        bp_set_theme_compat_feature(
     171            $this->id,
     172            array(
     173                'name'     => 'cover_image',
     174                'settings' => array(
     175                    'components'   => array( 'members', 'groups' ),
     176                    'width'        => $width,
     177                    'height'       => $top_offset + round( $avatar_height / 2 ),
     178                    'callback'     => 'bp_nouveau_theme_cover_image',
     179                    'theme_handle' => 'bp-nouveau',
     180                ),
     181            )
     182        );
     183
     184        bp_set_theme_compat_feature(
     185            $this->id,
     186            array(
     187                'name'     => 'priority_item_nav',
     188                'settings' => array(
     189                    'single_items' => $this->is_block_theme ? array( 'member', 'group' ) : array(),
     190                ),
     191            )
     192        );
    162193    }
    163194
     
    253284            'bp-nouveau' => array(
    254285                'file' => 'css/buddypress%1$s%2$s.css', 'dependencies' => $css_dependencies, 'version' => $this->version,
     286            ),
     287            'bp-nouveau-priority-nav' => array(
     288                'file' => 'css/priority-nav%1$s%2$s.css', 'dependencies' => array( 'dashicons' ), 'version' => $this->version,
    255289            ),
    256290        ) );
     
    354388                    'footer'       => true,
    355389                ),
     390                'bp-nouveau-priority-menu' => array(
     391                    'file'         => 'js/buddypress-priority-menu%s.js',
     392                    'dependencies' => array(),
     393                    'version'      => $this->version,
     394                    'footer'       => true,
     395                )
    356396            )
    357397        );
  • trunk/src/bp-templates/bp-nouveau/buddypress/groups/single/parts/admin-subnav.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
     
    1212    <?php if ( bp_nouveau_has_nav( array( 'object' => 'group_manage' ) ) ) : ?>
    1313
    14         <ul class="subnav">
     14        <ul id="group-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1515
    1616            <?php
     
    3535    <?php endif; ?>
    3636
    37 </nav><!-- #isubnav -->
     37    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
     38</nav><!-- #subnav -->
  • trunk/src/bp-templates/bp-nouveau/buddypress/groups/single/parts/item-nav.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
     
    1212    <?php if ( bp_nouveau_has_nav( array( 'object' => 'groups' ) ) ) : ?>
    1313
    14         <ul>
     14        <ul id="group-primary-nav" class="bp-priority-object-nav-nav-items">
    1515
    1616            <?php
     
    3737    <?php endif; ?>
    3838
     39    <?php bp_nouveau_member_hook( '', 'primary_nav' ); ?>
    3940</nav>
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/activity.php

    r12907 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 8.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Activity menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav><!-- .item-list-tabs#subnav -->
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/blogs.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Sites menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav><!-- .bp-navs -->
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/friends.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Friends menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212        <?php if ( bp_is_my_profile() ) : ?>
    1313
     
    1616        <?php endif; ?>
    1717    </ul>
     18
     19    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1820</nav><!-- .bp-navs -->
    1921
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/groups.php

    r13273 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 11.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Groups menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav><!-- .bp-navs -->
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/invitations.php

    r12921 r13652  
    44 *
    55 * @since 8.0.0
    6  * @version 8.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Groups menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1313    </ul>
     14
     15    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1416</nav><!-- .bp-navs -->
    1517
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/messages.php

    r13200 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Messages menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav><!-- .bp-navs -->
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/notifications.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Notifications menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav>
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/parts/item-nav.php

    r12156 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.1.0
     6 * @version 12.0.0
    77 */
    88?>
     
    1212    <?php if ( bp_nouveau_has_nav( array( 'type' => 'primary' ) ) ) : ?>
    1313
    14         <ul>
     14        <ul id="member-primary-nav" class="bp-priority-object-nav-nav-items">
    1515
    1616            <?php
     
    3737    <?php endif; ?>
    3838
     39    <?php bp_nouveau_member_hook( '', 'primary_nav' ); ?>
     40
    3941</nav>
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/plugins.php

    r12082 r13652  
    77 *
    88 * @since 3.0.0
    9  * @version 3.0.0
     9 * @version 12.0.0
    1010 */
    1111
     
    1515
    1616    <nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav">
    17         <ul class="subnav">
     17        <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1818
    1919            <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
     
    2222
    2323        </ul>
     24
     25        <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    2426    </nav>
    2527
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/profile.php

    r12082 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 12.0.0
    77 */
    88?>
    99
    1010<nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Profile menu', 'buddypress' ); ?>">
    11     <ul class="subnav">
     11    <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1212
    1313        <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1414
    1515    </ul>
     16
     17    <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1618</nav><!-- .item-list-tabs -->
    1719
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/settings.php

    r12272 r13652  
    33 * BuddyPress - Users Settings
    44 *
    5  * @version 4.0.0
     5 * @since 3.0.0
     6 * @version 12.0.0
    67 */
    78
     
    1112
    1213    <nav class="<?php bp_nouveau_single_item_subnav_classes(); ?>" id="subnav" role="navigation" aria-label="<?php esc_attr_e( 'Settings menu', 'buddypress' ); ?>">
    13         <ul class="subnav">
     14        <ul id="member-secondary-nav" class="subnav bp-priority-subnav-nav-items">
    1415
    1516            <?php bp_get_template_part( 'members/single/parts/item-subnav' ); ?>
    1617
    1718        </ul>
     19
     20        <?php bp_nouveau_member_hook( '', 'secondary_nav' ); ?>
    1821    </nav>
    1922
  • trunk/src/bp-templates/bp-nouveau/includes/functions.php

    r13529 r13652  
    663663
    664664    if ( bp_is_active( 'groups' ) ) {
    665         $default_args = array_merge( $default_args, array(
    666             'group_front_page'        => 0,
    667             'group_front_boxes'       => 0,
    668             'group_front_description' => 0,
    669             'group_nav_display'       => 0,       // O is default (horizontally). 1 is vertically.
    670             'group_nav_order'         => array(),
    671             'group_nav_tabs'          => 0,
    672             'group_subnav_tabs'       => 0,
    673             'groups_create_tabs'      => 1,
    674             'groups_layout'           => 1,
    675             'members_group_layout'    => 1,
    676             'groups_dir_layout'       => 0,
    677             'groups_dir_tabs'         => 0,
    678         ) );
     665        $default_args = array_merge(
     666            $default_args,
     667            array(
     668                'group_front_page'        => 0,
     669                'group_front_boxes'       => 0,
     670                'group_front_description' => 0,
     671                'group_nav_display'       => 0, // O is default (horizontally). 1 is vertically.
     672                'group_nav_order'         => array(),
     673                'group_nav_tabs'          => 0,
     674                'group_subnav_tabs'       => 0,
     675                'groups_create_tabs'      => 1,
     676                'groups_layout'           => 1,
     677                'members_group_layout'    => 1,
     678                'groups_dir_layout'       => 0,
     679                'groups_dir_tabs'         => 0,
     680            )
     681        );
    679682    }
    680683
    681684    if ( is_multisite() && bp_is_active( 'blogs' ) ) {
    682         $default_args = array_merge( $default_args, array(
    683             'sites_dir_layout' => 0,
    684             'sites_dir_tabs'   => 0,
    685         ) );
     685        $default_args = array_merge(
     686            $default_args,
     687            array(
     688                'sites_dir_layout' => 0,
     689                'sites_dir_tabs'   => 0,
     690            )
     691        );
    686692    }
    687693
     
    691697        'nouveau_appearance_settings'
    692698    );
     699
     700    // Override some settings to better suits block themes.
     701    if ( bp_nouveau()->is_block_theme ) {
     702        $settings['global_alignment'] = 'alignnone';
     703
     704        if ( isset( $settings['groups_create_tabs'] ) ) {
     705            $settings['groups_create_tabs'] = 0;
     706        }
     707    }
    693708
    694709    if ( ! empty( $option ) ) {
     
    16691684    return apply_filters( 'bp_nouveau_get_theme_layout_widths', $layout_widths );
    16701685}
     1686
     1687/**
     1688 * Get the current displayed object for the priority nav.
     1689 *
     1690 * @since 12.0.0
     1691 *
     1692 * @return string The current displayed object (`member` or `group`).
     1693 */
     1694function bp_nouveau_get_current_priority_nav_object() {
     1695    $object = '';
     1696
     1697    if ( bp_is_user() ) {
     1698        $object = 'member';
     1699    } elseif ( bp_is_group() ) {
     1700        $object = 'group';
     1701    }
     1702
     1703    return $object;
     1704}
     1705
     1706/**
     1707 * Checks whether a single item supports priority nav.
     1708 *
     1709 * @since 12.0.0
     1710 *
     1711 * @param string $single_item The single item object name. Possible valuers are 'member' or 'group'.
     1712 * @return bool True if the single item supports priority nav. False otherwise.
     1713 */
     1714function bp_nouveau_single_item_supports_priority_nav( $single_item = '' ) {
     1715    $retval  = false;
     1716    $feature = bp_get_theme_compat_feature( 'priority_item_nav' );
     1717
     1718    if ( isset( $feature->single_items ) && is_array( $feature->single_items ) ) {
     1719        $retval = ! empty( $feature->single_items );
     1720
     1721        if ( $single_item ) {
     1722            $retval = in_array( $single_item, $feature->single_items, true );
     1723        }
     1724    }
     1725
     1726    /**
     1727     * Use this filter to disallow/allow the Priority nav support.
     1728     *
     1729     * @since 12.0.0
     1730     *
     1731     * @param bool   $retval      True if the single item supports priority nav. False otherwise.
     1732     * @param string $single_item The single item object name. Possible valuers are 'member' or 'group'.
     1733     */
     1734    return apply_filters( 'bp_nouveau_single_item_supports_priority_nav', $retval, $single_item );
     1735}
  • trunk/src/bp-templates/bp-nouveau/includes/groups/functions.php

    r13504 r13652  
    8080            bp_groups_get_group_manage_members_script_data( bp_get_current_group_id() )
    8181        );
     82    }
     83
     84    if ( bp_is_group() && bp_nouveau_single_item_supports_priority_nav( 'group' ) ) {
     85        wp_enqueue_script( 'bp-nouveau-priority-menu' );
     86        wp_enqueue_style( 'bp-nouveau-priority-nav' );
    8287    }
    8388}
  • trunk/src/bp-templates/bp-nouveau/includes/groups/loader.php

    r13461 r13652  
    9191            add_action( 'bp_settings_setup_nav', 'bp_nouveau_groups_invites_restriction_nav' );
    9292        }
     93
     94        // Priority navs for Block Themes.
     95        add_action( 'bp_group_primary_nav', 'bp_nouveau_hidden_primary_nav' );
     96        add_action( 'bp_group_secondary_nav', 'bp_nouveau_hidden_secondary_nav' );
    9397    }
    9498
  • trunk/src/bp-templates/bp-nouveau/includes/members/functions.php

    r13593 r13652  
    5252    if ( bp_is_user_members_invitations_list() ) {
    5353        wp_enqueue_script( 'bp-nouveau-member-invites' );
     54    }
     55
     56    if ( bp_is_user() && bp_nouveau_single_item_supports_priority_nav( 'member' ) ) {
     57        wp_enqueue_script( 'bp-nouveau-priority-menu' );
     58        wp_enqueue_style( 'bp-nouveau-priority-nav' );
    5459    }
    5560}
  • trunk/src/bp-templates/bp-nouveau/includes/members/loader.php

    r13461 r13652  
    44 *
    55 * @since 3.0.0
    6  * @version 6.0.0
     6 * @version 12.0.0
    77 */
    88
     
    8181        add_action( 'dynamic_sidebar_before', array( $this, 'user_home_sidebar_set' ), 10, 1 );
    8282        add_action( 'dynamic_sidebar_after', array( $this, 'user_home_sidebar_unset' ), 10, 1 );
     83
     84        // Priority navs for Block Themes.
     85        add_action( 'bp_member_primary_nav', 'bp_nouveau_hidden_primary_nav' );
     86        add_action( 'bp_member_secondary_nav', 'bp_nouveau_hidden_secondary_nav' );
    8387    }
    8488
  • trunk/src/bp-templates/bp-nouveau/includes/members/template-tags.php

    r13504 r13652  
    10211021    <?php
    10221022}
     1023
     1024/**
     1025 * Customize the way to output the Members' loop member latest activities.
     1026 *
     1027 * @since 12.0.0
     1028 *
     1029 * @param string $activity_content Formatted latest update for current member.
     1030 * @param array  $args             Array of parsed arguments.
     1031 * @param array  $latest_update    Array of the latest activity data.
     1032 * @return string The formatted latest update for current member.
     1033 */
     1034function bp_nouveau_get_member_latest_update( $activity_content = '', $args = array(), $latest_update = array() ) {
     1035    if ( ! isset( $latest_update['content'], $latest_update['excerpt'], $latest_update['permalink'] ) ) {
     1036        return $activity_content;
     1037    }
     1038
     1039    if ( strlen( $latest_update['excerpt'] ) < strlen( $latest_update['content'] ) ) {
     1040        return sprintf(
     1041            '%1$s<span class="activity-read-more"><a href="%2$s" rel="nofollow">%3$s</a></span>',
     1042            esc_html( $latest_update['excerpt'] ) . "\n",
     1043            esc_url( $latest_update['permalink'] ),
     1044            esc_html__( 'View full conversation', 'buddypress' )
     1045        );
     1046    }
     1047
     1048    return esc_html( $latest_update['excerpt'] );
     1049}
     1050add_filter( 'bp_get_member_latest_update', 'bp_nouveau_get_member_latest_update', 10, 3 );
  • trunk/src/bp-templates/bp-nouveau/includes/template-tags.php

    r13529 r13652  
    15731573        $component  = bp_current_component();
    15741574        $bp_nouveau = bp_nouveau();
     1575        $object     = '';
    15751576
    15761577        // @todo wasn't able to get $customizer_option to pass a string to get_settings
    15771578        // this is a temp workaround but differs from earlier dir approach- bad!
    15781579        if ( bp_is_group() ) {
     1580            $object   = 'group';
    15791581            $nav_tabs = (int) bp_nouveau_get_temporary_setting( 'group_nav_tabs', bp_nouveau_get_appearance_settings( 'group_nav_tabs' ) );
    15801582
    15811583        } elseif ( bp_is_user() ) {
     1584            $object   = 'member';
    15821585            $nav_tabs = (int) bp_nouveau_get_temporary_setting( 'user_nav_tabs', bp_nouveau_get_appearance_settings( 'user_nav_tabs' ) );
     1586        }
     1587
     1588        if ( $object && bp_nouveau_single_item_supports_priority_nav( $object ) ) {
     1589            $classes[] = 'bp-priority-nav';
    15831590        }
    15841591
     
    16481655        // Set user or group class string
    16491656        if ( bp_is_user() ) {
     1657            $object    = 'member';
    16501658            $classes[] = 'user-subnav';
    16511659        }
    16521660
    16531661        if ( bp_is_group() ) {
     1662            $object    = 'group';
    16541663            $classes[] = 'group-subnav';
     1664        }
     1665
     1666        if ( $object && bp_nouveau_single_item_supports_priority_nav( $object ) ) {
     1667            $classes[] = 'bp-priority-nav';
    16551668        }
    16561669
     
    27372750    return $retval;
    27382751}
     2752
     2753/**
     2754 * Displays an ellipsis to show hidden primary nav items.
     2755 *
     2756 * @since 12.0.0
     2757 */
     2758function bp_nouveau_hidden_primary_nav() {
     2759    $object = bp_nouveau_get_current_priority_nav_object();
     2760
     2761    if ( ! $object || ! bp_nouveau_single_item_supports_priority_nav( $object ) ) {
     2762        return '';
     2763    }
     2764?>
     2765    <div class="primary-nav-more">
     2766        <ul class="bp-priority-object-nav-nav-items">
     2767            <li class="primary-nav-item primary-nav-item-has-children">
     2768                <button class="submenu-expand bp-priority-nav-more-toggle is-empty" tabindex="-1" aria-label="<?php esc_attr_e( 'More', 'buddypress' ); ?>" aria-haspopup="true" aria-expanded="false">
     2769                    <span class="dashicons dashicons-ellipsis"></span>
     2770                </button>
     2771                <ul class="sub-menu hidden-items"></ul>
     2772            </li>
     2773        </ul>
     2774    </div>
     2775<?php
     2776}
     2777
     2778/**
     2779 * Displays an ellipsis to show hidden secondary nav items.
     2780 *
     2781 * @since 12.0.0
     2782 */
     2783function bp_nouveau_hidden_secondary_nav() {
     2784    $object = bp_nouveau_get_current_priority_nav_object();
     2785
     2786    if ( ! $object || ! bp_nouveau_single_item_supports_priority_nav( $object ) ) {
     2787        return '';
     2788    }
     2789?>
     2790    <div class="secondary-nav-more">
     2791        <ul class="bp-priority-subnav-nav-items">
     2792            <li class="secondary-nav-item secondary-nav-item-has-children">
     2793                <button class="submenu-expand bp-priority-nav-more-toggle is-empty" tabindex="-1" aria-label="<?php esc_attr_e( 'More', 'buddypress' ); ?>" aria-haspopup="true" aria-expanded="false">
     2794                    <span class="dashicons dashicons-ellipsis"></span>
     2795                </button>
     2796                <ul class="sub-menu hidden-items"></ul>
     2797            </li>
     2798        </ul>
     2799    </div>
     2800<?php
     2801}
Note: See TracChangeset for help on using the changeset viewer.