Major changes:
• Remove BTCPay Server integration in favor of SilverPAY manual verification
• Add test data cleanup mechanisms (API endpoints and shell scripts)
• Fix compilation errors in TestController (IdentityReference vs CustomerIdentity)
• Add deployment automation scripts for Hostinger VPS
• Enhance integration testing with comprehensive E2E validation
• Add Blazor components and mobile-responsive CSS for admin interface
• Create production environment configuration scripts
Key Features Added:
• Manual payment verification through Admin panel Order Details
• Bulk test data cleanup with proper cascade handling
• Deployment automation with systemd service configuration
• Comprehensive E2E testing suite with SilverPAY integration validation
• Mobile-first admin interface improvements
Security & Production:
• Environment variable configuration for production secrets
• Proper JWT and VAPID key management
• SilverPAY API integration with live credentials
• Database cleanup and maintenance tools
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
64 lines
2.7 KiB
HTML
64 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<base href="/" />
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Blazor Assets Test</title>
|
|
</head>
|
|
<body>
|
|
<div id="test-results">
|
|
<h1>Blazor Asset Loading Test</h1>
|
|
<div id="results">
|
|
<p id="blazor-status">❓ Checking Blazor Server JS...</p>
|
|
<p id="radzen-status">❓ Checking Radzen Blazor JS...</p>
|
|
<p id="signalr-status">❓ Checking SignalR connection...</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test Blazor Server JS -->
|
|
<script src="/_framework/blazor.server.js"></script>
|
|
<!-- Test Radzen JS -->
|
|
<script src="/_content/Radzen.Blazor/Radzen.Blazor.js"></script>
|
|
|
|
<script>
|
|
// Check if Blazor is available
|
|
window.addEventListener('load', function() {
|
|
setTimeout(function() {
|
|
const blazorStatus = document.getElementById('blazor-status');
|
|
const radzenStatus = document.getElementById('radzen-status');
|
|
const signalrStatus = document.getElementById('signalr-status');
|
|
|
|
if (typeof window.Blazor !== 'undefined') {
|
|
blazorStatus.innerHTML = '✅ Blazor Server JS loaded successfully';
|
|
blazorStatus.style.color = 'green';
|
|
} else {
|
|
blazorStatus.innerHTML = '❌ Blazor Server JS failed to load';
|
|
blazorStatus.style.color = 'red';
|
|
}
|
|
|
|
if (typeof window.Radzen !== 'undefined') {
|
|
radzenStatus.innerHTML = '✅ Radzen Blazor JS loaded successfully';
|
|
radzenStatus.style.color = 'green';
|
|
} else {
|
|
radzenStatus.innerHTML = '❌ Radzen Blazor JS failed to load';
|
|
radzenStatus.style.color = 'red';
|
|
}
|
|
|
|
// Check SignalR
|
|
if (window.Blazor && window.Blazor.start) {
|
|
signalrStatus.innerHTML = '✅ SignalR connection methods available';
|
|
signalrStatus.style.color = 'green';
|
|
} else {
|
|
signalrStatus.innerHTML = '❌ SignalR connection methods not available';
|
|
signalrStatus.style.color = 'red';
|
|
}
|
|
|
|
console.log('Blazor available:', typeof window.Blazor !== 'undefined');
|
|
console.log('Radzen available:', typeof window.Radzen !== 'undefined');
|
|
console.log('All window objects:', Object.keys(window).filter(key => key.includes('Blazor') || key.includes('Radzen')));
|
|
}, 2000);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |