Updates
This commit is contained in:
parent
3b9fa373bc
commit
d1ae498a2f
3
components/pages/contact/(sections)/book-call.tsx
Normal file
3
components/pages/contact/(sections)/book-call.tsx
Normal file
@ -0,0 +1,3 @@
|
||||
export default async function BookCall() {
|
||||
return null;
|
||||
}
|
||||
@ -12,14 +12,19 @@ export default function Main() {
|
||||
<Stack className="w-full max-w-full xl:max-w-[50vw]">
|
||||
<H1 className="leading-snug">Contact Me</H1>
|
||||
<Span>
|
||||
Have a great idea? Want to collaborate? Let's make it
|
||||
happen.
|
||||
Need help with CI/CD, cost optimization, or production
|
||||
reliability? Book a call or send a message.
|
||||
</Span>
|
||||
|
||||
<Link href="mailto:ben@tben.me" className="border-none">
|
||||
<Link
|
||||
href={`mailto:${process.env.NEXT_PUBLIC_EMAIL_ADDRESS}`}
|
||||
className="border-none"
|
||||
>
|
||||
<Row className="items-center">
|
||||
<Mail size={20} className="mt-1" />
|
||||
<Span className="text-2xl">ben@tben.me</Span>
|
||||
<Span className="text-2xl">
|
||||
{process.env.NEXT_PUBLIC_EMAIL_ADDRESS}
|
||||
</Span>
|
||||
</Row>
|
||||
</Link>
|
||||
</Stack>
|
||||
|
||||
50
layouts/main/(data)/shcema.ts
Normal file
50
layouts/main/(data)/shcema.ts
Normal file
@ -0,0 +1,50 @@
|
||||
export const SchemaJSON = {
|
||||
"@context": "https://schema.org",
|
||||
"@graph": [
|
||||
{
|
||||
"@type": "Organization",
|
||||
"@id": "https://tben.me/#organization",
|
||||
name: "Tben INC",
|
||||
url: "https://tben.me/",
|
||||
logo: {
|
||||
"@type": "ImageObject",
|
||||
"@id": "https://tben.me/#logo",
|
||||
url: "https://tben.me/logo.png",
|
||||
},
|
||||
sameAs: ["https://www.linkedin.com/in/benjamin-toby/"],
|
||||
},
|
||||
{
|
||||
"@type": "WebSite",
|
||||
"@id": "https://tben.me/#website",
|
||||
url: "https://tben.me/",
|
||||
name: "Tben INC",
|
||||
publisher: {
|
||||
"@id": "https://tben.me/#organization",
|
||||
},
|
||||
potentialAction: {
|
||||
"@type": "SearchAction",
|
||||
target: {
|
||||
"@type": "EntryPoint",
|
||||
urlTemplate:
|
||||
"https://tben.me/search?q={search_term_string}",
|
||||
},
|
||||
"query-input": "required name=search_term_string",
|
||||
},
|
||||
},
|
||||
{
|
||||
"@type": "Person",
|
||||
"@id": "https://tben.me/#benjamin-toby",
|
||||
name: "Benjamin Toby",
|
||||
url: "https://tben.me/",
|
||||
email: "mailto:ben@tben.me",
|
||||
sameAs: [
|
||||
"https://www.linkedin.com/in/benjamin-toby/",
|
||||
"https://git.tben.me/tben",
|
||||
],
|
||||
worksFor: {
|
||||
"@id": "https://tben.me/#organization",
|
||||
},
|
||||
jobTitle: "Founder",
|
||||
},
|
||||
],
|
||||
};
|
||||
@ -5,6 +5,7 @@ import Footer from "./Footer";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
import MobileMenu from "./(sections)/MobileMenu";
|
||||
import Head from "next/head";
|
||||
import { SchemaJSON } from "./(data)/shcema";
|
||||
|
||||
type Props = PropsWithChildren & {
|
||||
meta?: {
|
||||
@ -25,6 +26,12 @@ export default function Layout({ children, meta }: Props) {
|
||||
{meta?.description && (
|
||||
<meta name="description" content={meta?.description} />
|
||||
)}
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: JSON.stringify(SchemaJSON),
|
||||
}}
|
||||
></script>
|
||||
</Head>
|
||||
<Aside />
|
||||
<div className={twMerge("flex flex-col items-start gap-0", "grow")}>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user