Skip to content

[dx] Add favicon, Open Graph metadata, and page titles to all routes #10

@MarvyNwaokobia

Description

@MarvyNwaokobia

What needs to be done

The app currently has no favicon and generic page titles.
Add proper metadata to make the app look professional when shared.

Changes needed

app/layout.tsx — add to metadata export:

export const metadata: Metadata = {
  title: {
    template: '%s | Shielded Protocol',
    default: 'Shielded Protocol — Private DeFi on Stellar',
  },
  description: 'Shield your DeFi positions from public view. Compliant ZK privacy on Stellar Soroban.',
  openGraph: {
    title: 'Shielded Protocol',
    description: 'Private, compliant DeFi on Stellar.',
    url: 'https://shielded.xyz',
    siteName: 'Shielded Protocol',
    type: 'website',
  },
  twitter: {
    card: 'summary_large_image',
    title: 'Shielded Protocol',
    description: 'Private, compliant DeFi on Stellar.',
  },
};

Individual route metadata:

  • app/portfolio/page.tsx → title: 'Portfolio'
  • app/deposit/page.tsx → title: 'Deposit'
  • app/withdraw/page.tsx → title: 'Withdraw'
  • app/compliance/page.tsx → title: 'Compliance'

public/ directory:

  • Add favicon.ico (any simple shield icon — can use https://favicon.io)
  • Add og-image.png (1200x630, simple branded image)

Definition of done

  • All pages have unique <title> values
  • Open Graph tags present in page source
  • Favicon shows in browser tab
  • pnpm build passes with no errors

Estimated time

1 hr

Required knowledge

Next.js metadata API. No crypto knowledge needed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions