fix(frontend): keep asset and homepage filters in DOM
This commit is contained in:
1 parent
a0adddce59
commit
7308f055c7
23 files changed
+362
-305
No files matched your search
@@ -114,9 +114,7 @@ class GlobalController extends ControllerBase {
|
||||
'page' => ['type' => 'integer', 'default' => 1, 'sanitize_callback' => 'absint'],
|
||||
'per_page' => ['type' => 'integer', 'default' => 10, 'sanitize_callback' => 'absint'],
|
||||
'sort' => ['type' => 'string', 'default' => 'modified', 'sanitize_callback' => 'sanitize_text_field'],
|
||||
'page_url' => ['type' => 'string', 'default' => '', 'sanitize_callback' => 'esc_url_raw'],
|
||||
'panel' => ['type' => 'string', 'default' => 'latest', 'sanitize_callback' => 'sanitize_key'],
|
||||
'source' => ['type' => 'string', 'default' => 'home', 'sanitize_callback' => 'sanitize_key'],
|
||||
'tab_orderby' => ['type' => 'string', 'default' => '', 'sanitize_callback' => 'sanitize_key'],
|
||||
],
|
||||
]);
|
||||
|
||||
@@ -479,7 +479,6 @@ trait ScriptsPart1c {
|
||||
'commentPaginationMode' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_comment_pagination_mode() : 'numbered',
|
||||
'homepagePostsPerPage' => function_exists('aksrt_homepage_get_tab_posts_per_page') ? aksrt_homepage_get_tab_posts_per_page() : (int) get_option('posts_per_page'),
|
||||
'homepageDefaultSort' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_default_sort() : 'modified',
|
||||
'homepageSortAjax' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_sort_ajax_enabled() : true,
|
||||
'homepageStickyTabs' => class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::homepage_sticky_tabs_enabled() : true,
|
||||
'homePostsListEnabled' => !class_exists('\AKSRT\Settings\Settings') || \AKSRT\Settings\Settings::home_posts_list_enabled(),
|
||||
'homeListSortEnabled' => !class_exists('\AKSRT\Settings\Settings') || \AKSRT\Settings\Settings::home_list_sort_enabled(),
|
||||
|
||||
@@ -175,10 +175,6 @@ class HomeCms {
|
||||
return $settings['home_list1_orderby_option']['lists'][0] ?? 'modified';
|
||||
}
|
||||
|
||||
public static function homepage_sort_ajax_enabled(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function homepage_sticky_tabs_enabled(): bool {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -68,13 +68,6 @@ trait HomepageReader {
|
||||
return HomeCms::homepage_default_sort();
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the homepage sortbar should refresh through AJAX.
|
||||
*/
|
||||
public static function homepage_sort_ajax_enabled(): bool {
|
||||
return HomeCms::homepage_sort_ajax_enabled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the homepage tabs should use sticky/affix behaviour.
|
||||
*/
|
||||
|
||||
+24
-1
@@ -46,6 +46,16 @@ class Center {
|
||||
return preg_match('/^[a-z0-9_-]+$/', (string) $value) === 1;
|
||||
},
|
||||
],
|
||||
'asset' => [
|
||||
'type' => 'string',
|
||||
'default' => '',
|
||||
'sanitize_callback' => 'sanitize_key',
|
||||
],
|
||||
'page' => [
|
||||
'type' => 'integer',
|
||||
'default' => 1,
|
||||
'sanitize_callback' => 'absint',
|
||||
],
|
||||
],
|
||||
]);
|
||||
}
|
||||
@@ -68,6 +78,17 @@ class Center {
|
||||
return new \WP_Error('aksrt_user_center_context', __('用户中心数据加载失败', 'aksrt'), ['status' => 500]);
|
||||
}
|
||||
|
||||
$asset_request = [];
|
||||
if ($tab === 'credits') {
|
||||
$asset = sanitize_key((string) $request->get_param('asset'));
|
||||
$asset = in_array($asset, ['balance', 'points'], true) ? $asset : '';
|
||||
$asset_request = [
|
||||
'asset' => $asset,
|
||||
'page' => max(1, min(100, (int) $request->get_param('page'))),
|
||||
];
|
||||
$context['asset_request'] = $asset_request;
|
||||
}
|
||||
|
||||
$income_request = [];
|
||||
if ($tab === 'creator') {
|
||||
$income_request = [
|
||||
@@ -104,7 +125,9 @@ class Center {
|
||||
'reward_tab' => $revenue_request['reward_tab'] ?? '',
|
||||
'creator_income' => $income_request,
|
||||
'commission_page' => $revenue_request['commission_page'] ?? 1,
|
||||
'user_page' => $revenue_request['user_page'] ?? 1,
|
||||
'user_page' => $revenue_request['user_page'] ?? 1,
|
||||
'asset' => $asset_request['asset'] ?? '',
|
||||
'asset_page' => $asset_request['page'] ?? 1,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user