var globalColor='#000000';
var currentLink='';
var apiURL='https://qrcode-facile.fr/rest/';
var urlWebsite='https://qrcode-facile.fr/';
var currentID='';
function changeColor(colorC)
{
globalColor=colorC;
qr._options.dotsOptions.color=colorC;
qr.update();
document.querySelector('#colorSwatch').value=colorC;
document.querySelector('.clr-field').style.color=colorC;
}
function changeSizeLogo(valSize)
{
valSize=parseInt(valSize);
qr._options.imageOptions.margin=valSize;
qr.update();
}
function deleteImage()
{
qr._options.image='';
qr.update();
document.querySelector('.logoTemV').style.display='none';
}
function getDataImage(input)
{
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(e.target.result);
qr._options.image=e.target.result;
document.getElementById('logoTempVal').src=e.target.result;
document.querySelector('.logoTemV').style.display='inline-block';
qr.update();
};
reader.readAsDataURL(input.files[0]);
}
}
function changeStyleQR(qr_this) {
qr._options.cornersSquareOptions='dot';
$('.typeQR li').removeClass('selectedStyle');
$(qr_this).addClass('selectedStyle');
switch(qr_this.getAttribute('data-attr'))
{
case "square":
qr._options.dotsOptions.type='square';
break;
case "extra-rounded":
qr._options.dotsOptions.type='extra-rounded';
break;
case "dots":
qr._options.dotsOptions.type='dots';
break;
case "matrix":
qr._options.dotsOptions.type='rounded';
qr._options.cornersSquareOptions={ type: 'dot' };
break;
case "pastel":
qr._options.dotsOptions.type='dot';
qr._options.cornersSquareOptions={ type: 'extra-rounded' };
break;
}
qr.update();
}
function changePredefined(qr_this){
$('.typeQR li').removeClass('selectedStyle');
qr._options.cornersSquareOptions='dot';
switch(qr_this.target.getAttribute('data-style'))
{
case "facebook":
qr._options.dotsOptions.type='rounded';
qr._options.cornersSquareOptions={ type: 'dot' };
$('.typeQR li[data-attr="matrix"]').addClass('selectedStyle');
changeColor('#3b579d');
qr._options.image='https://qrcode-facile.fr//assets/examples/facebook_logo.png';
document.getElementById('logoTempVal').src='https://qrcode-facile.fr//assets/examples/facebook_logo.png';
document.querySelector('.logoTemV').style.display='inline-block';
document.querySelector('.form-range').value='12';
changeSizeLogo(12);
break;
case "insta":
qr._options.dotsOptions.type='extra-rounded';
$('.typeQR li[data-attr="extra-rounded"]').addClass('selectedStyle');
changeColor('#862c63');
qr._options.image='https://qrcode-facile.fr//assets/examples/insta_logo.png';
document.getElementById('logoTempVal').src='https://qrcode-facile.fr//assets/examples/insta_logo.png';
document.querySelector('.logoTemV').style.display='inline-block';
document.querySelector('.form-range').value='8';
changeSizeLogo(8);
break;
case "linkedin":
qr._options.dotsOptions.type='extra-rounded';
$('.typeQR li[data-attr="extra-rounded"]').addClass('selectedStyle');
changeColor('#0274b3');
qr._options.image='https://qrcode-facile.fr//assets/examples/linkedin_logo.png';
document.getElementById('logoTempVal').src='https://qrcode-facile.fr//assets/examples/linkedin_logo.png';
document.querySelector('.logoTemV').style.display='inline-block';
document.querySelector('.form-range').value='8';
changeSizeLogo(8);
break;
case "twitter":
qr._options.dotsOptions.type='extra-rounded';
$('.typeQR li[data-attr="extra-rounded"]').addClass('selectedStyle');
changeColor('#179cf0');
qr._options.image='https://qrcode-facile.fr//assets/examples/twitter_logo.png';
document.getElementById('logoTempVal').src='https://qrcode-facile.fr//assets/examples/twitter_logo.png';
document.querySelector('.logoTemV').style.display='inline-block';
document.querySelector('.form-range').value='8';
changeSizeLogo(4);
break;
case "website":
qr._options.dotsOptions.type='dot';
qr._options.cornersSquareOptions={ type: 'extra-rounded' };
$('.typeQR li[data-attr="pastel"]').addClass('selectedStyle');
changeColor('#fe5035');
qr._options.image='https://qrcode-facile.fr//assets/examples/website_logo.png';
document.getElementById('logoTempVal').src='https://qrcode-facile.fr//assets/examples/website_logo.png';
document.querySelector('.logoTemV').style.display='inline-block';
document.querySelector('.form-range').value='8';
changeSizeLogo(4);
break;
case "default":
deleteImage();
qr._options.dotsOptions.type='extra-rounded';
$('.typeQR li[data-attr="extra-rounded"]').addClass('selectedStyle');
changeColor('#1e4f4a');
document.querySelector('.form-range').value='8';
changeSizeLogo(8);
break;
}
qr.update();
}
function changeLinkQR(urlLink)
{
var url = urlLink;
var valid = /^(ftp|http|https):\/\/[^ "]+$/.test(url);
if(!valid)
{
$('.alertURL').removeAttr('hidden');
}
else {
$('.alertURL').attr('hidden','true');
}
$.post(apiURL + 'create-qr-code', { urlQRTemp: urlLink }).done(function( data ) {
qr._options.data=urlWebsite + 'redirect/' + data;
qr.update();
currentLink=urlWebsite + 'redirect/' + data;
currentID=data;
});
}
function createQRCodeMenu(urlMenu)
{
$('#createQRBtn').attr('hidden', 'true');
$.post(apiURL + 'create-qr-code-menu', { urlQRTemp: urlMenu }).done(function(data, qr) {
// qr.set({
// value: urlWebsite + 'redirect/' + data
// });
changeLinkQR(urlWebsite + 'redirect/' + data);
currentLink=urlWebsite + 'redirect/' + data;
currentID=data;
var qrCodeExport=document.querySelector('#qrcode canvas').toDataURL('image/png', 1.0);
$.post(apiURL + 'publishQR', { QRCodeData: qrCodeExport }).done(function(data) {
$('#qrcodeContainer').removeAttr('hidden');
});
});
}
function transparencyPNG(el)
{
if(el.checked)
{
qr._options.backgroundOptions.color='rgba(0,0,0,0)';
qr.update();
}
else {
qr._options.backgroundOptions.color='rgba(255,255,255,1)';
qr.update();
}
}
// function checkCodePromo()
// {
// let promoT=document.getElementById('promoT').value;
// $.post(apiURL + 'promo', { promoCode: promoT }).done(function( data ) {
// let resultCode=JSON.parse(data);
// if(resultCode.code!='invalid')
// {
// let discount=parseInt(resultCode.discount);
// let priceAct=document.getElementById('priceAct');
// let price=document.getElementById('price').value;
// price=price.replace(',', '.');
// price=parseFloat(price);
// let newprice=price-(price*discount/100);
// let stPrice=newprice*100;
// stPrice=stPrice.toFixed(0);
// console.log('Strip price :', stPrice);
// newprice=newprice.toFixed(2);
// newprice=newprice.replace('.', ',');
// priceAct.innerHTML=newprice;
// document.getElementById('alertResultPromo').innerHTML='
Code promotion appliqué ! ✅
';
// }
// else
// {
// document.getElementById('alertResultPromo').innerHTML='Code promotion invalide 🤔
';
// }
// });
// }
// Cook utils
function setCookie(e,t,n){var o,i="";n&&((o=new Date).setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toUTCString()),document.cookie=e+"="+(t||"")+i+"; path=/"}function getCookie(e){for(var t=e+"=",n=document.cookie.split(";"),o=0;o0)
{
let myDropzone = new Dropzone("div#dropzone", {
url: "https://qrcode-facile.fr//rest/upload-file",
maxFiles: 1,
maxFilesize: 26214400,
acceptedFiles: "image/jpeg,image/png,image/gif,application/epub+zip,text/calendar,application/vnd.oasis.opendocument.presentation,application/vnd.oasis.opendocument.spreadsheet,application/vnd.oasis.opendocument.text,audio/ogg,application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,image/svg+xml,font/ttf,text/plain,audio/wav,audio/webm,image/webp,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/zip",
maxfilesexceeded: function(file) {
this.removeAllFiles();
this.addFile(file);
}
});
myDropzone.on("success", function(file, responseText) {
changeLinkQR(responseText);
});
myDropzone.on('complete', file => {
if(!getCookie('uploadForm'))
{
introJs().setOptions({
'skipLabel': 'x',
showProgress: true,
showBullets: false,
'prevLabel': 'Précédent',
'nextLabel': 'Suivant',
'doneLabel': 'Terminé',
steps: [{
intro: "Votre fichier vient d'être uploadé, il est maintenant contenu directement dans ce QR Code ✨",
element: document.querySelector('#qrcode'),
}, {
element: document.querySelector('.optionQR'),
intro: "Personnalisez ensuite tous les aspects de votre QR, et passez au téléchargement !"
}]
}).start();
setCookie("uploadForm", 1, 60);
}
});
}
/*
var qrcode = new QRCode("qrcode", {
text: "http://qrcode-facile.fr/",
width: 900,
height: 900,
colorDark : globalColor,
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
}); */
/* var qr = new QRious({ element: document.getElementById('qrcode') });
qr.set({
background: 'white',
backgroundAlpha: 1,
foreground: 'black',
foregroundAlpha: 1,
level: 'H',
padding: 40,
size: 700,
value: 'https://qrcode-facile.fr/'
}); */
qr = new QRCodeStyling({
width: 300,
height: 300,
type: "canvas",
data: "https://qrcode-facile.fr/",
dotsOptions: {
color: "red"
},
backgroundOptions: {
color: "#e9ebee",
},
imageOptions: {
crossOrigin: "anonymous",
margin: 20
}
});
console.log('QR Code loaded');
qr.append(document.getElementById("qrcode"));
changeLinkQR('http://qrcode-facile.fr/');
Coloris({
wrap: true,
theme: 'polaroid',
swatchesOnly: true,
themeMode: 'dark',
margin: 2,
format: 'hex',
formatToggle: false,
alpha: false,
forceAlpha: false,
swatchesOnly: false,
focusInput: true,
selectInput: false,
clearButton: true,
clearLabel: 'RAZ',
swatches: [
'#264653',
'#2a9d8f',
'#e9c46a',
'rgb(244,162,97)',
'#e76f51',
'#d62828',
'navy',
'#07b',
'#0096c7',
'#00b4d880',
'rgba(0,119,182,0.8)'
],
inline: false,
defaultColor: '#000000'
});
if(document.querySelector('#urlLink'))
{
document.addEventListener('coloris:pick', event => {
changeColor(event.detail.color);
});
$('.predefinedQR img').on('click', changePredefined);
document.querySelector('#urlLink').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlLink').value;
changeLinkQR(currentLink);
});
document.querySelector('#phoneNumber').addEventListener('input', function(el) {
currentLink='tel:' + document.querySelector('#phoneNumber').value;
changeLinkQR(currentLink);
});
document.querySelector('#urlFacebook').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlFacebook').value;
changeLinkQR(currentLink);
});
document.querySelector('#urlInsta').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlInsta').value;
currentLink=currentLink.replace('@', '');
currentLink='https://instagram.com/' + currentLink;
changeLinkQR(currentLink);
});
document.querySelector('#urlTik').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlTik').value;
currentLink=currentLink.replace('@', '');
currentLink='https://www.tiktok.com/@' + currentLink;
changeLinkQR(currentLink);
});
document.querySelector('#urlLinkedin').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlLinkedin').value;
changeLinkQR(currentLink);
});
document.querySelector('#urlLink').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlLink').value;
changeLinkQR(currentLink);
});
document.querySelector('#urlFacebook').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlFacebook').value;
changeLinkQR(currentLink);
});
document.querySelector('#urlInsta').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlInsta').value;
currentLink=currentLink.replace('@', '');
currentLink='https://instagram.com/' + currentLink;
changeLinkQR(currentLink);
});
document.querySelector('#urlTik').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlTik').value;
currentLink=currentLink.replace('@', '');
currentLink='https://www.tiktok.com/@' + currentLink;
changeLinkQR(currentLink);
});
document.querySelector('#urlLinkedin').addEventListener('input', function(el) {
currentLink=document.querySelector('#urlLinkedin').value;
changeLinkQR(currentLink);
});
$('.selectorSoft li').click(function(el) {
$('.selectorSoft li').removeClass('activeL');
$('.toolbox').removeClass('activeToolbox');
el.currentTarget.classList.add('activeL');
document.querySelector('#' + el.currentTarget.getAttribute('data-id')).classList.add('activeToolbox');
});
$('.commonColors li span').click(function(el) {
changeColor(getComputedStyle(el.currentTarget)['backgroundColor']);
});
$(document).ready(function() {
$('#documentContent').summernote({
placeholder: '',
tabsize: 2,
height: 450,
lang: 'fr-FR',
toolbar: [
['style', ['style']],
['font', ['bold', 'italic', 'underline', 'clear']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['insert', ['link', 'picture']],
],
callbacks: {
onChange: function(contents, $editable) {
publishNoteDoc(contents);
}
}
});
$('#documentContent').on('change', function(el) {
console.log('hiiiii');
});
});
if(!getCookie('stepByStep'))
{
introJs().setOptions({
'skipLabel': 'x',
showProgress: true,
showBullets: false,
'prevLabel': 'Précédent',
'nextLabel': 'Suivant',
'doneLabel': 'Terminé',
steps: [{
intro: "Bienvenue sur QR Code Facile ! Découvrez les 3 étapes pour tout comprendre 🚀"
}, {
element: document.querySelector('.selectorSoft'),
intro: "Sélectionnez ici le type de QR Code que vous souhaitez créer ! Par défaut \"Lien\" devrait vous convenir !"
},
{
element: document.querySelector('#urlLink'),
intro: "Renseignez-ici l'adresse du site Web que contiendra le QR Code, un simple copier-coller fait le job ✅"
},
{
element: document.querySelector('.optionQR'),
intro: "Avant-dernière étape, personnalisez votre QR Code à votre goût, en changeant sa couleur par exemple, et c'est terminé !"
},
{
element: document.querySelector('.optionQR .btn-primary'),
intro: "Cliquez maintenant simplement sur le bouton je télécharge mon QR Code 🎊"
}]
}).start();
setCookie("stepByStep", 1, 60);
}
let proCheckerNode=document.querySelector("#qrcode");
let config = { attributes: true, childList: true, subtree: true };
let observer = new MutationObserver(proChecker);
observer.observe(proCheckerNode, config);
}
}