Skip to content

Commit ca7de38

Browse files
committed
Prevent duplicate subpage menu items render
1 parent 2741b5b commit ca7de38

2 files changed

Lines changed: 17 additions & 22 deletions

File tree

assets/src/js/frontend/learning-area/sidebar.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,12 @@ interface ResetProgressResponse {
2424
};
2525
}
2626

27-
export const sidebarComponent = ({
28-
isCollapsed,
29-
courseId,
30-
resetModalId,
31-
}: {
32-
isCollapsed: boolean;
33-
courseId: number;
34-
resetModalId: string;
35-
}) => {
27+
export const sidebarComponent = ({ courseId, resetModalId }: { courseId: number; resetModalId: string }) => {
3628
const { query, modal, toast } = window.TutorCore;
3729

3830
return {
3931
pagesHeight: 0,
4032
resizing: false,
41-
collapsed: isCollapsed,
4233
sidebarOpen: false,
4334
courseId: courseId,
4435
resetModalId: resetModalId,

templates/learning-area/components/sidebar.php

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
?>
5454
<div
5555
class="tutor-learning-sidebar"
56-
x-data="tutorLearningSidebar({ isCollapsed: <?php echo empty( $active_menu ) ? 'true' : 'false'; ?>, courseId: <?php echo (int) $tutor_course->ID; ?>, resetModalId: '<?php echo esc_attr( $reset_modal_id ); ?>' })"
56+
x-data="tutorLearningSidebar({ courseId: <?php echo (int) $tutor_course->ID; ?>, resetModalId: '<?php echo esc_attr( $reset_modal_id ); ?>' })"
5757
x-trap.noscroll="sidebarOpen"
5858
:class="{ 'is-open': sidebarOpen }"
5959
@click.outside="closeSidebar()"
@@ -193,14 +193,16 @@ class="tutor-learning-nav-topic <?php echo esc_attr( $is_topic_active ? 'active'
193193
?>
194194
</div>
195195
</div>
196-
<div class="tutor-learning-sidebar-pages" :class="{ 'expanded': !collapsed }">
197-
<div class="tutor-sidebar-resizer" x-show="!collapsed" @mousedown="startResizing($event)" x-cloak></div>
198-
<div class="tutor-sidebar-restore-dropdown" x-show="!collapsed" x-cloak>
199-
<button :class="{ 'is-minimized': pagesHeight <= 40 }" @click="togglePagesHeight()">
200-
<?php SvgIcon::make()->name( Icon::CHEVRON_DOWN_2 )->render(); ?>
201-
</button>
202-
</div>
203-
<div class="tutor-learning-pages" x-ref="pagesList" :class="{ 'is-resizing': resizing }" :style="!collapsed && { height: pagesHeight + 'px' }">
196+
<div class="tutor-learning-sidebar-pages <?php echo ! empty( $active_menu ) ? 'expanded' : ''; ?>">
197+
<?php if ( ! empty( $active_menu ) ) : ?>
198+
<div class="tutor-sidebar-resizer" @mousedown="startResizing($event)"></div>
199+
<div class="tutor-sidebar-restore-dropdown">
200+
<button :class="{ 'is-minimized': pagesHeight <= 40 }" @click="togglePagesHeight()">
201+
<?php SvgIcon::make()->name( Icon::CHEVRON_DOWN_2 )->render(); ?>
202+
</button>
203+
</div>
204+
<?php endif; ?>
205+
<div class="tutor-learning-pages" x-ref="pagesList" :class="{ 'is-resizing': resizing }" <?php echo ! empty( $active_menu ) ? ':style="{ height: pagesHeight + \'px\' }"' : ''; ?>>
204206
<?php
205207
ob_start();
206208
foreach ( $menu_items as $key => $item ) {
@@ -229,7 +231,8 @@ class="tutor-learning-pages-item <?php echo esc_attr( $active_class ); ?>"
229231
$menu_html = ob_get_clean();
230232
?>
231233

232-
<div x-show="collapsed" x-cloak>
234+
<?php if ( empty( $active_menu ) ) : ?>
235+
<div>
233236
<?php
234237
$allowed_html = wp_kses_allowed_html( 'post' );
235238
if ( isset( $allowed_html['a'] ) ) {
@@ -251,10 +254,11 @@ class="tutor-learning-pages-item <?php echo esc_attr( $active_class ); ?>"
251254
->render();
252255
?>
253256
</div>
254-
255-
<div x-show="!collapsed" x-cloak>
257+
<?php else : ?>
258+
<div>
256259
<?php echo $menu_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
257260
</div>
261+
<?php endif; ?>
258262
</div>
259263
</div>
260264
<div class="tutor-hidden tutor-md-flex tutor-flex-column tutor-gap-2">

0 commit comments

Comments
 (0)