Skip to content

Commit df34033

Browse files
committed
Expose widget-IDs to JS
1 parent 5841acd commit df34033

2 files changed

Lines changed: 27 additions & 11 deletions

File tree

classes/admin/widgets/class-suggested-tasks.php

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,25 @@ public function get_score() {
5151
/**
5252
* Get previous month badge.
5353
*
54-
* @return \Progress_Planner\Badges\Monthly|null
54+
* @return \Progress_Planner\Badges\Monthly[]
5555
*/
56-
public function get_previous_incomplete_month_badge() {
56+
public function get_previous_incomplete_month_badges() {
57+
$previous_incomplete_month_badges = [];
58+
5759
$minus_one_month = ( new DateTime() )->modify( 'first day of previous month' );
5860
$minus_one_month_badge = Monthly::get_instance_from_id( Monthly::get_badge_id_from_date( $minus_one_month ) );
5961
if ( $minus_one_month_badge && $minus_one_month_badge->progress_callback()['progress'] < 100 ) {
60-
return $minus_one_month_badge;
62+
$previous_incomplete_month_badges[] = $minus_one_month_badge;
6163
}
6264

6365
$minus_two_months = ( new DateTime() )->modify( 'first day of previous month' )->modify( 'first day of previous month' );
6466
$minus_two_months_badge = Monthly::get_instance_from_id( Monthly::get_badge_id_from_date( $minus_two_months ) );
6567
if ( $minus_two_months_badge && $minus_two_months_badge->progress_callback()['progress'] < 100 ) {
66-
return $minus_two_months_badge;
68+
$previous_incomplete_month_badges[] = $minus_two_months_badge;
6769
}
6870

69-
return null;
71+
72+
return $previous_incomplete_month_badges;
7073
}
7174

7275
/**
@@ -81,6 +84,19 @@ public function enqueue_scripts() {
8184
\progress_planner()->get_admin__enqueue()->enqueue_script(
8285
'widgets/suggested-tasks-badge-scroller',
8386
);
87+
88+
$previous_incomplete_month_badges = [];
89+
foreach ( $this->get_previous_incomplete_month_badges() as $badge ) {
90+
$previous_incomplete_month_badges[] = $badge->get_id();
91+
}
92+
93+
\wp_localize_script(
94+
'progress-planner/widgets/suggested-tasks',
95+
'prplSuggestedTasksWidgetData',
96+
[
97+
'previous_incomplete_month_badges' => $previous_incomplete_month_badges,
98+
]
99+
);
84100
}
85101

86102
/**

views/page-widgets/suggested-tasks.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,26 +61,26 @@
6161
</span>
6262
</div>
6363

64-
<?php if ( $prpl_widget->get_previous_incomplete_month_badge() ) : ?>
64+
<?php if ( ! empty( $prpl_widget->get_previous_incomplete_month_badges() ) ) : ?>
6565
<h3><?php \esc_html_e( 'Oh no! You missed the previous monthly badge!', 'progress-planner' ); ?></h3>
6666
<p><?php echo \wp_kses( __( 'No worries though! <strong>Collect the surplus of points</strong> you earn, and get your badge!', 'progress-planner' ), [ 'strong' => [] ] ); ?></p>
6767
<div id="prpl-previous-month-badge-progress-bar" style="padding: 1rem 0; background-color: var(--prpl-background-orange); border-radius: 0.5rem; padding: 1rem;">
6868
<prpl-badge-progress-bar
69-
data-badge-id="<?php echo esc_attr( $prpl_widget->get_previous_incomplete_month_badge()->get_id() ); ?>"
70-
data-points="<?php echo (int) $prpl_widget->get_previous_incomplete_month_badge()->progress_callback()['points']; ?>"
69+
data-badge-id="<?php echo esc_attr( $prpl_widget->get_previous_incomplete_month_badges()[0]->get_id() ); ?>"
70+
data-points="<?php echo (int) $prpl_widget->get_previous_incomplete_month_badges()[0]->progress_callback()['points']; ?>"
7171
data-max-points="<?php echo (int) Monthly::TARGET_POINTS; ?>"
7272
></prpl-badge-progress-bar>
7373

7474
<div class="prpl-widget-content-points">
7575
<span id="prpl-widget-previous-ravi-points-number" class="prpl-widget-content-points-number">
76-
<?php echo (int) $prpl_widget->get_previous_incomplete_month_badge()->progress_callback()['points']; ?>pt
76+
<?php echo (int) $prpl_widget->get_previous_incomplete_month_badges()[0]->progress_callback()['points']; ?>pt
7777
</span>
78-
<span id="prpl-previous-month-badge-progress-bar-remaining" data-remaining="<?php echo (int) $prpl_widget->get_previous_incomplete_month_badge()->progress_callback()['remaining']; ?>">
78+
<span id="prpl-previous-month-badge-progress-bar-remaining" data-remaining="<?php echo (int) $prpl_widget->get_previous_incomplete_month_badges()[0]->progress_callback()['remaining']; ?>">
7979
<?php
8080
printf(
8181
/* translators: %d: The number of points. */
8282
\esc_html__( 'Only %d more points to go', 'progress-planner' ),
83-
(int) $prpl_widget->get_previous_incomplete_month_badge()->progress_callback()['remaining']
83+
(int) $prpl_widget->get_previous_incomplete_month_badges()[0]->progress_callback()['remaining']
8484
);
8585
?>
8686
</span>

0 commit comments

Comments
 (0)