PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.83
51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / extensions / Site_Preloader / templates / partials / tab-dashboard.php

tab-dashboard.php in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.83, at includes/extensions/Site_Preloader/templates/partials/tab-dashboard.php

207 lines 11.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Site Preloader Dashboard Tab.
4 *
5 * @package King_Addons
6 * @since 1.0.0
7 *
8 * @var array $settings Current settings.
9 * @var bool $is_pro Whether Pro version is active.
10 * @var array $presets Available presets.
11 */
12
13 if (!defined('ABSPATH')) {
14 exit;
15 }
16
17 $current_preset = $settings['template'] ?? 'spinner-circle';
18 $preset_info = $presets[$current_preset] ?? $presets['spinner-circle'];
19 ?>
20
21 <div class="ka-preloader-dashboard">
22 <!-- Quick Stats -->
23 <div class="ka-stats-grid ka-preloader-stats">
24 <div class="ka-stat-card">
25 <div class="ka-stat-label"><?php esc_html_e('Status', 'king-addons'); ?></div>
26 <div class="ka-stat-value <?php echo !empty($settings['enabled']) ? 'good' : ''; ?>">
27 <?php echo !empty($settings['enabled']) ? esc_html__('Active', 'king-addons') : esc_html__('Inactive', 'king-addons'); ?>
28 </div>
29 </div>
30 <div class="ka-stat-card">
31 <div class="ka-stat-label"><?php esc_html_e('Current Template', 'king-addons'); ?></div>
32 <div class="ka-stat-value ka-stat-value--small"><?php echo esc_html($preset_info['title']); ?></div>
33 </div>
34 <div class="ka-stat-card">
35 <div class="ka-stat-label"><?php esc_html_e('Display Mode', 'king-addons'); ?></div>
36 <div class="ka-stat-value ka-stat-value--small">
37 <?php
38 $trigger_labels = [
39 'always' => __('Every Visit', 'king-addons'),
40 'first_visit' => __('First Visit', 'king-addons'),
41 'once_per_session' => __('Once Per Session', 'king-addons'),
42 'once_per_day' => __('Once Per Day', 'king-addons'),
43 ];
44 echo esc_html($trigger_labels[$settings['trigger_type'] ?? 'always']);
45 ?>
46 </div>
47 </div>
48 <div class="ka-stat-card">
49 <div class="ka-stat-label"><?php esc_html_e('Hide After', 'king-addons'); ?></div>
50 <div class="ka-stat-value ka-stat-value--small">
51 <?php
52 $hide_labels = [
53 'window_load' => __('Page Load', 'king-addons'),
54 'dom_ready' => __('DOM Ready', 'king-addons'),
55 'timeout' => __('Timeout', 'king-addons'),
56 ];
57 echo esc_html($hide_labels[$settings['hide_strategy'] ?? 'window_load']);
58 ?>
59 </div>
60 </div>
61 </div>
62
63 <div class="ka-preloader-dashboard__grid">
64 <!-- Quick Enable Card -->
65 <div class="ka-card ka-preloader-quick-enable">
66 <div class="ka-card-body">
67 <div class="ka-preloader-quick-enable__content">
68 <div class="ka-preloader-quick-enable__icon">
69 <span class="dashicons dashicons-<?php echo !empty($settings['enabled']) ? 'yes-alt' : 'controls-play'; ?>"></span>
70 </div>
71 <div class="ka-preloader-quick-enable__text">
72 <h3><?php echo !empty($settings['enabled']) ? esc_html__('Preloader is Active', 'king-addons') : esc_html__('Enable Preloader', 'king-addons'); ?></h3>
73 <p><?php echo !empty($settings['enabled'])
74 ? esc_html__('Your preloader is currently showing on your website.', 'king-addons')
75 : esc_html__('Activate the preloader to display it on your website.', 'king-addons');
76 ?></p>
77 </div>
78 <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="ka-preloader-quick-enable__form">
79 <?php wp_nonce_field('king_addons_site_preloader_save'); ?>
80 <input type="hidden" name="action" value="king_addons_site_preloader_save" />
81 <input type="hidden" name="current_tab" value="dashboard" />
82 <?php foreach ($settings as $key => $value): ?>
83 <?php if ($key !== 'enabled'): ?>
84 <?php if (is_array($value)): ?>
85 <?php foreach ($value as $arr_val): ?>
86 <input type="hidden" name="<?php echo esc_attr($key); ?>[]" value="<?php echo esc_attr($arr_val); ?>" />
87 <?php endforeach; ?>
88 <?php else: ?>
89 <input type="hidden" name="<?php echo esc_attr($key); ?>" value="<?php echo esc_attr($value); ?>" />
90 <?php endif; ?>
91 <?php endif; ?>
92 <?php endforeach; ?>
93 <input type="hidden" name="enabled" value="<?php echo empty($settings['enabled']) ? '1' : '0'; ?>" />
94 <button type="submit" class="ka-btn <?php echo !empty($settings['enabled']) ? 'ka-btn-secondary' : 'ka-btn-primary'; ?>">
95 <?php echo !empty($settings['enabled']) ? esc_html__('Disable', 'king-addons') : esc_html__('Enable', 'king-addons'); ?>
96 </button>
97 </form>
98 </div>
99 </div>
100 </div>
101
102 <!-- Current Preview -->
103 <div class="ka-card ka-preloader-preview-card">
104 <div class="ka-card-header">
105 <span class="dashicons dashicons-visibility"></span>
106 <h2><?php esc_html_e('Current Preview', 'king-addons'); ?></h2>
107 </div>
108 <div class="ka-preloader-preview-area" id="ka-dashboard-preview">
109 <div class="ka-preloader-preview-wrapper" style="<?php echo esc_attr($this->get_preview_styles($settings)); ?>">
110 <?php $this->render_preset_html($current_preset, $settings); ?>
111 </div>
112 </div>
113 <div class="ka-card-footer">
114 <button type="button" class="ka-btn ka-btn-secondary" onclick="kaPreloaderOpenPreview()">
115 <span class="dashicons dashicons-fullscreen-alt"></span>
116 <?php esc_html_e('Full Preview', 'king-addons'); ?>
117 </button>
118 <a href="<?php echo esc_url(add_query_arg('tab', 'templates', admin_url('admin.php?page=king-addons-site-preloader'))); ?>" class="ka-btn ka-btn-primary">
119 <span class="dashicons dashicons-edit"></span>
120 <?php esc_html_e('Change Template', 'king-addons'); ?>
121 </a>
122 </div>
123 </div>
124 </div>
125
126 <!-- Quick Actions -->
127 <div class="ka-card">
128 <div class="ka-card-header">
129 <span class="dashicons dashicons-admin-tools"></span>
130 <h2><?php esc_html_e('Quick Actions', 'king-addons'); ?></h2>
131 </div>
132 <div class="ka-card-body">
133 <div class="ka-preloader-actions">
134 <a href="<?php echo esc_url(add_query_arg('tab', 'settings', admin_url('admin.php?page=king-addons-site-preloader'))); ?>" class="ka-preloader-action-card">
135 <span class="dashicons dashicons-admin-generic"></span>
136 <span class="ka-preloader-action-card__title"><?php esc_html_e('General Settings', 'king-addons'); ?></span>
137 <span class="ka-preloader-action-card__desc"><?php esc_html_e('Configure display rules and behavior', 'king-addons'); ?></span>
138 </a>
139 <a href="<?php echo esc_url(add_query_arg('tab', 'templates', admin_url('admin.php?page=king-addons-site-preloader'))); ?>" class="ka-preloader-action-card">
140 <span class="dashicons dashicons-layout"></span>
141 <span class="ka-preloader-action-card__title"><?php esc_html_e('Choose Template', 'king-addons'); ?></span>
142 <span class="ka-preloader-action-card__desc"><?php esc_html_e('Select from 12 animation presets', 'king-addons'); ?></span>
143 </a>
144 <a href="<?php echo esc_url(add_query_arg('tab', 'rules', admin_url('admin.php?page=king-addons-site-preloader'))); ?>" class="ka-preloader-action-card">
145 <span class="dashicons dashicons-filter"></span>
146 <span class="ka-preloader-action-card__title"><?php esc_html_e('Display Rules', 'king-addons'); ?></span>
147 <span class="ka-preloader-action-card__desc"><?php esc_html_e('Set conditions for different pages', 'king-addons'); ?></span>
148 </a>
149 <a href="<?php echo esc_url(add_query_arg('tab', 'advanced', admin_url('admin.php?page=king-addons-site-preloader'))); ?>" class="ka-preloader-action-card">
150 <span class="dashicons dashicons-admin-settings"></span>
151 <span class="ka-preloader-action-card__title"><?php esc_html_e('Advanced Options', 'king-addons'); ?></span>
152 <span class="ka-preloader-action-card__desc"><?php esc_html_e('Fine-tune timing and CSS', 'king-addons'); ?></span>
153 </a>
154 </div>
155 </div>
156 </div>
157
158 <!-- Pro Features Promo -->
159 <?php if (!$is_pro): ?>
160 <div class="ka-upgrade-card">
161 <h3><?php esc_html_e('Unlock Pro Features', 'king-addons'); ?></h3>
162 <p><?php esc_html_e('Get access to advanced preloader customization options', 'king-addons'); ?></p>
163 <ul>
164 <li><?php esc_html_e('Custom Preloader Builder with layers', 'king-addons'); ?></li>
165 <li><?php esc_html_e('Lottie, SVG, and GIF animations', 'king-addons'); ?></li>
166 <li><?php esc_html_e('Advanced display conditions by role, device, referrer', 'king-addons'); ?></li>
167 <li><?php esc_html_e('Different preloaders for different pages', 'king-addons'); ?></li>
168 <li><?php esc_html_e('AJAX navigation support', 'king-addons'); ?></li>
169 <li><?php esc_html_e('Custom CSS and JS hooks', 'king-addons'); ?></li>
170 <li><?php esc_html_e('Import/Export settings', 'king-addons'); ?></li>
171 </ul>
172 <a href="https://kingaddons.com/pricing/?utm_source=kng-preloader-upgrade&utm_medium=plugin&utm_campaign=kng" target="_blank" class="ka-btn ka-btn-pink">
173 <span class="dashicons dashicons-star-filled"></span>
174 <?php esc_html_e('Upgrade to Pro', 'king-addons'); ?>
175 </a>
176 </div>
177 <?php endif; ?>
178 </div>
179
180 <?php
181 /**
182 * Helper method to get preview styles.
183 */
184 function get_preview_styles_from_settings($settings) {
185 $styles = [];
186
187 $bg_type = $settings['bg_type'] ?? 'solid';
188 $bg_color = $settings['bg_color'] ?? '#ffffff';
189
190 if ($bg_type === 'gradient') {
191 $start = $settings['bg_gradient_start'] ?? '#ffffff';
192 $end = $settings['bg_gradient_end'] ?? '#f5f5f7';
193 $styles[] = "background: linear-gradient(135deg, {$start} 0%, {$end} 100%)";
194 } else {
195 $styles[] = "background-color: {$bg_color}";
196 }
197
198 $accent = $settings['accent_color'] ?? '#0071e3';
199 $styles[] = "--kng-preloader-accent: {$accent}";
200
201 $size = $settings['spinner_size'] ?? 48;
202 $styles[] = "--kng-preloader-size: {$size}px";
203
204 return implode('; ', $styles);
205 }
206 ?>
207