payfrit-app/generate_icon.html
John Mizerek 4ebfbbc03b Add app branding, splash screen, and fix modifier validation
App Branding:
- New Payfrit app icon (blue gradient with white P logo)
- Custom splash screen with animated logo and tagline
- Android adaptive icon with foreground/background layers
- iOS app icons for all required sizes
- Updated launch screen backgrounds with brand colors

Splash Screen Experience:
- Animated logo with fade-in effect
- "Order. Pay. Go." tagline with staggered animations
- Restaurant list display with search functionality
- Beacon scanning integration from splash
- Smooth transition to menu browse

Modifier Validation Fix:
- Fixed validation to check ALL modifier groups (not just selected items)
- Ensures required selections are enforced for nested modifier groups
- Modifier groups with children now always get validated
- Prevents adding items without required selections

Cart Improvements:
- Better modifier display in cart items
- Improved line item quantity handling
- Enhanced order submission flow

Beacon Scanning:
- Improved beacon detection reliability
- Better handling of multiple beacons
- Enhanced error messaging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 01:55:13 -08:00

79 lines
2.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Payfrit Icon Generator</title>
<style>
body {
margin: 0;
padding: 20px;
background: #333;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}
.icon-container {
width: 1024px;
height: 1024px;
background: #000000;
display: flex;
align-items: center;
justify-content: center;
}
.icon-container img {
max-width: 90%;
max-height: 50%;
object-fit: contain;
}
canvas {
border: 2px solid #666;
}
.label {
color: white;
font-family: Arial, sans-serif;
}
button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="label">1024x1024 Icon Preview:</div>
<canvas id="iconCanvas" width="1024" height="1024"></canvas>
<button onclick="downloadIcon()">Download Icon (Right-click canvas and Save As PNG)</button>
<script>
const canvas = document.getElementById('iconCanvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.onload = function() {
// Fill black background
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, 1024, 1024);
// Calculate dimensions to fit logo (90% width, centered)
const targetWidth = 1024 * 0.85;
const scale = targetWidth / img.width;
const scaledHeight = img.height * scale;
// Center the image
const x = (1024 - targetWidth) / 2;
const y = (1024 - scaledHeight) / 2;
ctx.drawImage(img, x, y, targetWidth, scaledHeight);
};
img.src = 'icon.jpg';
function downloadIcon() {
const link = document.createElement('a');
link.download = 'payfrit_icon_1024.png';
link.href = canvas.toDataURL('image/png');
link.click();
}
</script>
</body>
</html>