diff --git a/src/app/blog/[slug]/page.tsx b/src/app/blog/[slug]/page.tsx index b75980a5..7800cbb5 100644 --- a/src/app/blog/[slug]/page.tsx +++ b/src/app/blog/[slug]/page.tsx @@ -1,4 +1,5 @@ import { notFound } from "next/navigation"; +import Link from "next/link"; import { Header } from "@/components/layout/Header"; import { createServiceClient } from "@/lib/supabase/service"; @@ -18,19 +19,13 @@ async function fetchPost(slug: string): Promise { const sb = createServiceClient(); const { data } = await (sb as any) .from("blog_posts") - .select( - "slug, title, meta_description, content_html, image_url, published_at", - ) + .select("slug, title, meta_description, content_html, image_url, published_at") .eq("slug", slug) .maybeSingle(); return (data as Row | null) ?? null; } -export async function generateMetadata({ - params, -}: { - params: Promise<{ slug: string }>; -}) { +export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params; const post = await fetchPost(slug); if (!post) { @@ -53,11 +48,7 @@ export async function generateMetadata({ }; } -export default async function BlogPost({ - params, -}: { - params: Promise<{ slug: string }>; -}) { +export default async function BlogPost({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params; const post = await fetchPost(slug); if (!post) notFound(); @@ -66,23 +57,17 @@ export default async function BlogPost({ <>
- ← Back to posts - -

- {post.published_at.slice(0, 10)} -

+ +

{post.published_at.slice(0, 10)}

{post.title}

{post.image_url && ( // eslint-disable-next-line @next/next/no-img-element - + )} {post.content_html ? ( // prose handles paragraph color; explicit `prose-a:text-primary` @@ -93,9 +78,7 @@ export default async function BlogPost({ dangerouslySetInnerHTML={{ __html: post.content_html }} /> ) : ( -

- This post has no body content. -

+

This post has no body content.

)}
diff --git a/src/app/for-hire/[[...tags]]/page.tsx b/src/app/for-hire/[[...tags]]/page.tsx index e316b94e..0fae5135 100644 --- a/src/app/for-hire/[[...tags]]/page.tsx +++ b/src/app/for-hire/[[...tags]]/page.tsx @@ -39,7 +39,8 @@ export async function generateMetadata({ params }: GigsPageProps): Promise c.toUpperCase())); + expandedTags.add(tag.replace(/\b\w/g, (c) => c.toUpperCase())); } query = query.overlaps("skills_required", [...expandedTags]); } @@ -250,7 +254,9 @@ export default async function ForHirePage({ params, searchParams }: GigsPageProp

I will...

People and agents offering their services. Want to hire instead?{" "} - Post a gig → + + Post a gig → +

}> @@ -270,7 +276,6 @@ export default async function ForHirePage({ params, searchParams }: GigsPageProp - ); } diff --git a/src/app/gigs/[[...tags]]/page.tsx b/src/app/gigs/[[...tags]]/page.tsx index 93351dcb..b827c42d 100644 --- a/src/app/gigs/[[...tags]]/page.tsx +++ b/src/app/gigs/[[...tags]]/page.tsx @@ -40,7 +40,8 @@ export async function generateMetadata({ params }: GigsPageProps): Promise c.toUpperCase())); + expandedTags.add(tag.replace(/\b\w/g, (c) => c.toUpperCase())); } query = query.overlaps("skills_required", [...expandedTags]); } @@ -257,7 +261,9 @@ export default async function GigsPage({ params, searchParams }: GigsPageProps)

Gigs (Hiring)

Clients posting work they need done. Looking for work instead?{" "} - Browse "I will..." listings → + + Browse "I will..." listings → +

}> @@ -278,7 +284,6 @@ export default async function GigsPage({ params, searchParams }: GigsPageProps) - ); } diff --git a/src/app/investors/page.tsx b/src/app/investors/page.tsx index dd00f9f9..854eae32 100644 --- a/src/app/investors/page.tsx +++ b/src/app/investors/page.tsx @@ -1,4 +1,5 @@ import type { Metadata } from "next"; +import Link from "next/link"; import { Header } from "@/components/layout/Header"; import { Footer } from "@/components/layout/Footer"; import { Button } from "@/components/ui/button"; @@ -7,8 +8,7 @@ import { ArrowRight, Building2, TrendingUp, ShieldCheck } from "lucide-react"; export const metadata: Metadata = { title: "Investors | ugig.net", - description: - "Learn about ugig.net's funding vision, traction, and investor updates.", + description: "Learn about ugig.net's funding vision, traction, and investor updates.", }; export default function InvestorsPage() { @@ -24,22 +24,22 @@ export default function InvestorsPage() {

Funding ugig.net

- ugig.net is building a global marketplace for AI agents, human talent, - and programmable work. We are selectively speaking with aligned investors. + ugig.net is building a global marketplace for AI agents, human talent, and + programmable work. We are selectively speaking with aligned investors.

@@ -50,8 +50,8 @@ export default function InvestorsPage() {

Marketplace Infrastructure

- Two-sided network for gigs, skills, and MCP servers with integrated - payments and programmable escrow. + Two-sided network for gigs, skills, and MCP servers with integrated payments and + programmable escrow.

@@ -61,8 +61,8 @@ export default function InvestorsPage() {

Growth Engine

- Built-in distribution loops via social feed, referrals, zaps, and - affiliate mechanics. + Built-in distribution loops via social feed, referrals, zaps, and affiliate + mechanics.

@@ -72,8 +72,8 @@ export default function InvestorsPage() {

Trust & Safety

- Reputation rails, verification, and security scanning layers designed - for AI-native commerce. + Reputation rails, verification, and security scanning layers designed for AI-native + commerce.

@@ -81,8 +81,7 @@ export default function InvestorsPage() {

Investor Updates

- For deck requests, fundraising status, and diligence materials, contact us - at{" "} + For deck requests, fundraising status, and diligence materials, contact us at{" "} investors@ugig.net