<!-- Start Footer Area -->
<section class="footer-area">
<div class="container">
<div class="row">
<div class="col-lg-6 col-md-12 col-sm-12 ">
<div class="single-footer-widget pl-5">
<h3>About Us</h3>
<p>
Boost Your Online Presence with {{ get_env('SITE_NAME') }} <br>
{{ get_env('SITE_NAME') }} is your trusted partner for promoting your page or website quickly at highly competitive rates.
We promise swift delivery and top-quality service at great prices!
</p>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="single-footer-widget">
<h3>Contact Info</h3>
<ul class="footer-contact-info">
<li>
<i class="fa fa-envelope"></i>
<span>Do You Have a Question?</span>
<a href="{{ path('contact') }}">{{ get_env('CONTACT_EMAIL') }}</a>
</li>
<li>
<i class="fa fa-globe"></i>
<span>Socials Network</span>
<ul class="social">
<li><a href=""><i class="fab fa-facebook"></i></a></li>
<li><a href=""><i class="fab fa-instagram"></i></a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div class="copyright-area">
<div class="row align-items-center">
<div class="col-lg-6 col-sm-6 col-md-6">
<p>
© Copyright 2023. All rights reserved
</p>
</div>
<div class="col-lg-6 col-sm-6 col-md-6">
<ul>
<li><a routerLink="/">Terms & Conditions</a></li>
<li><a routerLink="/">Privacy Policy</a></li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- End Footer Area -->
<div class="custom-social-proof">
<div class="custom-notification">
<div class="custom-notification-container">
{# <div class="custom-notification-image-wrapper">
<img src="https://static.cashbacker.com/imgs/blank-avatar.png">
</div> #}
<div class="custom-notification-content-wrapper">
<p class="custom-notification-content" id="customername">
<span id="sp_customername"></span> in <span id="sp_location"></span>
<br>
<strong><span id="sp_actionname"></span></strong>
<small id="sp_time"></small>
</p>
</div>
</div>
<div class="custom-close"></div>
</div>
</div>
<div class="go-top"><i class="fas fa-chevron-up"></i></div>
<div class="scroll-top">
<svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102">
<path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98"
style="transition: stroke-dashoffset 10ms linear 0s; stroke-dasharray: 307.919, 307.919; stroke-dashoffset: 307.919;">
</path>
</svg>
<i class="fa fa-arrow-up"></i>
</div>
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{{ encore_entry_script_tags('custom') }}
<script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
{#<script type="text/javascript" charset="UTF-8" src="//cdn.cookie-script.com/s/6d2939c2f3b131c795588efad23a8079.js"></script>#}
<script src="{{ asset('build/js/owl.carousel/dist/owl.carousel.js') }}"></script>
<script src="https://cdn.jsdelivr.net/gh/philfung/[email protected]/dist/add-to-homescreen.min.js"></script>
<script src="{{ asset('build/js/cookies/jquery.ihavecookies.js') }}"></script>
<script>
var options = {
title: '🍪 Accept Cookies & Privacy Policy?',
message: 'There are no cookies used on this site, but if there were this message could be customised to provide more details. Click the <strong>accept</strong> button below to see the optional callback in action...',
delay: 600,
expires: 36500,
link: '#privacy',
onAccept: function(){
var myPreferences = $.fn.ihavecookies.cookie();
console.log('Yay! The following preferences were saved...');
console.log(myPreferences);
},
uncheckBoxes: true,
acceptBtnLabel: 'Accept Cookies',
moreInfoLabel: 'More information',
cookieTypesTitle: 'Select which cookies you want to accept',
fixedCookieTypeLabel: 'Essential',
fixedCookieTypeDesc: 'These are essential for the website to work correctly.'
}
$(document).ready(function() {
$('body').ihavecookies(options);
if ($.fn.ihavecookies.preference('marketing') === true) {
console.log('This should run because marketing is accepted.');
}
$('#ihavecookiesBtn').on('click', function(){
$('body').ihavecookies(options, 'reinit');
});
});
</script>
<script>
var button = document.querySelector('.add-to-btn');
button.addEventListener('click', (e) => {
window.AddToHomeScreenInstance = new window.AddToHomeScreen({
appName: '{{ get_env('SITE_NAME') }}',
appIconUrl: 'https://wizzsocial.com/build/img/logo.png',
assetUrl: 'https://cdn.jsdelivr.net/gh/philfung/[email protected]/dist/assets/img/',
showErrorMessageForUnsupportedBrowsers: window.AddToHomeScreen.SHOW_ERRMSG_UNSUPPORTED.ALL,
allowUserToCloseModal: false,
maxModalDisplayCount: -1
});
ret = window.AddToHomeScreenInstance.show();
});
</script>
<script type="text/javascript">
$(document).ready(function() {
// Feedback Slides
$('.offers-slides').owlCarousel({
loop: true,
nav: true,
dots: true,
autoplayHoverPause: false,
autoplay: false,
margin: 15,
center: false,
navText: [
"<i class='flaticon-left-chevron'></i>",
"<i class='flaticon-right-chevron'></i>"
],
responsive: {
0: {
items: 1.25,
margin: 15,
nav: false,
dots: false,
},
768: {
items: 1.25,
margin: 15,
},
1200: {
items: 4.35,
},
1550: {
items: 4.35,
}
}
});
});
$(document).click(function(e) {
var container = $("#navbarSupportedContent");
var buttonToggler = $("button[data-bs-target='#navbarSupportedContent']");
// if the target of the click isn't the container nor a descendant of the container
if (!buttonToggler.is(e.target) && container.has(e.target).length === 0 && container.hasClass("show"))
{
buttonToggler.trigger("click");
}
})
/**
* Add To home Screen script
*/
{# if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('build/hss/serviceworker.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
let deferredPrompt;
var div = document.querySelector('.add-to');
var button = document.querySelector('.add-to-btn');
//div.style.display = 'none';
window.addEventListener('beforeinstallprompt', (e) => {
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
div.style.display = 'block';
button.addEventListener('click', (e) => {
alert("button clicked :: footer.html.twig");
// hide our user interface that shows our A2HS button
// div.style.display = 'none';
// Show the prompt
deferredPrompt.prompt();
// Wait for the user to respond to the prompt
deferredPrompt.userChoice
.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('User accepted the A2HS prompt');
} else {
console.log('User dismissed the A2HS prompt');
}
deferredPrompt = null;
});
});
}); #}
</script>
<script type="text/javascript">
/**
* Get the submit buttons from the given form
*/
function getSubmitButtons(form) {
var buttons = form.querySelectorAll('button, input');
var submitButtons = [];
for (var i= 0; i < buttons.length; i++) {
var button = buttons[i];
if (button.getAttribute('type') == 'submit') {
submitButtons.push(button);
}
}
return submitButtons;
}
/**
* Prevent the submit buttons from submitting a form
* and invoke the challenge for the given widget id
*/
function bindChallengeToSubmitButtons(form, reCaptchaId) {
getSubmitButtons(form).forEach(function (button) {
button.addEventListener('click', function (e) {
e.preventDefault();
grecaptcha.execute(reCaptchaId);
});
});
}
/**
* Render a reCAPTCHA from the type
*/
function renderReCaptcha(widget) {
var form = widget.closest('form');
var widgetType = widget.getAttribute('data-type');
var widgetParameters = {
'sitekey': '{{ gg_recaptcha_site_key }}'
};
if (widgetType == 'invisible') {
widgetParameters['callback'] = function () {
form.submit()
};
widgetParameters['size'] = "invisible";
}
var widgetId = grecaptcha.render(widget, widgetParameters);
if (widgetType == 'invisible') {
bindChallengeToSubmitButtons(form, widgetId)
}
}
/**
* The callback function executed
* once all the Google dependencies have loaded
*/
function onGoogleReCaptchaLoad() {
var widgets = document.querySelectorAll('[data-toggle="recaptcha"]');
for (var i = 0; i < widgets.length; i++) {
renderReCaptcha(widgets[i]);
}
}
</script>
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?onload=onGoogleReCaptchaLoad&render=explicit"></script>
<script type="text/javascript">
{% if services is defined %}
var services = {{ services | json_encode | raw }};
{% else %}
var services = [];
{% endif %}
/***********************************/
// Get a random service index within the range of the array length
var randomServicesIndex = Math.floor(Math.random() * services.length);
// Get the object at the random service index
var randomObject = services[randomServicesIndex];
/***********************************/
/***********************************/
// Get a random sub index within the range of the array length
var randomSubsIndex = Math.floor(Math.random() * randomObject.subs.length);
// Get the object at the sub random index
var randomSubObject = randomObject.subs[randomSubsIndex];
/***********************************/
/***********************************/
// Get a random offer index within the range of the array length
var randomOffersIndex = Math.floor(Math.random() * randomSubObject.offers.length);
// Get the object at the random offer index
var randomOfferObject = randomSubObject.offers[randomOffersIndex];
/***********************************/
/* ---------------------------------------------
Social-Proof
------------------------------------------------ */
var sp_freqency = 20000;
var sp_timeout = 3000;
var popbackup = "";
var names = ["Anonymous", "Anonymous", "Anonymous", "Someone", "Someone", "Irma", "Frank", "Ella", "Liz", "Sasha", "Mariella", "Jeremy", "Virginia", "Charles", "Karina", "Vihaan", "Reyansh", "Krishna", "Akshay", "Rajesh"];
var towns = ["Portland","Hillsboro","Beaverton","Bethany","Aloha","Tigard","King City","Forest Grove","Rock Creek","Raleigh Hills","Garden Home","East Portland","Tualatin"];
{% if (app.request.attributes.get('_route') != 'home') %}
// set interval for popping up/down
var togglevar = setInterval( function() {
fn_ToggleSocialProof();
}, sp_freqency); //every 14 seconds as defined by sp_freqency var
{% endif %}
// set what to do on close
$(".custom-close").click(function() {
//Stop all timers and hide social proof
clearTimeout(popbackup);
clearTimeout(togglevar);
$(".custom-social-proof").stop().slideToggle('slow');
});
function fn_UpdateSocialProofData() {
var selectedname = names[Math.floor(Math.random() * names.length)];
var selectedtown = towns[Math.floor(Math.random() * towns.length)];
// always select a recent action as a fallback
var selectedaction = ` purchased ${randomOfferObject.Quantity} ${randomSubObject.Text}`;
var timeperiod = fn_RecentTimeGen();
// sometimes choose something older
if (fn_Percentage(80)) {
// selectedaction = pastactions[Math.floor(Math.random() * pastactions.length)];
// timeperiod = fn_PastTimeGen();
}
// sometimes choose something tomorrow
if (fn_Percentage(33)) {
// selectedaction = futureactions[Math.floor(Math.random() * futureactions.length)];
// timeperiod = fn_FutureTimeGen();
}
$( "#sp_customername" ).text( selectedname );
$( "#sp_location" ).text( selectedtown );
$( "#sp_actionname" ).text( selectedaction );
$( "#sp_time" ).text( timeperiod );
// console.log("updated socialproof");
}
function fn_ToggleSocialProof() {
$(".custom-social-proof").stop().slideToggle('slow', function() {
// console.log("gone down")
fn_UpdateSocialProofData();
});
//
popbackup = setTimeout( function() {
$(".custom-social-proof").stop().slideToggle('slow');
// console.log("popped up")
}, sp_timeout);
}
function fn_Percentage(para_percent) {
if (Math.random() < para_percent/100) {
return true;
}
return false;
}
function fn_RecentTimeGen() {
if (fn_Percentage(80)) {
return fn_PluralReturn(10,"hour","hours") + " ago";
}
return fn_PluralReturn(59,"min","mins") + " ago";
}
function fn_FutureTimeGen() {
if (fn_Percentage(80)) {
return fn_PluralReturn(6,"day","days") + " from now";
}
return fn_PluralReturn(1,"week","weeks") + " from now";
}
function fn_PastTimeGen() {
if (fn_Percentage(80)) {
return fn_PluralReturn(6,"day","days") + " ago";
}
return fn_PluralReturn(1,"week","weeks") + " ago";
}
function fn_PluralReturn(para_number,para_nonplural,para_plural) {
var l_number = Math.ceil(Math.random() * para_number)
if (l_number == 1) {
return "" + l_number + " " + para_nonplural
}
return "" + l_number + " " + para_plural
}
</script>
{% endblock %}
</body>
</html>