Skip to content

Commit 6237de3

Browse files
committed
fix: UI improvements to layout, header, footer, and components
- Add CliOverlay to root layout - Convert header Pay Invoice button to Link pointing to /invoice - Replace <a> tags with Next.js <Link> in footer for better navigation - Replace <a> tags with <Link> in Web3JobList component - Reduce loading bar height from 10px to 2px - Minor formatting cleanup
1 parent 4814103 commit 6237de3

5 files changed

Lines changed: 27 additions & 24 deletions

File tree

src/app/layout.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@ import Footer from '../components/layout/footer'
1010
// Import the components we created
1111
import ErrorBoundary from '@/components/ErrorBoundary'
1212
import GlobalErrorHandler from '@/components/GlobalErrorHandler'
13+
import { CliOverlay } from '@/components/cli-overlay'
1314

1415
export const metadata: Metadata = {
1516
title: 'CodeBuilder, Inc. - Software Engineering Solutions.',
16-
description:
17-
'Custom software engineering solutions that are elegantly designed with scalability in mind.',
17+
description: 'Custom software engineering solutions that are elegantly designed with scalability in mind.',
1818
openGraph: {
1919
title: 'CodeBuilder, Inc. - Software Engineering Solutions.',
20-
description:
21-
'Custom software engineering solutions that are elegantly designed with scalability in mind..',
20+
description: 'Custom software engineering solutions that are elegantly designed with scalability in mind..',
2221
type: 'website',
2322
},
24-
}
23+
}
2524

2625
export default function RootLayout({
2726
children,
@@ -59,7 +58,7 @@ export default function RootLayout({
5958
*/}
6059

6160
{/* Other Meta Tags, Links, Etc... */}
62-
61+
6362
{/* Service Worker Registration */}
6463
<Script id="sw-register" strategy="afterInteractive">
6564
{`
@@ -81,6 +80,7 @@ export default function RootLayout({
8180
window-level event listeners for catching uncaught errors.
8281
*/}
8382
<GlobalErrorHandler />
83+
<CliOverlay />
8484
<div className="flex flex-col min-h-screen">
8585
<Header />
8686
<LayoutTransition

src/components/jobs/Web3JobList.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
'use client'
33

44
import { useEffect, useState } from 'react'
5+
import Link from 'next/link'
56

67
interface Job {
78
id: string
@@ -57,7 +58,7 @@ const JobList = () => {
5758
<ul>
5859
{jobs.map((job) => (
5960
<li key={job.id}>
60-
<a href={job.url} target="_blank" rel="noopener noreferrer">
61+
<Link href={job.url} target="_blank" rel="noopener noreferrer">
6162
<h2>{job.title}</h2>
6263
<p>Company: {job.company_name}</p>
6364
<p>Location: {job.location}</p>
@@ -68,15 +69,13 @@ const JobList = () => {
6869
<p>Remote: {job.remote ? 'Yes' : 'No'}</p>
6970
<p>Description: {job.description}</p>
7071
<p>Tags: {job.tags.join(', ')}</p>
71-
{job.company_logo && (
72-
<img src={job.company_logo} alt={`${job.company_name} logo`} width="100" />
73-
)}
72+
{job.company_logo && <img src={job.company_logo} alt={`${job.company_name} logo`} width="100" />}
7473
<p>
75-
<a href={job.apply_url} target="_blank" rel="noopener noreferrer">
74+
<Link href={job.apply_url} target="_blank" rel="noopener noreferrer">
7675
Apply Here
77-
</a>
76+
</Link>
7877
</p>
79-
</a>
78+
</Link>
8079
</li>
8180
))}
8281
</ul>

src/components/layout/footer.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const Footer: React.FC = () => {
3434
</h5>
3535
<div className="flex mt-6 mb-6">
3636
{socialLinks.map((social) => (
37-
<a
37+
<Link
3838
key={social.title}
3939
href={social.href}
4040
target="_blank"
@@ -43,19 +43,19 @@ const Footer: React.FC = () => {
4343
className="bg-[#3d4749] shadow-lg font-normal h-10 w-10 flex items-center justify-center rounded-full outline-none mr-2 hover:shadow-xl hover:bg-[#4a5658] transition-all"
4444
>
4545
<FontAwesomeIcon icon={social.icon} style={{ color: social.color }} />
46-
</a>
46+
</Link>
4747
))}
4848
</div>
4949
{/* Contact info */}
5050
<div className="flex flex-col gap-1 text-sm mt-2 mb-6 lg:mb-0">
51-
<a href="mailto:info@codebuilder.us" className="text-[#ccc] hover:text-[#09afdf] transition-colors">
51+
<Link href="mailto:info@codebuilder.us" className="text-[#ccc] hover:text-[#09afdf] transition-colors">
5252
<FontAwesomeIcon icon={faEnvelope} className="text-[#09afdf] text-[10px] mr-1.5" />
5353
info@codebuilder.us
54-
</a>
55-
<a href="tel:+16125672633" className="text-[#ccc] hover:text-[#09afdf] transition-colors">
54+
</Link>
55+
<Link href="tel:+16125672633" className="text-[#ccc] hover:text-[#09afdf] transition-colors">
5656
<FontAwesomeIcon icon={faPhone} className="text-[#09afdf] text-[10px] mr-1.5" />
5757
+1 (612) 567-2633
58-
</a>
58+
</Link>
5959
<span className="text-[#ccc]">
6060
<FontAwesomeIcon icon={faMapMarkerAlt} className="text-[#09afdf] text-[10px] mr-1.5" />
6161
Minneapolis, MN

src/components/layout/header.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,10 @@ const StickyHeader: React.FC = () => {
172172
>
173173
Contact
174174
</Link>
175-
<button className="flex items-center justify-center text-white bg-[rgba(0,0,0,0.2)] border border-[rgba(0,0,0,0.1)] px-4 py-[5px] text-[12px] leading-[1.4666667] rounded-[3px] my-[5px] transition-transform duration-200 ease-in-out hover:bg-[rgba(0,0,0,0.3)] hover:scale-105 focus:outline-none">
175+
<Link
176+
href="/invoice"
177+
className="flex items-center justify-center text-white bg-[rgba(0,0,0,0.2)] border border-[rgba(0,0,0,0.1)] px-4 py-[5px] text-[12px] leading-[1.4666667] rounded-[3px] my-[5px] transition-transform duration-200 ease-in-out hover:bg-[rgba(0,0,0,0.3)] hover:scale-105 focus:outline-none"
178+
>
176179
<svg
177180
xmlns="http://www.w3.org/2000/svg"
178181
className="w-4 h-4 mr-2"
@@ -188,7 +191,7 @@ const StickyHeader: React.FC = () => {
188191
/>
189192
</svg>
190193
Pay Invoice
191-
</button>
194+
</Link>
192195
</nav>
193196
{/* Hamburger Menu */}
194197
<button
@@ -257,12 +260,13 @@ const StickyHeader: React.FC = () => {
257260
>
258261
Contact
259262
</Link>
260-
<button
263+
<Link
264+
href="/invoice"
261265
className="text-white bg-[rgba(0,0,0,0.2)] border px-4 py-2 rounded hover:bg-[rgba(0,0,0,0.3)]"
262266
onClick={toggleMobileMenu}
263267
>
264268
Pay Invoice
265-
</button>
269+
</Link>
266270
</nav>
267271
</div>
268272
{/* Loading Progress Bar — blue line under header */}

src/components/layout/loading-bar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const LoadingBar = () => {
2424
return (
2525
loading && (
2626
<div
27-
className="flex w-full h-[10px] z-50 bg-blue-500 animate__animated animate__fadeIn animate__faster"
27+
className="flex w-full h-[2px] z-50 bg-blue-500 animate__animated animate__fadeIn animate__faster"
2828
style={{ animationDuration: '0.5s' }}
2929
>
3030
<div className="h-full bg-blue-600 animate-pulse" style={{ width: '100%' }} />

0 commit comments

Comments
 (0)