feat(navigation): hard-switch to Zibll navigation and Font Awesome 5
This commit is contained in:
1 parent
3c3ddac8be
commit
a0b84977a2
630 files changed
+101647
-11293
No files matched your search
@@ -8,91 +8,6 @@ namespace AKSRT\Settings;
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
trait FacadeBulk {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Header navigation display settings.
|
||||
*
|
||||
* @return array{
|
||||
* fixed:bool,search_enabled:bool,user_menu:bool,publish_btn:bool,mobile_drawer:bool,
|
||||
* nav_style:string,max_width:int,scroll_down_hide:bool,layout:string,mobile_layout:string,
|
||||
* mobile_align:string,nav_pay_vip:bool,nav_user_pay_vip:bool
|
||||
* }
|
||||
*/
|
||||
public static function get_header_nav_settings(): array {
|
||||
$settings = self::get_all();
|
||||
$nav_style = sanitize_key((string) ($settings['header_nav_style'] ?? 'default'));
|
||||
$max_width = (int) ($settings['header_max_width'] ?? 1200);
|
||||
$layout = sanitize_key((string) ($settings['header_layout'] ?? '1'));
|
||||
$ml = sanitize_key((string) ($settings['mobile_header_layout'] ?? 'center'));
|
||||
$ma = sanitize_key((string) ($settings['mobile_navbar_align'] ?? 'left'));
|
||||
|
||||
if (!in_array($nav_style, ['default', 'transparent', 'blur'], true)) {
|
||||
$nav_style = 'default';
|
||||
}
|
||||
|
||||
if (!in_array($max_width, [0, 1080, 1200, 1320], true)) {
|
||||
$max_width = 1200;
|
||||
}
|
||||
|
||||
return [
|
||||
'fixed' => !isset($settings['header_fixed']) || !empty($settings['header_fixed']),
|
||||
'search_enabled' => !isset($settings['header_search_enabled']) || !empty($settings['header_search_enabled']),
|
||||
'user_menu' => !isset($settings['header_user_menu']) || !empty($settings['header_user_menu']),
|
||||
// Unified with header_newposts_enabled (zibll nav_newposts).
|
||||
'publish_btn' => !isset($settings['header_newposts_enabled']) || !empty($settings['header_newposts_enabled']),
|
||||
'mobile_drawer' => !isset($settings['header_mobile_drawer']) || !empty($settings['header_mobile_drawer']),
|
||||
'nav_style' => $nav_style,
|
||||
'max_width' => $max_width,
|
||||
// Zibll default: true when fixed.
|
||||
'scroll_down_hide' => !isset($settings['header_scroll_down_hide']) || !empty($settings['header_scroll_down_hide']),
|
||||
'layout' => in_array($layout, ['1', '2', '3'], true) ? $layout : '1',
|
||||
'mobile_layout' => in_array($ml, ['center', 'left'], true) ? $ml : 'center',
|
||||
'mobile_align' => in_array($ma, ['top', 'left', 'right'], true) ? $ma : 'left',
|
||||
'nav_pay_vip' => !isset($settings['header_nav_pay_vip']) || !empty($settings['header_nav_pay_vip']),
|
||||
'nav_user_pay_vip' => !isset($settings['header_nav_user_pay_vip']) || !empty($settings['header_nav_user_pay_vip']),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Header publish button configuration.
|
||||
*
|
||||
* @return array{enabled:bool,text:string,radius:int,class:string,types:string[]}
|
||||
*/
|
||||
public static function get_header_newposts_config(): array {
|
||||
$s = self::get_all();
|
||||
|
||||
$types = [];
|
||||
if (!empty($s['header_newposts_types']) && is_array($s['header_newposts_types'])) {
|
||||
$types = array_values(array_intersect(array_map('sanitize_key', $s['header_newposts_types']), ['post']));
|
||||
}
|
||||
|
||||
// zibll nav_newposts_radius is bool pill; map true→20px, false→0. Legacy int still accepted once.
|
||||
$raw_radius = $s['header_newposts_radius'] ?? true;
|
||||
if (is_bool($raw_radius) || $raw_radius === '0' || $raw_radius === '1' || $raw_radius === 0 || $raw_radius === 1) {
|
||||
$radius_px = !empty($raw_radius) ? 20 : 0;
|
||||
$radius_pill = !empty($raw_radius);
|
||||
} else {
|
||||
$radius_px = max(0, min(30, (int) $raw_radius));
|
||||
$radius_pill = $radius_px >= 16;
|
||||
}
|
||||
|
||||
return [
|
||||
// Default on like zibll nav_newposts when key unset.
|
||||
'enabled' => !isset($s['header_newposts_enabled']) || !empty($s['header_newposts_enabled']),
|
||||
'text' => trim((string) ($s['header_newposts_text'] ?? '<i class="fa fa-pencil"></i> 发布')),
|
||||
'radius' => $radius_px,
|
||||
'radius_pill' => $radius_pill,
|
||||
'class' => sanitize_html_class((string) (($s['header_newposts_class'] ?? '') !== '' ? $s['header_newposts_class'] : 'jb-blue')),
|
||||
'types' => $types,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Header theme color configuration.
|
||||
*
|
||||
@@ -102,10 +17,10 @@ trait FacadeBulk {
|
||||
$s = self::get_all();
|
||||
|
||||
return [
|
||||
'custom' => !empty($s['header_theme_custom']),
|
||||
'bg_custom' => sanitize_hex_color((string) ($s['header_theme_bg_custom'] ?? '')) ?: '',
|
||||
'bg' => sanitize_hex_color((string) ($s['header_theme_bg'] ?? '')) ?: '',
|
||||
'color_custom' => sanitize_hex_color((string) ($s['header_theme_color_custom'] ?? '')) ?: '',
|
||||
'custom' => !empty($s['header_theme_custom']),
|
||||
'bg_custom' => sanitize_hex_color((string) ($s['header_theme_bg_custom'] ?? '')) ?: '',
|
||||
'bg' => sanitize_hex_color((string) ($s['header_theme_bg'] ?? '')) ?: '',
|
||||
'color_custom' => sanitize_hex_color((string) ($s['header_theme_color_custom'] ?? '')) ?: '',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user