feat: centralize layout cta path defaults

This commit is contained in:
syntaxbullet
2026-06-22 13:09:20 +02:00
parent c389997f06
commit c5feeaee16

View File

@@ -380,12 +380,12 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
</div>
<div style={{ display:'flex', flexDirection:'column', gap:10 }}>
<Link to={headerCtas[0]?.path || '/teilnahme#bewerben'} onClick={() => setOpen(false)}
<Link to={headerCtas[0]?.path || fallbackHeaderCtas[0].path} onClick={() => setOpen(false)}
style={{ display:'inline-block', background:'#EFBF04', color:'#101828', fontSize: 15, fontWeight:700, textTransform:'uppercase', letterSpacing:'.12em', padding:'11px 24px', textDecoration:'none', transition:'background .2s, box-shadow .2s', borderRadius:0, fontFamily:FF_DISPLAY }}
onMouseEnter={e=>{ e.currentTarget.style.background='#FFD130'; e.currentTarget.style.boxShadow='0 0 18px rgba(239,191,4,0.65), 0 0 40px rgba(239,191,4,0.3)'; }}
onMouseLeave={e=>{ e.currentTarget.style.background='#EFBF04'; e.currentTarget.style.boxShadow='none'; }}
>{headerCtas[0]?.label || fallbackHeaderCtas[0].label}</Link>
<Link to={headerCtas[1]?.path || '/mitglied-werden'} onClick={() => setOpen(false)}
<Link to={headerCtas[1]?.path || fallbackHeaderCtas[1].path} onClick={() => setOpen(false)}
style={{ display:'inline-block', background:'transparent', color:MUTED, fontSize: 15, fontWeight:700, textTransform:'uppercase', letterSpacing:'.12em', padding:'10px 24px', textDecoration:'none', transition:'border-color .2s, color .2s', borderRadius:0, fontFamily:FF_DISPLAY, border:'1.5px solid rgba(239,191,4,0.35)' }}
onMouseEnter={e=>{ e.currentTarget.style.borderColor='#EFBF04'; e.currentTarget.style.color='#EFBF04'; }}
onMouseLeave={e=>{ e.currentTarget.style.borderColor='rgba(239,191,4,0.35)'; e.currentTarget.style.color=MUTED; }}
@@ -393,7 +393,7 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
<div style={{ height:'1px', background:'rgba(239,191,4,0.12)', margin:'4px 0' }} />
<Link to={headerCtas[2]?.path || '/formular-hochladen'} onClick={() => setOpen(false)}
<Link to={headerCtas[2]?.path || fallbackHeaderCtas[2].path} onClick={() => setOpen(false)}
style={{
display:'flex', alignItems:'center', gap:10,
background:'rgba(255,255,255,0.04)',
@@ -557,13 +557,13 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
{/* CTAs */}
<div style={{ padding:'24px 24px 8px', display:'flex', flexDirection:'column', gap:12 }}>
<Link to={headerCtas[0]?.path || '/teilnahme#bewerben'} onClick={() => setMobileOpen(false)}
<Link to={headerCtas[0]?.path || fallbackHeaderCtas[0].path} onClick={() => setMobileOpen(false)}
style={{ display:'flex', alignItems:'center', justifyContent:'center', minHeight:52, background:GOLD, color:'#101828', fontSize:14, fontWeight:700, textTransform:'uppercase', letterSpacing:'.12em', textDecoration:'none', fontFamily:FF_DISPLAY }}
>{headerCtas[0]?.label || fallbackHeaderCtas[0].label}</Link>
<Link to={headerCtas[1]?.path || '/mitglied-werden'} onClick={() => setMobileOpen(false)}
<Link to={headerCtas[1]?.path || fallbackHeaderCtas[1].path} onClick={() => setMobileOpen(false)}
style={{ display:'flex', alignItems:'center', justifyContent:'center', minHeight:50, background:'transparent', color:'#fff', fontSize:14, fontWeight:700, textTransform:'uppercase', letterSpacing:'.12em', textDecoration:'none', fontFamily:FF_DISPLAY, border:`1.5px solid ${LINE}` }}
>{headerCtas[1]?.label || fallbackHeaderCtas[1].label}</Link>
<Link to={headerCtas[2]?.path || '/formular-hochladen'} onClick={() => setMobileOpen(false)}
<Link to={headerCtas[2]?.path || fallbackHeaderCtas[2].path} onClick={() => setMobileOpen(false)}
style={{ display:'flex', alignItems:'center', justifyContent:'center', gap:8, minHeight:46, background:'none', color:'rgba(255,255,255,0.5)', fontSize:11, fontWeight:700, textTransform:'uppercase', letterSpacing:'.14em', textDecoration:'none', fontFamily:FF_DISPLAY, border:'1px dashed rgba(255,255,255,0.2)' }}
><Upload size={13} strokeWidth={2} /> {headerCtas[2]?.label || fallbackHeaderCtas[2].label}</Link>
</div>
@@ -745,7 +745,7 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
gap: 8,
}}>
<Link
to={footerCtas[0]?.path || '/teilnahme#bewerben'}
to={footerCtas[0]?.path || fallbackFooterCtas[0].path}
style={{
fontFamily: FF_DISPLAY,
fontSize: 16,
@@ -771,7 +771,7 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
>{footerCtas[0]?.label || fallbackFooterCtas[0].label}</Link>
<Link
to={footerCtas[1]?.path || '/mitglied-werden'}
to={footerCtas[1]?.path || fallbackFooterCtas[1].path}
style={{
fontFamily: FF_DISPLAY,
fontSize: 16,
@@ -797,7 +797,7 @@ const Layout: React.FC<LayoutProps> = ({ children, header = defaultHeaderData, f
>{footerCtas[1]?.label || fallbackFooterCtas[1].label}</Link>
<Link
to={footerCtas[2]?.path || '/netzwerk#sponsoring'}
to={footerCtas[2]?.path || fallbackFooterCtas[2].path}
style={{
fontFamily: FF_DISPLAY,
fontSize: 16,