PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.5
Tutor LMS – eLearning and online course solution v4.0.5
4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / dashboard / components / sidebar-nav-mobile.php
tutor / templates / dashboard / components Last commit date
header.php 1 month ago profile-completion.php 1 month ago quiz-attempt-row.php 1 month ago sidebar-nav-mobile.php 2 days ago sidebar.php 1 month ago
sidebar-nav-mobile.php
180 lines
1 <?php
2 /**
3 * Tutor dashboard nav mobile.
4 *
5 * @package Tutor\Templates
6 * @author Themeum <support@themeum.com>
7 * @link https://www.themeum.com/
8 * @since 4.0.0
9 */
10
11 defined( 'ABSPATH' ) || exit;
12
13 use Tutor\Components\Avatar;
14 use Tutor\Components\Constants\Size;
15 use TUTOR\Icon;
16 use Tutor\Components\SvgIcon;
17 use TUTOR\Dashboard;
18
19 $dashboard_pages = $dashboard_pages ?? array();
20 $dashboard_page_slug = $dashboard_page_slug ?? '';
21
22 if ( ! tutor_utils()->count( $dashboard_pages ) ) {
23 return;
24 }
25
26 $active_nav = '';
27 $visible_nav_items = array_slice( $dashboard_pages, 0, 2, true );
28 $more_nav_items = array_slice( $dashboard_pages, 2, null, true );
29
30 // Insert the Explore link after the first visible navigation item.
31 $explore_nav_item = array(
32 'title' => __( 'Explore', 'tutor' ),
33 'icon' => Icon::EXPLORE,
34 'url' => tutor_utils()->course_archive_page_url(),
35 );
36
37 $visible_nav_items = array_slice( $visible_nav_items, 0, 1, true ) +
38 array( 'explore' => $explore_nav_item ) +
39 array_slice( $visible_nav_items, 1, null, true );
40
41 ?>
42 <div class="tutor-dashboard-nav-mobile" role="navigation">
43 <ul class="tutor-dashboard-nav-mobile-list">
44 <?php
45 foreach ( $visible_nav_items as $key => $item ) {
46 if ( 'index' === $key ) {
47 $key = '';
48 }
49
50 $menu_title = $item;
51 $menu_link = tutor_utils()->get_tutor_dashboard_page_permalink( $key );
52 $menu_icon_name = '';
53 $active_icon_name = '';
54
55 if ( is_array( $item ) ) {
56 $menu_title = tutor_utils()->array_get( 'title', $item );
57 $menu_icon_name = tutor_utils()->array_get( 'icon', $item, ( isset( $item['icon'] ) ? $item['icon'] : '' ) );
58 $active_icon_name = tutor_utils()->array_get( 'active_icon', $item, ( isset( $item['active_icon'] ) ? $item['active_icon'] : $menu_icon_name ) );
59
60 // Add new menu item property "url" for custom link.
61 if ( isset( $item['url'] ) ) {
62 $menu_link = $item['url'];
63 }
64 }
65
66 $is_active_menu = $key === $dashboard_page_slug;
67 $active_class = $is_active_menu ? 'active' : '';
68 $menu_link = apply_filters( 'tutor_dashboard_menu_link', $menu_link, $menu_title );
69 ?>
70 <li>
71 <a class="<?php echo esc_attr( $active_class ); ?>" href="<?php echo esc_url( $menu_link ?? '#' ); ?>">
72 <span class="tutor-dashboard-nav-mobile-icon">
73 <?php
74 SvgIcon::make()
75 ->name( ( $is_active_menu && ! tutor_utils()->is_kids_mode() ) ? $active_icon_name : $menu_icon_name )
76 ->size( Size::SIZE_20 )
77 ->render();
78 ?>
79 </span>
80 <span class="tutor-tiny tutor-dashboard-nav-mobile-text"><?php echo esc_html( $menu_title ); ?></span>
81 </a>
82 </li>
83 <?php
84 }
85 ?>
86 <li>
87 <a href="<?php echo esc_url( Dashboard::get_account_page_url( 'profile' ) ); ?>">
88 <div class="tutor-dashboard-nav-mobile-icon">
89 <?php
90 Avatar::make()
91 ->user( get_current_user_id() )
92 ->size( Size::SIZE_20 )
93 ->render();
94 ?>
95 </div>
96 <span class="tutor-tiny tutor-dashboard-nav-mobile-text"><?php esc_html_e( 'Profile', 'tutor' ); ?></span>
97 </a>
98 </li>
99 <?php
100 if ( tutor_utils()->count( $more_nav_items ) ) :
101 ?>
102 <li x-data="tutorPopover({ placement: 'top-end', offset: 16 })">
103 <button
104 type="button"
105 x-ref="trigger"
106 @click="toggle()"
107 :aria-expanded="open ? 'true' : 'false'"
108 aria-haspopup="true"
109 >
110 <span class="tutor-dashboard-nav-mobile-icon">
111 <?php SvgIcon::make()->name( Icon::ELLIPSES )->size( 20 )->render(); ?>
112 </span>
113 <span class="tutor-tiny tutor-dashboard-nav-mobile-text"><?php esc_html_e( 'More', 'tutor' ); ?></span>
114 </button>
115 <!-- Popover panel -->
116 <div
117 x-ref="content"
118 x-show="open"
119 x-cloak
120 @click.outside="handleClickOutside()"
121 class="tutor-popover tutor-dashboard-nav-mobile-more-popover"
122 role="menu"
123 aria-label="<?php echo esc_attr( $item['title'] ); ?>"
124 x-transition.origin.bottom.right
125 >
126 <ul>
127 <?php
128 foreach ( $more_nav_items as $key => $item ) {
129 $menu_title = $item;
130 $menu_link = tutor_utils()->get_tutor_dashboard_page_permalink( $key );
131 $menu_icon_name = '';
132 $active_icon_name = '';
133
134 if ( is_array( $item ) ) {
135 $menu_title = tutor_utils()->array_get( 'title', $item );
136 $menu_icon_name = tutor_utils()->array_get( 'icon', $item, ( isset( $item['icon'] ) ? $item['icon'] : '' ) );
137 $active_icon_name = tutor_utils()->array_get( 'active_icon', $item, ( isset( $item['active_icon'] ) ? $item['active_icon'] : $menu_icon_name ) );
138
139 // Add new menu item property "url" for custom link.
140 if ( isset( $item['url'] ) ) {
141 $menu_link = $item['url'];
142 }
143 }
144
145 $is_active_menu = $key === $dashboard_page_slug;
146 $active_class = $is_active_menu ? 'active' : '';
147 $menu_link = apply_filters( 'tutor_dashboard_menu_link', $menu_link, $menu_title );
148 ?>
149 <li role="none">
150 <a role="menuitem" class="<?php echo esc_attr( $active_class ); ?>" href="<?php echo esc_url( $menu_link ?? '#' ); ?>" @click="open = false">
151 <?php
152 SvgIcon::make()
153 ->name( ( $is_active_menu && ! tutor_utils()->is_kids_mode() ) ? $active_icon_name : $menu_icon_name )
154 ->size( tutor_utils()->is_kids_mode() ? Size::SIZE_20 : Size::SIZE_16 )
155 ->render();
156 ?>
157 <span class="tutor-tiny"><?php echo esc_html( $menu_title ); ?></span>
158 </a>
159 </li>
160 <?php
161 }
162 ?>
163 <li class="tutor-dashboard-nav-mobile-more-back" role="none">
164 <a role="menuitem" href="<?php echo esc_url( home_url( '/' ) ); ?>" @click="open = false">
165 <?php
166 SvgIcon::make()
167 ->name( Icon::BACK_2 )
168 ->size( tutor_utils()->is_kids_mode() ? Size::SIZE_20 : Size::SIZE_16 )
169 ->render();
170 ?>
171 <span class="tutor-tiny"><?php esc_html_e( 'Back to Site', 'tutor' ); ?></span>
172 </a>
173 </li>
174 </nav>
175 </div>
176 </li>
177 <?php endif ?>
178 </ul>
179 </div>
180