Skip to content

Commit bebee5e

Browse files
committed
feat(web): add global footer + see-all
1 parent e8653dc commit bebee5e

File tree

4 files changed

+87
-3
lines changed

4 files changed

+87
-3
lines changed

src/components/Footer.tsx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export function Footer() {
2+
return (
3+
<footer className="site-footer">
4+
<div className="site-footer-inner">
5+
<div className="site-footer-divider" aria-hidden="true" />
6+
<div className="site-footer-row">
7+
<div className="site-footer-copy">
8+
Open source (MIT) on{' '}
9+
<a href="https://github.com/clawdbot/clawdhub" target="_blank" rel="noreferrer">
10+
GitHub
11+
</a>
12+
. Made by{' '}
13+
<a href="https://steipete.me" target="_blank" rel="noreferrer">
14+
Peter Steinberger
15+
</a>
16+
.
17+
</div>
18+
</div>
19+
</div>
20+
</footer>
21+
)
22+
}

src/routes/__root.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { createRootRoute, HeadContent, Scripts } from '@tanstack/react-router'
33
import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools'
44
import { AppProviders } from '../components/AppProviders'
55
import { ClientOnly } from '../components/ClientOnly'
6+
import { Footer } from '../components/Footer'
67
import Header from '../components/Header'
78

89
import appCss from '../styles.css?url'
@@ -45,8 +46,11 @@ function RootDocument({ children }: { children: React.ReactNode }) {
4546
<body>
4647
<ClientOnly>
4748
<AppProviders>
48-
<Header />
49-
{children}
49+
<div className="app-shell">
50+
<Header />
51+
{children}
52+
<Footer />
53+
</div>
5054
{import.meta.env.DEV ? (
5155
<TanStackDevtools
5256
config={{

src/routes/index.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function Home() {
8383
}, [highlightedOnly, searchSkills, trimmedQuery])
8484

8585
return (
86-
<main className="app-shell">
86+
<main>
8787
<section className={`hero${searchMode ? ' search-mode' : ''}`}>
8888
<div className="hero-inner">
8989
<div className="hero-copy fade-up" data-delay="1">
@@ -229,6 +229,11 @@ function Home() {
229229
))
230230
)}
231231
</div>
232+
<div className="section-cta">
233+
<Link to="/skills" className="btn">
234+
See all skills
235+
</Link>
236+
</div>
232237
</section>
233238
</>
234239
)}

src/styles.css

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,59 @@ code {
8080
flex-direction: column;
8181
}
8282

83+
.app-shell main {
84+
flex: 1;
85+
}
86+
87+
.site-footer {
88+
padding: 0 24px 40px;
89+
}
90+
91+
.site-footer-inner {
92+
max-width: 1200px;
93+
margin: 0 auto;
94+
}
95+
96+
.site-footer-divider {
97+
height: 1px;
98+
background: var(--line);
99+
opacity: 0.6;
100+
margin: 18px 0 16px;
101+
}
102+
103+
.site-footer-row {
104+
display: flex;
105+
align-items: center;
106+
justify-content: space-between;
107+
gap: 16px;
108+
}
109+
110+
.site-footer-copy {
111+
font-size: 0.85rem;
112+
color: var(--ink-soft);
113+
}
114+
115+
.site-footer-copy a {
116+
color: inherit;
117+
text-decoration: underline;
118+
text-decoration-color: rgba(255, 107, 74, 0.32);
119+
text-underline-offset: 3px;
120+
transition:
121+
color 0.2s ease,
122+
text-decoration-color 0.2s ease;
123+
}
124+
125+
.site-footer-copy a:hover {
126+
color: var(--ink);
127+
text-decoration-color: rgba(255, 107, 74, 0.6);
128+
}
129+
130+
.section-cta {
131+
display: flex;
132+
justify-content: flex-end;
133+
margin-top: 18px;
134+
}
135+
83136
.navbar {
84137
position: sticky;
85138
top: 0;

0 commit comments

Comments
 (0)