add favicon and site icon generation from uploaded images
All checks were successful
deploy / deploy (push) Successful in 1m26s
All checks were successful
deploy / deploy (push) Successful in 1m26s
Upload a source image (PNG, JPEG, or SVG) and get a complete favicon setup: PNG variants at 32, 180, 192, 512px served from DB via FaviconController with ETag caching, SVG favicon for vector sources, dynamic site.webmanifest, and theme-color meta tag. Theme editor gains a site icon section with "use logo as icon" toggle, dedicated icon upload, short name, and background colour picker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -105,6 +105,18 @@ defmodule BerrypodWeb.Router do
|
||||
get "/sitemap.xml", SeoController, :sitemap
|
||||
end
|
||||
|
||||
# Favicon & PWA manifest — served from DB, minimal pipeline
|
||||
scope "/", BerrypodWeb do
|
||||
pipe_through [:seo]
|
||||
|
||||
get "/favicon.svg", FaviconController, :favicon_svg
|
||||
get "/favicon-32x32.png", FaviconController, :favicon_32
|
||||
get "/apple-touch-icon.png", FaviconController, :apple_touch_icon
|
||||
get "/icon-192.png", FaviconController, :icon_192
|
||||
get "/icon-512.png", FaviconController, :icon_512
|
||||
get "/site.webmanifest", FaviconController, :webmanifest
|
||||
end
|
||||
|
||||
# Cart API (session persistence for LiveView)
|
||||
scope "/api", BerrypodWeb do
|
||||
pipe_through [:browser]
|
||||
|
||||
Reference in New Issue
Block a user