Skip to content

feat(footer): add Evonia.ai company branding#62

Merged
AnnatarHe merged 1 commit into
masterfrom
feat/evonia-branding
Apr 24, 2026
Merged

feat(footer): add Evonia.ai company branding#62
AnnatarHe merged 1 commit into
masterfrom
feat/evonia-branding

Conversation

@AnnatarHe
Copy link
Copy Markdown
Member

Summary

  • Add subtle "Powered by Evonia.ai" link + logo in the footer to attribute the parent company
  • Introduce an evonia constant in src/constants.ts (name / url / logo) so the URL can be swapped without touching templates
  • Ship public/evonia/logo-dark.svg — a dark-background variant of the original logo (white backdrop removed, gradient lifted a shade) so the mark reads cleanly on the black footer

Test plan

  • pnpm astro check — 0 errors / 0 warnings
  • pnpm dev → scroll to footer on /, /posts, and an episode page (e.g. /posts/ep60): logo renders transparently on black, text is visibly dimmer than the teal authors row, link opens https://evoniaai.github.io/ in a new tab
  • Narrow viewport to mobile width — branding row wraps cleanly under the authors row

🤖 Generated with Claude Code

Add a subtle "Powered by Evonia.ai" link with logo in the footer to
attribute the parent company. URL lives in a constant so it can change
without touching templates. Ship a dark-background variant of the logo
so it reads on the black footer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@AnnatarHe AnnatarHe temporarily deployed to feat/evonia-branding - asynctalk-website PR #62 April 24, 2026 16:07 — with Render Destroyed
@claude
Copy link
Copy Markdown

claude Bot commented Apr 24, 2026

Code Review — feat(footer): add Evonia.ai company branding

Overview

This PR adds a "Powered by Evonia.ai" branding link + logo to the footer. The implementation is clean and minimal: a typed constant in constants.ts, a dark-mode SVG asset, and a small addition to footer.astro.


What Looks Good ✅

  • Constant extraction (src/constants.ts) is the right call — the URL is swappable in one place without touching templates, and as const is correct TypeScript.
  • Security: rel="noopener noreferrer" is properly paired with target="_blank" — no tabnapping risk.
  • SVG accessibility: role="img", <title>, and <desc> are present in the SVG files. (Note: since the SVG is loaded via <img>, those internal ARIA attributes don't surface in the host page's accessibility tree — the alt attribute on the <img> element is what matters, and alt={evonia.name} ("Evonia.ai") is correct.)
  • Tailwind style is consistent with the rest of the component; gap-3 is a clean spacing fix.

Issues / Suggestions

🔴 Minor bug: public/evonia/logo.svg is committed but never used

logo.svg (the light/white-background variant) is shipped to public/ but nothing in the codebase references it. It's dead weight from day one. Either remove it from this PR, or note it as intentionally reserved for a future use-case (e.g. light-mode support).

# Only logo-dark.svg is referenced:
src/constants.ts:  logo: '/evonia/logo-dark.svg',

🟡 Branding text is English in a Chinese-language site

The rendered text "Powered by Evonia.ai" is English while all other UI copy is Chinese. This may be intentional (sponsor attribution typically stays in the brand's own language), but worth a conscious decision. A Chinese equivalent like "由 Evonia.ai 提供支持" would be more consistent.

🟡 SVG <title> says "Smart Shell Cloud Logo"

Both SVG files have <title id="title">Smart Shell Cloud Logo</title>. This reads as an internal/generic placeholder name. Since the SVG is rendered as an <img> tag the <title> element doesn't affect the page's accessibility tree, but if these SVGs are ever inlined or reused, the stale title could be misleading. Suggest updating to "Evonia.ai Logo".

🟢 Nit: loading="lazy" is unnecessary here

The footer logo is 14×14 and tiny, so omitting loading="lazy" is fine. No change needed — just flagging that it's not a concern.


Summary

Correctness ✅ No bugs in the shipped code path
Conventions ✅ Consistent with project patterns
Performance ✅ Static SVG, appropriately sized
Security noopener noreferrer present
Tests ✅ Manual checklist is appropriate (no test framework exists)

One actionable item before merging: remove or justify the unused public/evonia/logo.svg. Everything else is clean.

🤖 Reviewed with Claude Code

@AnnatarHe AnnatarHe merged commit df99212 into master Apr 24, 2026
1 check passed
@AnnatarHe AnnatarHe deleted the feat/evonia-branding branch April 24, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant