File: /var/www/soreal.space/wp-content/themes/soreal/footer.php
<?php
/**
* The template for displaying the footer
*
* Contains the closing of the #content div and all content after.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package soreal
*/
?>
<?php
$featured_link_title = get_field('featured_link_title', 'option');
$trademarks_text = get_field('trademarks_text', 'option');
$copyright_text = get_field('copyright_text', 'option');
$twitter_url = get_field('twitter_url', 'option');
$youtube_url = get_field('youtube_url', 'option');
$instagram_url = get_field('instagram_url', 'option');
$email_id = get_field('email_id', 'option');
$skype_url = get_field('skype_url', 'option');
?>
<footer class="py-6 md:py-8 xl:py-10 bg-custom-dark text-white">
<div class="container px-4 mx-auto">
<div class="flex max-md:flex-wrap items-end justify-center md:justify-between">
<div class="pr-5">
<?php if ($featured_link_title) { ?>
<p class="text-white text-lg sm:text-xl md:text-[22px] leading-[normal] max-md:text-center">
<?php echo $featured_link_title; ?>
</p>
<?php } ?>
<?php
if (has_nav_menu('footer-menu')) {
wp_nav_menu(array(
'theme_location' => 'footer-menu',
'menu_id' => 'footer-menu',
'menu_class' => 'flex flex-wrap gap-x-6 mt-3 max-md:justify-center',
'container' => 'nav',
'container_class' => 'footer-nav',
'walker' => new Custom_Walker_Nav_Menu()
));
}
?>
</div>
<!-- <div class="flex gap-3 max-md:mt-4">
<?php if ($twitter_url) { ?>
<a href="<?php echo $twitter_url; ?>" target="_blank"
class="bg-white/20 hover:border hover:border-white text-white hover:text-primary rounded flex transition items-center justify-center h-8 w-8 transition-all">
<img class="h-auto w-auto max-w-full"
src="<?php echo get_template_directory_uri() ?>/assets/images/twitter.svg" alt="twitter"
height="15" width="15">
</a>
<?php }
if ($youtube_url) { ?>
<a href="<?php echo $youtube_url; ?>" target="_blank"
class="bg-white/20 hover:border hover:border-white text-white hover:text-primary rounded flex transition items-center justify-center h-8 w-8 transition-all">
<img class="h-auto w-auto max-w-full"
src="<?php echo get_template_directory_uri() ?>/assets/images/youtube.svg" alt="youtube"
height="15" width="15">
</a>
<?php }
if ($instagram_url) { ?>
<a href="<?php echo $instagram_url; ?>" target="_blank"
class="bg-white/20 hover:border hover:border-white text-white hover:text-primary rounded flex transition items-center justify-center h-8 w-8 transition-all">
<img class="h-auto w-auto max-w-full"
src="<?php echo get_template_directory_uri() ?>/assets/images/insta.svg" alt="insta" height="15"
width="15">
</a>
<?php }
if ($email_id) { ?>
<a href="<?php echo $email_id; ?>" target="_blank"
class="bg-white/20 hover:border hover:border-white text-white hover:text-primary rounded flex transition items-center justify-center h-8 w-8 transition-all">
<img class="h-auto w-auto max-w-full"
src="<?php echo get_template_directory_uri() ?>/assets/images/mail.svg" alt="mail" height="15"
width="15">
</a>
<?php }
if ($skype_url) { ?>
<a href="<?php echo $skype_url; ?>" target="_blank"
class="bg-white/20 hover:border hover:border-white text-white hover:text-primary rounded flex transition items-center justify-center h-8 w-8 transition-all">
<img class="h-auto w-auto max-w-full"
src="<?php echo get_template_directory_uri() ?>/assets/images/skype.svg" alt="skype" height="15"
width="15">
</a>
<?php } ?>
</div> -->
</div>
<div class="flex items-center justify-between max-md:justify-center max-md:flex-wrap mt-3">
<?php if ($trademarks_text) { ?>
<p class="text-sm text-white/50 w-[600px] max-h-full max-md:text-center">
<?php echo $trademarks_text; ?>
</p>
<?php }
if ($copyright_text) { ?>
<p class="text-sm text-white max-md:text-center max-md:mt-3">
<?php echo $copyright_text; ?>
</p>
<?php } ?>
</div>
</div>
</footer>
</main><!-- #page -->
<?php wp_footer(); ?>
<div id="popup" class="popup">
<div class="popup-content">
<span class="close closePopup">×</span>
<h2 class="text-[24px] md:text-[32px] xl:text-[46px] leading-[normal]">Contact Us</h2>
<?php echo do_shortcode('[contact-form-7 html_class="soreal-contact-form" id="504577f" title="Contact form"]');
?>
</div>
</div>
<script src="<?php echo get_template_directory_uri(); ?>/assets/js/aos.js"></script>
<script>
AOS.init();
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('.popup-trigger').forEach(function(anchor) {
anchor.addEventListener('click', function(event) {
event.preventDefault(); // Prevent the default anchor click behavior
var popup = document.getElementById('popup');
popup.style.display = 'flex';
popup.style.alignItems = 'center'; // Add align-items: center
});
});
document.querySelector('.closePopup').addEventListener('click', function() {
document.getElementById('popup').style.display = 'none';
});
variationLoader();
});
jQuery('.solutions-slider').slick({
infinite: true,
slidesToShow: 1,
slidesToScroll: 1,
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
function variationLoader() {
var container = document.querySelector("#unity-container");
var canvas = document.querySelector("#unity-canvas");
var loadingBar = document.querySelector("#unity-loading-bar");
var progressBarFull = document.querySelector("#unity-progress-bar-full");
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
var warningBanner = document.querySelector("#unity-warning");
function unityShowBanner(msg, type) {
function updateBannerVisibility() {
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
}
var div = document.createElement('div');
div.innerHTML = msg;
warningBanner.appendChild(div);
if (type == 'error') div.style = 'background: red; padding: 10px;';
else {
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
setTimeout(function() {
warningBanner.removeChild(div);
updateBannerVisibility();
}, 5000);
}
updateBannerVisibility();
}
var buildUrl = "<?php echo get_template_directory_uri(); ?>/Build";
var loaderUrl = buildUrl + "/Build.loader.js";
var config = {
dataUrl: buildUrl + "/Build.data",
frameworkUrl: buildUrl + "/Build.framework.js",
codeUrl: buildUrl + "/Build.wasm",
streamingAssetsUrl: "StreamingAssets",
companyName: "DefaultCompany",
productName: "Soreal_website_interior",
productVersion: "0.1.0",
showBanner: unityShowBanner,
};
loadingBar.style.display = "block";
var script = document.createElement("script");
script.src = loaderUrl;
script.onload = () => {
createUnityInstance(canvas, config, (progress) => {
progressBarFull.style.width = 100 * progress + "%";
}).then((unityInstance) => {
// Handle success
}).catch((message) => {
alert(message);
});
};
document.body.appendChild(script);
}
// Call the function
variationLoader();
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function () {
// Function to start animation
function startAnimation() {
document.querySelectorAll('.about-details h3').forEach(function (element) {
const targetValue = parseInt(element.textContent.replace('%', ''));
const uniqueId = element.id;
const duration = 2000; // Duration of the animation in milliseconds
const startTime = performance.now();
function animateValue(currentTime) {
const elapsedTime = currentTime - startTime;
const progress = Math.min(elapsedTime / duration, 1);
const currentValue = Math.floor(progress * targetValue);
element.textContent = currentValue + '%'; // Append the % symbol
if (progress < 1) {
requestAnimationFrame(animateValue);
}
}
requestAnimationFrame(animateValue);
});
}
// Check if the section is in view
function isElementInViewport(el) {
const rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
// Observe the section visibility
const section = document.getElementById('percentage-section');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
startAnimation();
observer.unobserve(section); // Stop observing after animation starts
}
});
}, { threshold: 0.1 });
observer.observe(section);
});
</script>
</body>
</html>