feat(brand): default emblem — favicon, hero medallion, footer credit #69

Merged
whitlocktech merged 3 commits from feature/branding into main 2026-07-18 22:20:29 +00:00
5 changed files with 66 additions and 18 deletions
Showing only changes of commit 352ae4f256 - Show all commits

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@@ -5,31 +5,37 @@ export default function SiteFooter() {
const { contactEmail, siteTitle } = useSite()
return (
<footer
className="sans"
className="sans site-footer"
style={{
borderTop: '1px solid var(--line)',
padding: '28px 16px',
color: 'var(--muted)',
textAlign: 'center',
fontSize: '0.9rem',
background: 'rgba(9,13,18,0.6)',
}}
>
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 6 }}>
<span>{siteTitle} is an independent private shard project.</span>
<span style={{ color: 'var(--dim)', fontSize: '0.84rem' }}>
<a href={`mailto:${contactEmail}`} style={{ color: 'var(--accent)', textDecoration: 'none' }}>
{contactEmail}
</a>
&nbsp;·&nbsp;
<Link to="/site/status" style={{ color: 'var(--accent)', textDecoration: 'none' }}>
Shard Status
</Link>
&nbsp;·&nbsp;
<Link to="/admin/login" style={{ color: '#5d6b7d', textDecoration: 'none' }}>
Admin
</Link>
</span>
<div className="site-footer-inner">
<img
className="site-footer-badge"
src="/assets/img/powered-by.svg"
alt="Powered by Runic Gateway"
/>
<div className="site-footer-info">
<span>{siteTitle} is an independent private shard project.</span>
<span style={{ color: 'var(--dim)', fontSize: '0.84rem' }}>
<a href={`mailto:${contactEmail}`} style={{ color: 'var(--accent)', textDecoration: 'none' }}>
{contactEmail}
</a>
&nbsp;·&nbsp;
<Link to="/site/status" style={{ color: 'var(--accent)', textDecoration: 'none' }}>
Shard Status
</Link>
&nbsp;·&nbsp;
<Link to="/admin/login" style={{ color: '#5d6b7d', textDecoration: 'none' }}>
Admin
</Link>
</span>
</div>
</div>
</footer>
)

View File

@@ -1009,6 +1009,47 @@ button[disabled] {
border-color: #8a4b47;
}
/* Site footer: powered-by badge left-justified, info centered. */
.site-footer-inner {
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
max-width: 1100px;
margin: 0 auto;
}
.site-footer-badge {
height: 56px;
width: auto;
flex: 0 0 auto;
opacity: 0.85;
}
.site-footer-info {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
text-align: center;
}
/* Pin the badge to the left while the info column stays visually centered. */
@media (min-width: 641px) {
.site-footer-badge {
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
}
@media (max-width: 640px) {
.site-footer-inner {
flex-direction: column;
}
.site-footer-badge {
height: 44px;
}
}
/* Draft-preview banner on the public renderer. */
.page-preview-banner {
border: 1px solid var(--accent);

View File

@@ -32,7 +32,7 @@ const brand = {
accent: process.env.BRAND_ACCENT_COLOR || '#7f99bd',
logo: process.env.BRAND_LOGO || '', // empty → no logo image rendered
hero: process.env.BRAND_HERO || '/assets/img/hero-moon.png',
favicon: process.env.BRAND_FAVICON || '', // empty → no favicon link injected
favicon: process.env.BRAND_FAVICON || '/assets/img/favicon.ico', // Runic Gateway default emblem
}
// Discord embeds want an int (0xRRGGBB). Parse the accent hex once; fall back to