asffdf
wrwewwe
<html lang="en"><head><meta charset="UTF-8"></meta><meta content="width=device-width, initial-scale=1.0" name="viewport"></meta><title>Shreeji Graphics Studio ( ZEXSPIX )</title><style> body, html { margin: 0; padding: 0; height: 100%; width: 100%; background-color: var(--bottom-color); }
:root { --banner-image: url('https://4kwallpapers.com/images/wallpapers/dark-background-abstract-background-network-3d-background-2560x1440-8324.png'); --profile-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ipio1_2s5nZfJWFQAlVws-s1N3bMsRGCe6cruU9lmWDD7VpcWZtBUASeiGto1nd6-6Qkv-sgDc4gPUqx7Beg8y8cZgPRC1PGdb-bo8cRrHQG7yog-x9jlsZZWomkbp9sBlxI6x0ekQEd/h120/Logo_zexspix.jpg'); --item1-image: url('https://cdn-icons-png.flaticon.com/128/9946/9946341.png'); --item2-image: url('https://cdn-icons-png.flaticon.com/128/9068/9068642.png'); --item3-image: url('https://cdn-icons-png.flaticon.com/128/15707/15707820.png'); --item4-image: url('https://cdn-icons-png.flaticon.com/128/15707/15707749.png'); --item5-image: url('https://cdn-icons-png.flaticon.com/128/1312/1312139.png'); --item6-image: url('https://cdn-icons-png.flaticon.com/128/4494/4494615.png'); --item7-image: url('https://cdn-icons-png.flaticon.com/128/1377/1377257.png'); --item8-image: url('https://cdn-icons-png.flaticon.com/128/12953/12953846.png'); --item9-image: url('https://cdn-icons-png.flaticon.com/128/2268/2268728.png'); --item10-image: url('https://cdn2.iconfinder.com/data/icons/shopping-and-e-commerce-flat-circle-shadow-vol-1/100/buy__shopping__shop__ecommerce__cart__buynow__purchase-64.png'); --item11-image: url('https://miro.medium.com/v2/resize:fit:800/1*o7ISWcdbgvOFLpYAFl5n_Q.jpeg'); --item12-image: url('https://cdn4.iconfinder.com/data/icons/camping-and-adventure-part-1/135/13-64.png'); --item-title1: "Call & Save"; --item-title2: "Email"; --item-title3: "Whatsapp"; --item-title4: "Instagram"; --item-title5: "Facebook"; --item-title6: "Etsy"; --item-title7: "Pintrest"; --item-title8: "Website"; --item-title9: "Discount"; --item-title10: "Products"; --item-title11: "Review"; --item-title12: "Location"; --profile-color: #1f2130; --bottom-color: #1f2130; --username-text: "SHREEJI GRAPHICS STUDIO"; --description-text: "A Unit Of Designing & Printing | Event & Expo Graphics Management | Products & More info In Whatsapp"; --item-width: 100px; --item-value1: "+918140549609"; --item-value2: "shreejigraphicsstudio@gmail.com"; --item-value3: "+918140549609"; --item-value4: "https://www.instagram.com/shreeji_graphics_studio/"; --item-value5: "https://www.facebook.com/shreejigraphicsstudio"; --item-value6: "http://hetusart.etsy.com/"; --item-value7: "https://in.pinterest.com/shreejigraphicsstudio/"; --item-value8: "https://shreejigraphicsstudio11.blogspot.com/"; --item-value9: "https://connecttocustomer.blogspot.com/2025/04/shreeji-graphics-studio-zexspix-body.html"; --item-value10: "https://wa.me/c/918140549609"; --item-value11: "https://g.page/r/Cc9XlosQfySJEAE/review"; --item-value12: ""; --qr-value:"https://drive.google.com/file/d/1kFhaIYRrYG6C951vf1GqpMlRw56acGgU/view?usp=drive_link"; }
.container { display: flex; flex-direction: column; height: 100%; position: relative; } .top-view, .bottom-view { position: relative; display: flex; justify-content: center; align-items: center; flex: 1; } .gray-box { z-index: 1; width: calc(100% - 40px); /* Adjust width to consider margin */ max-width: 370px; /* Set maximum width after considering margin */ min-width: 340px; /* Set maximum width after considering margin */ background-color: var(--profile-color); border-radius: 18px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); margin: 0 auto; /* Center the gray box horizontally */ flex: 1; }
.top-view { background-image: var(--banner-image); background-size: cover; background-position: center; min-height: 150px; max-height: 150px; } .bottom-view { position: relative; background-color: var(--bottom-color); display: flex; /* Use flexbox */ flex-direction: column; /* Stack children vertically */ } .bottom-view .gray-box { position: absolute; top: 0; left: 50%; padding-bottom: 10px; /* Space between profile image and bottom of gray box */
} .profile-image { width: 120px; height: 120px; border-radius: 50%; background-image: var(--profile-image); /* Set the profile image */ background-size: cover; background-position: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Add dark shadow */ margin-top: -25%; /* Adjust the negative margin to position the profile image */ position: absolute; left: 50%; transform: translateX(-50%); }
.other-detail { margin-left: 10px; margin-right: 10px; text-align: center; }
.username { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: bold; color: white; margin-bottom: 8px; }
.username::before { content: var(--username-text); } .description { font-family: 'Roboto', sans-serif; font-size: 16px; color: #ffffff66; margin-top: 8px; } .description::before { content: var(--description-text); } .grid-view { display: grid; justify-items: center; gap: 18px; margin: 0 auto; /* Center the gray box horizontally */ justify-content: center; flex: 1; /* Let it expand to fill the available space */ margin-bottom: 20px; align-content: start; /* Align items to the top of the grid container */
}
.grid-item { background-color: #f0f0f000; width: 60px; height: 80px; cursor: pointer; }
.image-item { width: 60px; height: 60px; background-size: cover; background-position: center; border-radius: 52%; background-color: #fff; } #item1 { background-image: var(--item1-image); /* Set the profile image */ } #item2 { background-image: var(--item2-image); /* Set the profile image */ } #item3 { background-image: var(--item3-image); /* Set the profile image */ } #item4 { background-image: var(--item4-image); /* Set the profile image */ } #item5 { background-image: var(--item5-image); /* Set the profile image */ } #item6 { background-image: var(--item6-image); /* Set the profile image */ } #item7 { background-image: var(--item7-image); /* Set the profile image */ } #item8 { background-image: var(--item8-image); /* Set the profile image */ } #item9 { background-image: var(--item9-image); /* Set the profile image */ } #item10 { background-image: var(--item10-image); /* Set the profile image */ } #item11 { background-image: var(--item11-image); /* Set the profile image */ } #item12 { background-image: var(--item12-image); /* Set the profile image */ } .title-item { color: #fff; margin-top: 10px; font-size: 12px; text-align: center; } .footer { color: #fff; font-size: 12px; margin-top: 10px; margin-bottom: 10px; } #item-title1::before { content: var(--item-title1); } #item-title2::before { content: var(--item-title2); } #item-title3::before { content: var(--item-title3); } #item-title4::before { content: var(--item-title4); } #item-title5::before { content: var(--item-title5); } #item-title6::before { content: var(--item-title6); } #item-title7::before { content: var(--item-title7); } #item-title8::before { content: var(--item-title8); } #item-title9::before { content: var(--item-title9); } #item-title10::before { content: var(--item-title10); } #item-title11::before { content: var(--item-title11); } #item-title12::before { content: var(--item-title12); } .other-button { height: 50px; margin-top: 20px; display: flex; align-items: center; /* Align items vertically */ } .view1, .view2 { flex-grow: 1; flex-basis: 0; /* Allow flex-grow to determine width */ height: 50px; margin: 5px; background-color: #0005; border-radius: 18px; color: #fff; font-family: 'Roboto', sans-serif; word-wrap: break-word; white-space: normal; display: flex; align-items: center; line-height: 1.2; justify-content: center; cursor: pointer; } .view1 { } .view2 {
}</style></head><body>
<div class="container"> <div class="top-view"></div> <div class="bottom-view"> <div class="gray-box"> <div class="profile-image"></div> <div class="other-detail"> <div class="username"></div> <div class="description"></div> <div class="other-button"> <div class="view1">Download QR</div> <div class="view2">Save To Phone</div> </div> </div> </div> <div class="space-view"></div> <div class="grid-view"> <div class="grid-item"> <div class="image-item" id="item1"></div> <div class="title-item" id="item-title1"></div> </div> <div class="grid-item"> <div class="image-item" id="item2"></div> <div class="title-item" id="item-title2"></div> </div> <div class="grid-item"> <div class="image-item" id="item3"></div> <div class="title-item" id="item-title3"></div> </div> <div class="grid-item"> <div class="image-item" id="item4"></div> <div class="title-item" id="item-title4"></div> </div> <div class="grid-item"> <div class="image-item" id="item5"></div> <div class="title-item" id="item-title5"></div> </div> <div class="grid-item"> <div class="image-item" id="item6"></div> <div class="title-item" id="item-title6"></div> </div> <div class="grid-item"> <div class="image-item" id="item7"></div> <div class="title-item" id="item-title7"></div> </div> <div class="grid-item"> <div class="image-item" id="item8"></div> <div class="title-item" id="item-title8"></div> </div> <div class="grid-item"> <div class="image-item" id="item9"></div> <div class="title-item" id="item-title9"></div> </div> <div class="grid-item"> <div class="image-item" id="item10"></div> <div class="title-item" id="item-title10"></div> </div> <div class="grid-item"> <div class="image-item" id="item11"></div> <div class="title-item" id="item-title11"></div> </div> <div class="grid-item"> <div class="image-item" id="item12"></div> <div class="title-item" id="item-title12"></div> </div> </div> <div class="footer">Design By : <a href="https://www.instagram.com/shreeji_graphics_studio/">ZEXSPIX</a></div> </div></div><script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script><script src="https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js"></script>
<script> function generateAndDownloadQRCode() { // Get the text you want to encode into the QR code const text = "Zexspix"; // Generate the QR code const qrCodeElement = document.createElement('div'); new QRCode(qrCodeElement, { text: text, width: 128, height: 128 }); // Create a temporary canvas element const canvas = document.createElement('canvas'); canvas.width = qrCodeElement.firstChild.width; canvas.height = qrCodeElement.firstChild.height; const context = canvas.getContext('2d'); // Convert the QR code to an image const qrCodeImage = new Image(); qrCodeImage.src = qrCodeElement.firstChild.toDataURL('image/png'); // Draw the QR code image onto the canvas qrCodeImage.onload = function() { context.drawImage(qrCodeImage, 0, 0); // Convert the canvas to a data URL const dataURL = canvas.toDataURL('image/png'); // Create a temporary link element const link = document.createElement('a'); link.href = dataURL; link.download = 'qrcode.png'; // Simulate a click on the link to trigger the download link.click(); }; } function generateAndDownloadVCard() { var username = getComputedStyle(document.documentElement).getPropertyValue('--username-text').replace(/"/g, '').trim(); var itemValue1 = getComputedStyle(document.documentElement).getPropertyValue('--item-value1').trim().replace(/"/g, '').trim();
let vCardText = `BEGIN:VCARDVERSION:3.0N;CHARSET=UTF-8:${username};;;FN;CHARSET=UTF-8:${username}TEL;TYPE=WORK,VOICE:${itemValue1}`; vCardText += 'END:VCARD';
const blob = new Blob([vCardText], { type: 'text/vcard' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url;
a.download = 'Zexspix.vcf'; document.body.appendChild(a); a.click();
document.body.removeChild(a); URL.revokeObjectURL(url); }
window.addEventListener('DOMContentLoaded', function() { var grayBox = document.querySelector('.gray-box'); var profileImage = document.querySelector('.profile-image'); var otherDetail = document.querySelector('.other-detail'); var gridView = document.querySelector('.grid-view'); var gridItem = document.querySelector('.grid-item'); var bottomView = document.querySelector('.bottom-view'); var spaceView = document.querySelector('.space-view'); var itemValue1 = getComputedStyle(document.documentElement).getPropertyValue('--item-value1').trim().replace(/"/g, '').trim(); var itemValue2 = getComputedStyle(document.documentElement).getPropertyValue('--item-value2').trim().replace(/"/g, '').trim(); var itemValue3 = getComputedStyle(document.documentElement).getPropertyValue('--item-value3').trim().replace(/"/g, '').trim(); var itemValue4 = getComputedStyle(document.documentElement).getPropertyValue('--item-value4').trim().replace(/"/g, '').trim(); var itemValue5 = getComputedStyle(document.documentElement).getPropertyValue('--item-value5').trim().replace(/"/g, '').trim(); var itemValue6 = getComputedStyle(document.documentElement).getPropertyValue('--item-value6').trim().replace(/"/g, '').trim(); var itemValue7 = getComputedStyle(document.documentElement).getPropertyValue('--item-value7').trim().replace(/"/g, '').trim(); var itemValue8 = getComputedStyle(document.documentElement).getPropertyValue('--item-value8').trim().replace(/"/g, '').trim(); var itemValue9 = getComputedStyle(document.documentElement).getPropertyValue('--item-value9').trim().replace(/"/g, '').trim(); var itemValue10 = getComputedStyle(document.documentElement).getPropertyValue('--item-value10').trim().replace(/"/g, '').trim(); var itemValue11 = getComputedStyle(document.documentElement).getPropertyValue('--item-value11').trim().replace(/"/g, '').trim(); var itemValue12 = getComputedStyle(document.documentElement).getPropertyValue('--item-value12').trim().replace(/"/g, '').trim(); var qrValue = getComputedStyle(document.documentElement).getPropertyValue('--qr-value').trim().replace(/"/g, '').trim();
var profileImageHeight = profileImage.offsetHeight / 2; grayBox.style.transform = 'translate(-50%, ' + -profileImageHeight + 'px)'; profileImage.style.marginTop = -profileImageHeight + 'px'; otherDetail.style.marginTop = (profileImageHeight + 10) + 'px'; grayBox.style.height = (profileImageHeight + otherDetail.offsetHeight + otherDetail.style.marginTop) + 'px';
spaceView.style.height = (grayBox.offsetHeight - profileImageHeight + 30) + 'px'; gridView.style.width = grayBox.offsetWidth + 'px'; gridView.style.gridTemplateColumns = `repeat(auto-fill, ${gridItem.offsetWidth}px)`; // document.querySelector('.view1').addEventListener('click', generateAndDownloadQRCode); document.querySelector('.view2').addEventListener('click', generateAndDownloadVCard); document.getElementById('item1').addEventListener("click", function() { window.location.href = "tel:" + itemValue1; }); document.getElementById('item2').addEventListener("click", function() { window.location.href = "mailto:" + itemValue2; }); document.getElementById('item3').addEventListener("click", function() { var whatsappUrl = "https://wa.me/" + itemValue3; window.open(whatsappUrl, '_blank'); }); document.getElementById('item4').addEventListener("click", function() { window.open(itemValue4, '_blank'); }); document.getElementById('item5').addEventListener("click", function() { window.open(itemValue5, '_blank'); }); document.getElementById('item6').addEventListener("click", function() { window.open(itemValue6, '_blank'); }); document.getElementById('item7').addEventListener("click", function() { window.open(itemValue7, '_blank'); }); document.getElementById('item8').addEventListener("click", function() { window.open(itemValue8, '_blank'); }); document.getElementById('item9').addEventListener("click", function() { window.open(itemValue9, '_blank'); }); document.getElementById('item10').addEventListener("click", function() { window.open(itemValue10, '_blank'); }); document.getElementById('item11').addEventListener("click", function() { window.open(itemValue11, '_blank'); }); document.getElementById('item12').addEventListener("click", function() { window.open(itemValue12, '_blank'); }); document.querySelector('.view1').addEventListener("click", async function() {
try { // Fetch the QR code image as a blob const response = await fetch(qrValue); const blob = await response.blob(); // Create a download link const downloadLink = document.createElement('a'); downloadLink.href = URL.createObjectURL(blob); downloadLink.download = 'qr-code.png'; // Set the desired file name // Append the download link to the document body document.body.appendChild(downloadLink); // Trigger a click event on the download link to initiate download downloadLink.click(); // Clean up: remove the download link and revoke the object URL document.body.removeChild(downloadLink); URL.revokeObjectURL(downloadLink.href); } catch (error) { console.error('Error generating QR code:', error); } });
});</script>
</body></html><div class="separator" style="clear: both; text-align: center;"><br /></div><br />
wrwewwe<html lang="en"><head><meta charset="UTF-8"></meta><meta content="width=device-width, initial-scale=1.0" name="viewport"></meta><title>Shreeji Graphics Studio ( ZEXSPIX )</title><style> body, html { margin: 0; padding: 0; height: 100%; width: 100%; background-color: var(--bottom-color); }
:root { --banner-image: url('https://4kwallpapers.com/images/wallpapers/dark-background-abstract-background-network-3d-background-2560x1440-8324.png'); --profile-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ipio1_2s5nZfJWFQAlVws-s1N3bMsRGCe6cruU9lmWDD7VpcWZtBUASeiGto1nd6-6Qkv-sgDc4gPUqx7Beg8y8cZgPRC1PGdb-bo8cRrHQG7yog-x9jlsZZWomkbp9sBlxI6x0ekQEd/h120/Logo_zexspix.jpg'); --item1-image: url('https://cdn-icons-png.flaticon.com/128/9946/9946341.png'); --item2-image: url('https://cdn-icons-png.flaticon.com/128/9068/9068642.png'); --item3-image: url('https://cdn-icons-png.flaticon.com/128/15707/15707820.png'); --item4-image: url('https://cdn-icons-png.flaticon.com/128/15707/15707749.png'); --item5-image: url('https://cdn-icons-png.flaticon.com/128/1312/1312139.png'); --item6-image: url('https://cdn-icons-png.flaticon.com/128/4494/4494615.png'); --item7-image: url('https://cdn-icons-png.flaticon.com/128/1377/1377257.png'); --item8-image: url('https://cdn-icons-png.flaticon.com/128/12953/12953846.png'); --item9-image: url('https://cdn-icons-png.flaticon.com/128/2268/2268728.png'); --item10-image: url('https://cdn2.iconfinder.com/data/icons/shopping-and-e-commerce-flat-circle-shadow-vol-1/100/buy__shopping__shop__ecommerce__cart__buynow__purchase-64.png'); --item11-image: url('https://miro.medium.com/v2/resize:fit:800/1*o7ISWcdbgvOFLpYAFl5n_Q.jpeg'); --item12-image: url('https://cdn4.iconfinder.com/data/icons/camping-and-adventure-part-1/135/13-64.png'); --item-title1: "Call & Save"; --item-title2: "Email"; --item-title3: "Whatsapp"; --item-title4: "Instagram"; --item-title5: "Facebook"; --item-title6: "Etsy"; --item-title7: "Pintrest"; --item-title8: "Website"; --item-title9: "Discount"; --item-title10: "Products"; --item-title11: "Review"; --item-title12: "Location"; --profile-color: #1f2130; --bottom-color: #1f2130; --username-text: "SHREEJI GRAPHICS STUDIO"; --description-text: "A Unit Of Designing & Printing | Event & Expo Graphics Management | Products & More info In Whatsapp"; --item-width: 100px; --item-value1: "+918140549609"; --item-value2: "shreejigraphicsstudio@gmail.com"; --item-value3: "+918140549609"; --item-value4: "https://www.instagram.com/shreeji_graphics_studio/"; --item-value5: "https://www.facebook.com/shreejigraphicsstudio"; --item-value6: "http://hetusart.etsy.com/"; --item-value7: "https://in.pinterest.com/shreejigraphicsstudio/"; --item-value8: "https://shreejigraphicsstudio11.blogspot.com/"; --item-value9: "https://connecttocustomer.blogspot.com/2025/04/shreeji-graphics-studio-zexspix-body.html"; --item-value10: "https://wa.me/c/918140549609"; --item-value11: "https://g.page/r/Cc9XlosQfySJEAE/review"; --item-value12: ""; --qr-value:"https://drive.google.com/file/d/1kFhaIYRrYG6C951vf1GqpMlRw56acGgU/view?usp=drive_link"; }
.container { display: flex; flex-direction: column; height: 100%; position: relative; } .top-view, .bottom-view { position: relative; display: flex; justify-content: center; align-items: center; flex: 1; } .gray-box { z-index: 1; width: calc(100% - 40px); /* Adjust width to consider margin */ max-width: 370px; /* Set maximum width after considering margin */ min-width: 340px; /* Set maximum width after considering margin */ background-color: var(--profile-color); border-radius: 18px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); margin: 0 auto; /* Center the gray box horizontally */ flex: 1; }
.top-view { background-image: var(--banner-image); background-size: cover; background-position: center; min-height: 150px; max-height: 150px; } .bottom-view { position: relative; background-color: var(--bottom-color); display: flex; /* Use flexbox */ flex-direction: column; /* Stack children vertically */ } .bottom-view .gray-box { position: absolute; top: 0; left: 50%; padding-bottom: 10px; /* Space between profile image and bottom of gray box */
} .profile-image { width: 120px; height: 120px; border-radius: 50%; background-image: var(--profile-image); /* Set the profile image */ background-size: cover; background-position: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Add dark shadow */ margin-top: -25%; /* Adjust the negative margin to position the profile image */ position: absolute; left: 50%; transform: translateX(-50%); }
.other-detail { margin-left: 10px; margin-right: 10px; text-align: center; }
.username { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: bold; color: white; margin-bottom: 8px; }
.username::before { content: var(--username-text); } .description { font-family: 'Roboto', sans-serif; font-size: 16px; color: #ffffff66; margin-top: 8px; } .description::before { content: var(--description-text); } .grid-view { display: grid; justify-items: center; gap: 18px; margin: 0 auto; /* Center the gray box horizontally */ justify-content: center; flex: 1; /* Let it expand to fill the available space */ margin-bottom: 20px; align-content: start; /* Align items to the top of the grid container */
}
.grid-item { background-color: #f0f0f000; width: 60px; height: 80px; cursor: pointer; }
.image-item { width: 60px; height: 60px; background-size: cover; background-position: center; border-radius: 52%; background-color: #fff; } #item1 { background-image: var(--item1-image); /* Set the profile image */ } #item2 { background-image: var(--item2-image); /* Set the profile image */ } #item3 { background-image: var(--item3-image); /* Set the profile image */ } #item4 { background-image: var(--item4-image); /* Set the profile image */ } #item5 { background-image: var(--item5-image); /* Set the profile image */ } #item6 { background-image: var(--item6-image); /* Set the profile image */ } #item7 { background-image: var(--item7-image); /* Set the profile image */ } #item8 { background-image: var(--item8-image); /* Set the profile image */ } #item9 { background-image: var(--item9-image); /* Set the profile image */ } #item10 { background-image: var(--item10-image); /* Set the profile image */ } #item11 { background-image: var(--item11-image); /* Set the profile image */ } #item12 { background-image: var(--item12-image); /* Set the profile image */ } .title-item { color: #fff; margin-top: 10px; font-size: 12px; text-align: center; } .footer { color: #fff; font-size: 12px; margin-top: 10px; margin-bottom: 10px; } #item-title1::before { content: var(--item-title1); } #item-title2::before { content: var(--item-title2); } #item-title3::before { content: var(--item-title3); } #item-title4::before { content: var(--item-title4); } #item-title5::before { content: var(--item-title5); } #item-title6::before { content: var(--item-title6); } #item-title7::before { content: var(--item-title7); } #item-title8::before { content: var(--item-title8); } #item-title9::before { content: var(--item-title9); } #item-title10::before { content: var(--item-title10); } #item-title11::before { content: var(--item-title11); } #item-title12::before { content: var(--item-title12); } .other-button { height: 50px; margin-top: 20px; display: flex; align-items: center; /* Align items vertically */ } .view1, .view2 { flex-grow: 1; flex-basis: 0; /* Allow flex-grow to determine width */ height: 50px; margin: 5px; background-color: #0005; border-radius: 18px; color: #fff; font-family: 'Roboto', sans-serif; word-wrap: break-word; white-space: normal; display: flex; align-items: center; line-height: 1.2; justify-content: center; cursor: pointer; } .view1 { } .view2 {
}</style></head><body>
<div class="container"> <div class="top-view"></div> <div class="bottom-view"> <div class="gray-box"> <div class="profile-image"></div> <div class="other-detail"> <div class="username"></div> <div class="description"></div> <div class="other-button"> <div class="view1">Download QR</div> <div class="view2">Save To Phone</div> </div> </div> </div> <div class="space-view"></div> <div class="grid-view"> <div class="grid-item"> <div class="image-item" id="item1"></div> <div class="title-item" id="item-title1"></div> </div> <div class="grid-item"> <div class="image-item" id="item2"></div> <div class="title-item" id="item-title2"></div> </div> <div class="grid-item"> <div class="image-item" id="item3"></div> <div class="title-item" id="item-title3"></div> </div> <div class="grid-item"> <div class="image-item" id="item4"></div> <div class="title-item" id="item-title4"></div> </div> <div class="grid-item"> <div class="image-item" id="item5"></div> <div class="title-item" id="item-title5"></div> </div> <div class="grid-item"> <div class="image-item" id="item6"></div> <div class="title-item" id="item-title6"></div> </div> <div class="grid-item"> <div class="image-item" id="item7"></div> <div class="title-item" id="item-title7"></div> </div> <div class="grid-item"> <div class="image-item" id="item8"></div> <div class="title-item" id="item-title8"></div> </div> <div class="grid-item"> <div class="image-item" id="item9"></div> <div class="title-item" id="item-title9"></div> </div> <div class="grid-item"> <div class="image-item" id="item10"></div> <div class="title-item" id="item-title10"></div> </div> <div class="grid-item"> <div class="image-item" id="item11"></div> <div class="title-item" id="item-title11"></div> </div> <div class="grid-item"> <div class="image-item" id="item12"></div> <div class="title-item" id="item-title12"></div> </div> </div> <div class="footer">Design By : <a href="https://www.instagram.com/shreeji_graphics_studio/">ZEXSPIX</a></div> </div></div><script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script><script src="https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js"></script>
<script> function generateAndDownloadQRCode() { // Get the text you want to encode into the QR code const text = "Zexspix"; // Generate the QR code const qrCodeElement = document.createElement('div'); new QRCode(qrCodeElement, { text: text, width: 128, height: 128 }); // Create a temporary canvas element const canvas = document.createElement('canvas'); canvas.width = qrCodeElement.firstChild.width; canvas.height = qrCodeElement.firstChild.height; const context = canvas.getContext('2d'); // Convert the QR code to an image const qrCodeImage = new Image(); qrCodeImage.src = qrCodeElement.firstChild.toDataURL('image/png'); // Draw the QR code image onto the canvas qrCodeImage.onload = function() { context.drawImage(qrCodeImage, 0, 0); // Convert the canvas to a data URL const dataURL = canvas.toDataURL('image/png'); // Create a temporary link element const link = document.createElement('a'); link.href = dataURL; link.download = 'qrcode.png'; // Simulate a click on the link to trigger the download link.click(); }; } function generateAndDownloadVCard() { var username = getComputedStyle(document.documentElement).getPropertyValue('--username-text').replace(/"/g, '').trim(); var itemValue1 = getComputedStyle(document.documentElement).getPropertyValue('--item-value1').trim().replace(/"/g, '').trim();
let vCardText = `BEGIN:VCARDVERSION:3.0N;CHARSET=UTF-8:${username};;;FN;CHARSET=UTF-8:${username}TEL;TYPE=WORK,VOICE:${itemValue1}`; vCardText += 'END:VCARD';
const blob = new Blob([vCardText], { type: 'text/vcard' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url;
a.download = 'Zexspix.vcf'; document.body.appendChild(a); a.click();
document.body.removeChild(a); URL.revokeObjectURL(url); }
window.addEventListener('DOMContentLoaded', function() { var grayBox = document.querySelector('.gray-box'); var profileImage = document.querySelector('.profile-image'); var otherDetail = document.querySelector('.other-detail'); var gridView = document.querySelector('.grid-view'); var gridItem = document.querySelector('.grid-item'); var bottomView = document.querySelector('.bottom-view'); var spaceView = document.querySelector('.space-view'); var itemValue1 = getComputedStyle(document.documentElement).getPropertyValue('--item-value1').trim().replace(/"/g, '').trim(); var itemValue2 = getComputedStyle(document.documentElement).getPropertyValue('--item-value2').trim().replace(/"/g, '').trim(); var itemValue3 = getComputedStyle(document.documentElement).getPropertyValue('--item-value3').trim().replace(/"/g, '').trim(); var itemValue4 = getComputedStyle(document.documentElement).getPropertyValue('--item-value4').trim().replace(/"/g, '').trim(); var itemValue5 = getComputedStyle(document.documentElement).getPropertyValue('--item-value5').trim().replace(/"/g, '').trim(); var itemValue6 = getComputedStyle(document.documentElement).getPropertyValue('--item-value6').trim().replace(/"/g, '').trim(); var itemValue7 = getComputedStyle(document.documentElement).getPropertyValue('--item-value7').trim().replace(/"/g, '').trim(); var itemValue8 = getComputedStyle(document.documentElement).getPropertyValue('--item-value8').trim().replace(/"/g, '').trim(); var itemValue9 = getComputedStyle(document.documentElement).getPropertyValue('--item-value9').trim().replace(/"/g, '').trim(); var itemValue10 = getComputedStyle(document.documentElement).getPropertyValue('--item-value10').trim().replace(/"/g, '').trim(); var itemValue11 = getComputedStyle(document.documentElement).getPropertyValue('--item-value11').trim().replace(/"/g, '').trim(); var itemValue12 = getComputedStyle(document.documentElement).getPropertyValue('--item-value12').trim().replace(/"/g, '').trim(); var qrValue = getComputedStyle(document.documentElement).getPropertyValue('--qr-value').trim().replace(/"/g, '').trim();
var profileImageHeight = profileImage.offsetHeight / 2; grayBox.style.transform = 'translate(-50%, ' + -profileImageHeight + 'px)'; profileImage.style.marginTop = -profileImageHeight + 'px'; otherDetail.style.marginTop = (profileImageHeight + 10) + 'px'; grayBox.style.height = (profileImageHeight + otherDetail.offsetHeight + otherDetail.style.marginTop) + 'px';
spaceView.style.height = (grayBox.offsetHeight - profileImageHeight + 30) + 'px'; gridView.style.width = grayBox.offsetWidth + 'px'; gridView.style.gridTemplateColumns = `repeat(auto-fill, ${gridItem.offsetWidth}px)`; // document.querySelector('.view1').addEventListener('click', generateAndDownloadQRCode); document.querySelector('.view2').addEventListener('click', generateAndDownloadVCard); document.getElementById('item1').addEventListener("click", function() { window.location.href = "tel:" + itemValue1; }); document.getElementById('item2').addEventListener("click", function() { window.location.href = "mailto:" + itemValue2; }); document.getElementById('item3').addEventListener("click", function() { var whatsappUrl = "https://wa.me/" + itemValue3; window.open(whatsappUrl, '_blank'); }); document.getElementById('item4').addEventListener("click", function() { window.open(itemValue4, '_blank'); }); document.getElementById('item5').addEventListener("click", function() { window.open(itemValue5, '_blank'); }); document.getElementById('item6').addEventListener("click", function() { window.open(itemValue6, '_blank'); }); document.getElementById('item7').addEventListener("click", function() { window.open(itemValue7, '_blank'); }); document.getElementById('item8').addEventListener("click", function() { window.open(itemValue8, '_blank'); }); document.getElementById('item9').addEventListener("click", function() { window.open(itemValue9, '_blank'); }); document.getElementById('item10').addEventListener("click", function() { window.open(itemValue10, '_blank'); }); document.getElementById('item11').addEventListener("click", function() { window.open(itemValue11, '_blank'); }); document.getElementById('item12').addEventListener("click", function() { window.open(itemValue12, '_blank'); }); document.querySelector('.view1').addEventListener("click", async function() {
try { // Fetch the QR code image as a blob const response = await fetch(qrValue); const blob = await response.blob(); // Create a download link const downloadLink = document.createElement('a'); downloadLink.href = URL.createObjectURL(blob); downloadLink.download = 'qr-code.png'; // Set the desired file name // Append the download link to the document body document.body.appendChild(downloadLink); // Trigger a click event on the download link to initiate download downloadLink.click(); // Clean up: remove the download link and revoke the object URL document.body.removeChild(downloadLink); URL.revokeObjectURL(downloadLink.href); } catch (error) { console.error('Error generating QR code:', error); } });
});</script>
</body></html><div class="separator" style="clear: both; text-align: center;"><br /></div><br />