## Route `/favicon-generator` ## Scenarios to test ### Upload - [ ] Dropzone visible on load - [ ] Uploading a PNG renders a preview of the uploaded image - [ ] Uploading a JPEG renders a preview - [ ] Uploading an SVG renders a preview (if supported) ### Size preview grid - [ ] A grid of favicon previews at multiple sizes is displayed (16×16, 32×32, 48×48, 192×192, 512×512) - [ ] All preview tiles show the image scaled to that size - [ ] The preview updates if the source image is changed ### Platform icon previews - [ ] Browser tab favicon preview (16×16 / 32×32) is shown - [ ] Apple touch icon preview (180×180) is shown - [ ] Android/PWA icon preview (192×192) is shown ### Download - [ ] "Download ZIP" button is present - [ ] Clicking it triggers a `.zip` download - [ ] The ZIP contains: - [ ] `favicon.ico` (multi-size ICO file) - [ ] `favicon-16x16.png` - [ ] `favicon-32x32.png` - [ ] `apple-touch-icon.png` (180×180) - [ ] `icon-192.png` - [ ] `icon-512.png` - [ ] An HTML `<link>` snippet is displayed for copy-pasting into a `<head>` tag ### Background options (if present) - [ ] Transparent vs. white background toggle works for ICO generation - [ ] Rounded corners option (if present) applies to the output ## Acceptance criteria - ZIP download triggered; contains favicon.ico and at least 4 PNG sizes - Preview grid renders all size tiles without error
Route
/favicon-generatorScenarios to test
Upload
Size preview grid
Platform icon previews
Download
.zipdownloadfavicon.ico(multi-size ICO file)favicon-16x16.pngfavicon-32x32.pngapple-touch-icon.png(180×180)icon-192.pngicon-512.png<link>snippet is displayed for copy-pasting into a<head>tagBackground options (if present)
Acceptance criteria