Replace stock Laravel branding — sidebar logo and favicon #121
Labels
No labels
bug
devops
duplicate
enhancement
good first issue
layout
next major release
next minor release
question
research
testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lvl0/fedi-feed-router#121
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The app still ships Laravel's default branding. The sidebar renders Laravel's logo, and no layout references a favicon at all — the files sitting in
public/are stock Laravel/Vite assets.What is actually there
Sidebar logo is Laravel's
resources/views/components/application-logo.blade.phpcontains Laravel's stock 316×316 SVG mark. It is rendered atresources/views/layouts/navigation.blade.php:9:So every authenticated page shows the Laravel logo.
No favicon is linked
grepforfavicon/rel="icon"acrossresources/views/returns nothing. Browsers fall back to probing/favicon.ico, sofavicon.svgandapple-touch-icon.pngare never used.The assets in
public/are stockVerified via git history — all of these arrived with
9be9e2e "Fresh Laravel + Sail install":public/favicon.icopublic/favicon.svgpublic/apple-touch-icon.pngpublic/logo.svgpublic/vite.svgThe only custom asset is
public/images/ffr-logo-600.png, added separately in3e7f8eb "Add logo"(Aug 2025) alongside a README change — it is the README banner.Blocked on a usable logo asset
The existing FFR logo cannot be used for either slot as-is:
resources/css/app.csscontains only two imports — no@themeblock, no CSS variables, no palette.What is needed first
An SVG with a transparent background. That single property makes everything downstream straightforward: favicon generation at all sizes, a navbar lockup, and recolouring via
currentColor.Typically this means one mark in multiple lockups:
The existing mark (RSS arcs flowing into an arrow, with circuit nodes) is a reasonable concept and could be traced to vector rather than redrawn. Whether to keep it or start fresh is an open design decision.
Implementation once an asset exists
application-logo.blade.phpwith the FFR mark<link>tags to all three layouts (app,guest,onboarding) —icon,apple-touch-icon, and an SVG variantpublic/with generated FFR versionspublic/vite.svgandpublic/logo.svgif unused after the swapresources/css/app.cssas a Tailwind@themeblockAcceptance criteria
apple-touch-iconcorrectly linkedpublic/Note on scope
Palette definition overlaps with #110 (dark mode) — if a palette is codified here, its dark variants should be decided at the same time rather than twice.
Related
Done in
4257bd7.Delivered
images/logo.pngin all three places (desktop sidebar, mobile drawer, mobile header) — previously a plainFFRtext heading after #88 removed the dead Breezeapplication-logocomponentfavicon-16x16.png,favicon-32x32.pngandapple-touch-icon.pnggenerated and linked from all three layouts (app,guest,onboarding)public/vite.svg,public/logo.svg,public/favicon.svg,public/favicon.icoRemoving
favicon.icomattered beyond tidiness — browsers probe/favicon.icoby default, so that path was still serving Laravel's icon even with the new<link>tags in place.Deviations from the ticket
The logo is a PNG, not a transparent SVG. The ticket listed "logo asset available as transparent SVG" as a hard blocker. In practice a PNG was used:
public/images/logo.png, 812 KB, rendered ath-12. It works, but it can't be recoloured viacurrentColorand is heavy for its display size. Worth revisiting if a vector source ever exists.public/images/ffr-logo-600.pngwas left in place — it is the README banner, not app branding, so out of scope here.Palette codification: deferred. The ticket asked whether to codify a palette here or defer. #88 (dark theme) shipped without one, using Tailwind's default neutral scale, so there is no palette to codify. Deferred rather than decided.
Verification
960 tests / 2524 assertions passing,
npm run buildclean. Sidebar and favicon confirmed in a browser.