Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions assets/css/preloader.css

This file was deleted.

68 changes: 49 additions & 19 deletions assets/js/preloader.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,62 @@
jQuery(document).ready(function ($) {
document.addEventListener('DOMContentLoaded', function () {

// Exclude links to fade-in
let ignore_onbeforeunload = false;
$('a[href^=mailto], a[href^=tel], a[data-fade="false"], .woocommerce-MyAccount-downloads-file').on('click', function () {
ignore_onbeforeunload = true;
});
document.querySelectorAll('a[href^="mailto"], a[href^="tel"], a[data-fade="false"], .woocommerce-MyAccount-downloads-file')
.forEach(function (el) {
el.addEventListener('click', function () {
ignore_onbeforeunload = true;
});
});

// Fade helpers (CSS-transition based)
function fadeIn(el, duration = 200) {
if (!el) return;
el.style.transition = `opacity ${duration}ms`;
el.style.opacity = 0;
el.style.display = '';
requestAnimationFrame(() => {
el.style.opacity = 1;
});
}

function fadeOut(el, duration = 400, delay = 0) {
if (!el) return;
setTimeout(() => {
el.style.transition = `opacity ${duration}ms`;
el.style.opacity = 0;
setTimeout(() => {
el.style.display = 'none';
}, duration);
}, delay);
}

const preloader = document.getElementById('preloader');
const status = document.getElementById('status');

// Preloader
$(window).bind('beforeunload', function () {
window.addEventListener('beforeunload', function () {
if (!ignore_onbeforeunload) {
$("#preloader").fadeIn('fast');
$('#status').fadeIn('fast');
fadeIn(preloader, 200);
fadeIn(status, 200);
}
ignore_onbeforeunload = false;
})
$(window).on('load', function () {
$('#status').fadeOut();
$('#preloader').delay(350).fadeOut('slow');
})
});

window.addEventListener('load', function () {
fadeOut(status);
fadeOut(preloader, 400, 350);
});

setTimeout(function () {
$('#status').fadeOut();
$('#preloader').delay(350).fadeOut('slow');
fadeOut(status);
fadeOut(preloader, 400, 350);
}, 1500);
// Prevents preloader stucking by press the browser back/forward buttons

// Prevents preloader stucking by pressing the browser back/forward buttons
window.onpagehide = function () {
$('#status').fadeOut('fast');
$('#preloader').delay(350).fadeOut('slow');
fadeOut(status, 200);
fadeOut(preloader, 400, 350);
};

});
});
13 changes: 2 additions & 11 deletions inc/enqueue.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*
* @author Bootscore
* @package bs Preloader
* @version 5.5.2
* @version 6.0.0
*/


Expand All @@ -24,28 +24,19 @@ function bs_preloader_scripts() {

// File paths
$script_file = $plugin_dir . 'assets/js/preloader.js';
$style_file = $plugin_dir . 'assets/css/preloader.css';

// Timestamps as version numbers
$script_ver = file_exists($script_file) ? date('YmdHi', filemtime($script_file)) : false;
$style_ver = file_exists($style_file) ? date('YmdHi', filemtime($style_file)) : false;

// Enqueue script
wp_enqueue_script(
'preloader-js',
$plugin_url . 'assets/js/preloader.js',
['jquery'],
[],
$script_ver,
true
);

// Enqueue style
wp_enqueue_style(
'preloader-css',
$plugin_url . 'assets/css/preloader.css',
[],
$style_ver
);
}

add_action('wp_enqueue_scripts', 'bs_preloader_scripts');
10 changes: 5 additions & 5 deletions main.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php
/*Plugin Name: bs Preloader
Plugin URI: https://bootscore.me/plugins/bs-preloader/
Plugin URI: https://bootscore.me/plugins/documentation/bs-preloader/
Description: Plugin adds a preloader to Bootscore theme.
Version: 5.5.3
Tested up to: 7.0
Requires at least: 5.0
Requires PHP: 7.4
Version: 6.0.0-dev
Tested up to: 7.1
Requires at least: 7.0
Requires PHP: 8.1
Author: Bootscore
Author URI: https://bootscore.me
License: MIT License
Expand Down
4 changes: 2 additions & 2 deletions templates/preloader.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@

?>

<div id="preloader" class="<?= esc_attr( apply_filters('bootscore/class/preloader/bg', 'bg-body align-items-center justify-content-center position-fixed top-0 end-0 bottom-0 start-0 zi-1070') ); ?>">
<div id="status" class="<?= esc_attr( apply_filters('bootscore/class/preloader/spinner', 'spinner-border text-primary') ); ?>" role="status">
<div id="preloader" class="<?= esc_attr( apply_filters('bootscore/class/preloader/bg', 'bg-body d-flex align-items-center justify-content-center position-fixed top-0 end-0 bottom-0 start-0 z-toast') ); ?>">
<div id="status" class="<?= esc_attr( apply_filters('bootscore/class/preloader/spinner', 'spinner-border fg-primary fs-2xl') ); ?>" role="status">
<?php do_action( 'bootscore_preloader_status' ); ?>
<span class="visually-hidden"><?php _e('Loading...', 'bootscore'); ?></span>
</div>
Expand Down