Skip to content

Commit 9d324f9

Browse files
committed
DropdownFilter component added for billing page
1 parent 018cb33 commit 9d324f9

2 files changed

Lines changed: 31 additions & 57 deletions

File tree

templates/dashboard/account/billing/order-history-filters.php

Lines changed: 30 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -14,69 +14,45 @@
1414
use Tutor\Components\Button;
1515
use Tutor\Components\Constants\Variant;
1616
use Tutor\Components\DateFilter;
17+
use Tutor\Components\DropdownFilter;
1718
use Tutor\Components\Sorting;
1819
use TUTOR\Dashboard;
1920
use Tutor\Ecommerce\OrderController;
20-
use TUTOR\Icon;
2121
use TUTOR\Input;
2222

2323
$filter_options = ( new OrderController( false ) )->tabs_key_value( 'dashboard' );
2424

25-
$selected = array_filter(
26-
$filter_options,
27-
function( $item ) use ( $selected_filter ) {
28-
return $item['key'] === $selected_filter || ( empty( $item['key'] ) && 'all' === $selected_filter );
29-
}
25+
$dropdown_options = array_map(
26+
function( $filter ) use ( $selected_filter ) {
27+
$key = $filter['key'] ?? '';
28+
return array(
29+
'label' => $filter['title'],
30+
'value' => $key,
31+
'count' => (int) $filter['value'],
32+
'url' => $filter['url'],
33+
'active' => $key === $selected_filter || ( empty( $key ) && 'all' === $selected_filter ),
34+
);
35+
},
36+
$filter_options
3037
);
31-
32-
$selected = count( $selected ) ? reset( $selected ) : $filter_options[0];
3338
?>
34-
<div x-data="tutorPopover({ placement: 'bottom-start', offset: 4 })">
35-
<button x-ref="trigger" @click="toggle()" class="tutor-btn tutor-btn-link tutor-btn-x-small tutor-p-none tutor-gap-2">
36-
<?php echo esc_html( $selected['title'] . ' (' . $selected['value'] . ')' ); ?>
37-
<?php tutor_utils()->render_svg_icon( Icon::CHEVRON_DOWN, 16, 16, array( 'class' => 'tutor-icon-secondary' ) ); ?>
38-
</button>
39-
40-
<div
41-
x-ref="content"
42-
x-cloak
43-
x-show="open"
44-
@click.outside="handleClickOutside()"
45-
class="tutor-popover"
46-
>
47-
<div class="tutor-popover-menu" style="width: 120px;">
48-
<?php foreach ( $filter_options as $filter ) : ?>
49-
<a href="<?php echo esc_url( $filter['url'] ); ?>" class="tutor-popover-menu-item tutor-popover-menu-item-active">
50-
<?php
51-
printf(
52-
// translators: %1$s - Filter label, %2$d - Number of orders.
53-
esc_html__( '%1$s (%2$d)', 'tutor' ),
54-
esc_html( $filter['title'] ),
55-
esc_html( $filter['value'] )
56-
);
57-
?>
58-
</a>
59-
<?php endforeach; ?>
60-
</div>
61-
</div>
62-
</div>
63-
<div class="tutor-qna-filter-right">
64-
<div class="tutor-flex tutor-items-center tutor-gap-3">
65-
<?php
66-
$query_params = array( 'data', 'order', 'start_date', 'end_date' );
67-
if ( Input::has_any( $query_params, Input::GET_REQUEST ) ) {
68-
Button::make()
69-
->tag( 'a' )
70-
->attr( 'href', Dashboard::get_account_page_url( 'billing' ) )
71-
->attr( 'class', 'tutor-text-brand' )
72-
->label( __( 'Clear all', 'tutor' ) )
73-
->variant( Variant::LINK )
74-
->render();
75-
}
39+
<div class="tutor-flex tutor-items-center tutor-justify-between tutor-px-6 tutor-py-5 tutor-border-b">
40+
<?php DropdownFilter::make()->options( $dropdown_options )->render(); ?>
41+
<div class="tutor-flex tutor-items-center tutor-gap-3">
42+
<?php
43+
$query_params = array( 'data', 'order', 'start_date', 'end_date' );
44+
if ( Input::has_any( $query_params, Input::GET_REQUEST ) ) {
45+
Button::make()
46+
->tag( 'a' )
47+
->attr( 'href', Dashboard::get_account_page_url( 'billing' ) )
48+
->attr( 'class', 'tutor-text-brand' )
49+
->label( __( 'Clear all', 'tutor' ) )
50+
->variant( Variant::LINK )
51+
->render();
52+
}
7653

77-
DateFilter::make()->type( DateFilter::TYPE_RANGE )->placement( 'bottom-end' )->render();
78-
Sorting::make()->order( $order_filter )->render();
79-
?>
80-
</div>
54+
DateFilter::make()->type( DateFilter::TYPE_RANGE )->placement( 'bottom-end' )->render();
55+
Sorting::make()->order( $order_filter )->render();
56+
?>
8157
</div>
8258
</div>

templates/dashboard/account/billing/order-history.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@
3232
}
3333
?>
3434

35-
<div class="tutor-flex tutor-justify-between tutor-px-6 tutor-py-5 tutor-border-b">
36-
<?php require_once tutor_get_template( 'dashboard.account.billing.order-history-filters' ); ?>
37-
</div>
35+
<?php require_once tutor_get_template( 'dashboard.account.billing.order-history-filters' ); ?>
3836

3937
<?php
4038
if ( empty( $orders ) ) :

0 commit comments

Comments
 (0)