PluginProbe
Filter Gallery / trunk
Filter Gallery vtrunk
1.1.5 1.1.4 1.1.3 1.1.2 trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.0.7 0.0.8 0.0.9 0.1.0 0.1.1 0.1.2 0.1.3 0.1.4 0.1.5 0.1.6 0.1.7 0.1.8 0.1.9 0.2.0 All 28 releases
filter-gallery / admin / loader.php

loader.php in Filter Gallery trunk, at admin/loader.php

109 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (!defined('ABSPATH')) {
3 exit; // Exit if accessed directly
4 }
5 ?>
6 <div class="ufg-loader-wrapper" id="ufg-page-preloader">
7 <style>
8 .ufg-loader-wrapper {
9 position: fixed;
10 top: 0;
11 left: 0;
12 right: 0;
13 bottom: 0;
14 z-index: 999999;
15 display: flex;
16 align-items: center;
17 justify-content: center;
18 width: 100vw;
19 height: 100vh;
20 box-sizing: border-box;
21 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
22 background: #f8fafc;
23 opacity: 1;
24 transition: opacity 0.25s ease-out;
25 }
26 .ufg-loader-card {
27 background: #ffffff;
28 border-radius: 16px;
29 box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.05), 0 4px 12px -2px rgba(0, 0, 0, 0.025);
30 border: 1px solid #f1f5f9;
31 padding: 48px 40px;
32 text-align: center;
33 max-width: 440px;
34 width: 90%;
35 box-sizing: border-box;
36 }
37 .ufg-loader-spinner-box {
38 position: relative;
39 width: 64px;
40 height: 64px;
41 margin: 0 auto 24px auto;
42 display: flex;
43 align-items: center;
44 justify-content: center;
45 }
46 .ufg-loader-bg-circle {
47 position: absolute;
48 inset: 0;
49 border-radius: 50%;
50 background-color: #eff6ff;
51 display: flex;
52 align-items: center;
53 justify-content: center;
54 }
55 .ufg-loader-ring {
56 position: absolute;
57 inset: -4px;
58 border-radius: 50%;
59 border: 3px solid transparent;
60 border-top-color: #2563eb;
61 border-right-color: #2563eb;
62 animation: ufg-spin 0.9s linear infinite;
63 }
64 @keyframes ufg-spin {
65 0% { transform: rotate(0deg); }
66 100% { transform: rotate(360deg); }
67 }
68 .ufg-loader-title {
69 font-size: 20px;
70 font-weight: 700;
71 color: #0f172a;
72 margin: 0 0 8px 0;
73 line-height: 1.3;
74 }
75 .ufg-loader-subtitle {
76 font-size: 14px;
77 color: #64748b;
78 margin: 0;
79 font-weight: 400;
80 line-height: 1.4;
81 }
82 </style>
83 <div class="ufg-loader-card">
84 <div class="ufg-loader-spinner-box">
85 <div class="ufg-loader-ring"></div>
86 <div class="ufg-loader-bg-circle">
87 <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#2563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
88 <rect width="18" height="18" x="3" y="3" rx="2" ry="2"/>
89 <circle cx="9" cy="9" r="2"/>
90 <path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/>
91 </svg>
92 </div>
93 </div>
94 <h2 class="ufg-loader-title"><?php echo esc_html(isset($ufg_loader_title) ? $ufg_loader_title : __('Loading Filter Gallery...', 'filter-gallery')); ?></h2>
95 <p class="ufg-loader-subtitle"><?php echo esc_html(isset($ufg_loader_subtitle) ? $ufg_loader_subtitle : __('Please wait while the page is initializing', 'filter-gallery')); ?></p>
96 </div>
97 </div>
98 <script>
99 document.addEventListener("DOMContentLoaded", function() {
100 var preloader = document.getElementById("ufg-page-preloader");
101 if (preloader) {
102 preloader.style.opacity = "0";
103 setTimeout(function() {
104 preloader.remove();
105 }, 250);
106 }
107 });
108 </script>
109