removed generate qrcodes that i struggled settin up

This commit is contained in:
iTakinn
2025-10-12 18:58:08 -03:00
parent 662b1e58ee
commit d5a38398f7
2 changed files with 332 additions and 504 deletions
+6 -90
View File
@@ -106,86 +106,14 @@
</div> </div>
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/qrcode@1.5.3/build/qrcode.min.js" onload="initQRCode()" onerror="loadQRCodeFallback()"></script> <script src="https://api.qrserver.com/v1/create-qr-code/?size=250x250&format=svg&data=test" style="display:none;"></script>
<script> <script>
var qrCodeLibraryLoaded = false;
var configForQR = null; var configForQR = null;
function initQRCode() {
qrCodeLibraryLoaded = true;
console.log('QRCode library loaded successfully');
if (configForQR) {
generateQRCode(configForQR);
}
}
function loadQRCodeFallback() {
console.log('Primary QRCode library failed, trying fallback...');
var script = document.createElement('script');
script.src = 'https://cdn.jsdelivr.net/npm/qrcode-generator@1.4.4/qrcode.min.js';
script.onload = function() {
console.log('Fallback QRCode library loaded');
qrCodeLibraryLoaded = true;
if (configForQR) {
generateQRCodeFallback(configForQR);
}
};
script.onerror = function() {
console.error('Both QRCode libraries failed to load');
var qrCodeElement = document.getElementById('qrcode');
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-danger">Unable to load QR Code library</p>';
}
};
document.head.appendChild(script);
}
function generateQRCode(configText) { function generateQRCode(configText) {
var qrCodeElement = document.getElementById('qrcode'); var qrCodeElement = document.getElementById('qrcode');
console.log('Generating QR Code with qrcode.js...');
console.log('Config text length:', configText.length);
if (qrCodeElement && configText && configText.trim() !== '') { if (qrCodeElement && configText && configText.trim() !== '') {
if (typeof QRCode === 'undefined') {
console.error('QRCode library not available, trying fallback');
generateQRCodeFallback(configText);
return;
}
try {
QRCode.toCanvas(qrCodeElement, configText, {
width: 250,
margin: 3,
color: {
dark: '#000000',
light: '#FFFFFF'
}
}, function(error) {
if (error) {
console.error('QR Code generation failed:', error);
qrCodeElement.innerHTML = '<p class="text-danger">QR Code generation failed: ' + error.message + '</p>';
} else {
console.log('QR Code generated successfully');
}
});
} catch (e) {
console.error('Exception during QR code generation:', e);
qrCodeElement.innerHTML = '<p class="text-danger">QR Code generation error: ' + e.message + '</p>';
}
} else {
console.error('QR Code generation failed: element or config missing');
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-warning">Configuration not available for QR code</p>';
}
}
}
function generateQRCodeFallback(configText) {
var qrCodeElement = document.getElementById('qrcode');
console.log('Trying fallback QR code generation...');
if (qrCodeElement && configText) {
try { try {
var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=' + encodeURIComponent(configText); var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=' + encodeURIComponent(configText);
var img = document.createElement('img'); var img = document.createElement('img');
@@ -193,39 +121,27 @@ function generateQRCodeFallback(configText) {
img.alt = 'WireGuard QR Code'; img.alt = 'WireGuard QR Code';
img.style.border = '3px solid #ddd'; img.style.border = '3px solid #ddd';
img.style.borderRadius = '4px'; img.style.borderRadius = '4px';
img.onload = function() {
console.log('Fallback QR code loaded successfully');
};
img.onerror = function() { img.onerror = function() {
qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>'; qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>';
}; };
qrCodeElement.innerHTML = ''; qrCodeElement.innerHTML = '';
qrCodeElement.appendChild(img); qrCodeElement.appendChild(img);
} catch (e) { } catch (e) {
console.error('Fallback QR code generation failed:', e); console.error('QR code generation failed:', e);
qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>'; qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>';
} }
} else {
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-warning">Configuration not available for QR code</p>';
}
} }
} }
{if $formatted_config} {if $formatted_config}
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
configForQR = {$formatted_config|json_encode}; configForQR = {$formatted_config|json_encode};
if (qrCodeLibraryLoaded) {
generateQRCode(configForQR); generateQRCode(configForQR);
} else {
console.log('Waiting for QRCode library to load...');
setTimeout(function() {
if (!qrCodeLibraryLoaded && configForQR) {
console.log('Timeout reached, using fallback QR generation');
generateQRCodeFallback(configForQR);
}
}, 3000);
}
}); });
{else}
console.log('No configuration available for QR code');
{/if} {/if}
function downloadFormattedConfig() { function downloadFormattedConfig() {
+14 -102
View File
@@ -106,130 +106,42 @@
</div> </div>
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/qrcode@1.5.3/build/qrcode.min.js" onload="initQRCode()" onerror="loadQRCodeFallback()"></script> <script src="https://api.qrserver.com/v1/create-qr-code/?size=250x250&format=svg&data=test" style="display:none;"></script>
<script> <script>
var qrCodeLibraryLoaded = false;
var configForQR = null; var configForQR = null;
function initQRCode() {
qrCodeLibraryLoaded = true;
console.log('QRCode library loaded successfully');
if (configForQR) {
generateQRCode(configForQR);
}
}
function loadQRCodeFallback() {
console.log('Primary QRCode library failed, trying fallback...');
var script = document.createElement('script');
script.src = 'https://cdn.jsdelivr.net/npm/qrcode-generator@1.4.4/qrcode.min.js';
script.onload = function() {
console.log('Fallback QRCode library loaded');
qrCodeLibraryLoaded = true;
if (configForQR) {
generateQRCodeFallback(configForQR);
}
};
script.onerror = function() {
console.error('Both QRCode libraries failed to load');
var qrCodeElement = document.getElementById('qrcode');
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-danger">Unable to load QR Code library</p>';
}
};
document.head.appendChild(script);
}
function generateQRCode(configText) { function generateQRCode(configText) {
var qrCodeElement = document.getElementById('qrcode'); var qrCodeElement = document.getElementById('qrcode');
console.log('Generating QR Code with qrcode.js...');
console.log('Config text length:', configText.length);
if (qrCodeElement && configText && configText.trim() !== '') { if (qrCodeElement && configText && configText.trim() !== '') {
// Check if QRCode library is loaded
if (typeof QRCode === 'undefined') {
console.error('Biblioteca QRCode não disponível, tentando fallback');
generateQRCodeFallback(configText);
return;
}
try { try {
QRCode.toCanvas(qrCodeElement, configText, {
width: 250,
margin: 3,
color: {
dark: '#000000',
light: '#FFFFFF'
}
}, function(error) {
if (error) {
console.error('Falha na geração do QR Code:', error);
qrCodeElement.innerHTML = '<p class="text-danger">Falha na geração do QR Code: ' + error.message + '</p>';
} else {
console.log('QR Code gerado com sucesso');
}
});
} catch (e) {
console.error('Exceção durante a geração do QR code:', e);
qrCodeElement.innerHTML = '<p class="text-danger">Erro na geração do QR Code: ' + e.message + '</p>';
}
} else {
console.error('Falha na geração do QR Code: elemento ou configuração ausente');
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-warning">Configuração não disponível para QR code</p>';
}
}
}
function generateQRCodeFallback(configText) {
var qrCodeElement = document.getElementById('qrcode');
console.log('Trying fallback QR code generation...');
if (qrCodeElement && configText) {
try {
// Create QR code using online service as fallback
var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=' + encodeURIComponent(configText); var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=' + encodeURIComponent(configText);
var img = document.createElement('img'); var img = document.createElement('img');
img.src = qrUrl; img.src = qrUrl;
img.alt = 'WireGuard QR Code'; img.alt = 'WireGuard QR Code';
img.style.border = '3px solid #ddd'; img.style.border = '3px solid #ddd';
img.style.borderRadius = '4px'; img.style.borderRadius = '4px';
img.onload = function() {
console.log('Fallback QR code loaded successfully');
};
img.onerror = function() { img.onerror = function() {
qrCodeElement.innerHTML = '<p class="text-danger">Falha ao gerar código QR</p>'; qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>';
}; };
qrCodeElement.innerHTML = ''; qrCodeElement.innerHTML = '';
qrCodeElement.appendChild(img); qrCodeElement.appendChild(img);
} catch (e) { } catch (e) {
console.error('Falha na geração do QR code de fallback:', e); console.error('QR code generation failed:', e);
qrCodeElement.innerHTML = '<p class="text-danger">Falha na geração do código QR</p>'; qrCodeElement.innerHTML = '<p class="text-danger">Failed to generate QR code</p>';
}
} else {
if (qrCodeElement) {
qrCodeElement.innerHTML = '<p class="text-warning">Configuration not available for QR code</p>';
} }
} }
} }
// Generate QR Code if formatted config is available
{if $formatted_config} {if $formatted_config}
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
configForQR = {$formatted_config|json_encode}; configForQR = {$formatted_config|json_encode};
if (qrCodeLibraryLoaded) {
generateQRCode(configForQR); generateQRCode(configForQR);
} else {
console.log('Waiting for QRCode library to load...');
// Timeout fallback
setTimeout(function() {
if (!qrCodeLibraryLoaded && configForQR) {
console.log('Timeout reached, using fallback QR generation');
generateQRCodeFallback(configForQR);
}
}, 3000);
}
}); });
{else}
console.log('No formatted config available for QR code');
{/if} {/if}
function downloadFormattedConfig() { function downloadFormattedConfig() {
@@ -250,7 +162,7 @@ function copyFormattedConfig() {
var config = {$formatted_config|json_encode}; var config = {$formatted_config|json_encode};
if (navigator.clipboard && window.isSecureContext) { if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(config).then(function() { navigator.clipboard.writeText(config).then(function() {
alert('Configuração copiada para a área de transferência!'); alert('Configuration copied to clipboard!');
}).catch(function(err) { }).catch(function(err) {
fallbackCopyTextToClipboard(config); fallbackCopyTextToClipboard(config);
}); });
@@ -272,12 +184,12 @@ function fallbackCopyTextToClipboard(text) {
try { try {
var successful = document.execCommand('copy'); var successful = document.execCommand('copy');
if (successful) { if (successful) {
alert('Configuração copiada para a área de transferência!'); alert('Configuration copied to clipboard!');
} else { } else {
alert('Falha ao copiar configuração. Por favor, copie manualmente.'); alert('Failed to copy configuration. Please copy manually.');
} }
} catch (err) { } catch (err) {
alert('Falha ao copiar configuração. Por favor, copie manualmente.'); alert('Failed to copy configuration. Please copy manually.');
} }
document.body.removeChild(textArea); document.body.removeChild(textArea);
} }
@@ -303,9 +215,9 @@ function copyConfig() {
textarea.select(); textarea.select();
try { try {
document.execCommand('copy'); document.execCommand('copy');
alert('Configuração copiada para a área de transferência!'); alert('Configuration copied to clipboard!');
} catch (err) { } catch (err) {
alert('Falha ao copiar configuração. Por favor, selecione e copie manualmente.'); alert('Failed to copy configuration. Please select and copy manually.');
} }
} }
} }