react-farcaster-embed
TypeScript icon, indicating that this package has built-in type declarations

1.4.7 • Public • Published

react-farcaster-embed

react-farcaster-embed

Display an embedded cast from Farcaster in your React app. Works with Next.js SSR.

Examples

Live Demo

Regular casts
Quoted casts
With images
With video
With link previews

Features

  • [x] Supports server components and client components
  • [x] Shows the cast's author, their avatar and username, date when the cast was posted
  • [x] Renders the cast's content with links
  • [x] Shows the channel name and avatar
  • [x] Shows counts for replies, likes, recasts + quotes, watches
  • [x] Adds a link to the cast on Warpcast
  • [x] Renders images inline
  • [x] Renders videos inline
  • [x] Renders rich embeds for links
  • [x] Renders quoted casts with images and videos

Installation

npm i react-farcaster-embed
# or
yarn add react-farcaster-embed
# or
pnpm add react-farcaster-embed

Usage

Server Components

Add these imports inside your server component:

import { FarcasterEmbed } from "react-farcaster-embed";
import "react-farcaster-embed/dist/styles.css"; // include default styles or write your own


// use warpcast url
<FarcasterEmbed url="https://warpcast.com/pugson/0x4294c797" />

// or username and hash of the cast
<FarcasterEmbed username="dwr" hash="0x48d47343" />

Client Components

Add the CSS import inside _app.tsx if you are using Next.js Pages Router:

import "@/styles/globals.css";
import "react-farcaster-embed/dist/styles.css";
import type { AppProps } from "next/app";

export default function App({ Component, pageProps }: AppProps) {
  return <Component {...pageProps} />;
}

And then use the component in your client component using a special import:

import { FarcasterEmbed } from "react-farcaster-embed/dist/client";

// use warpcast url
<FarcasterEmbed url="https://warpcast.com/pugson/0x4294c797" />

// or username and hash of the cast
<FarcasterEmbed username="dwr" hash="0x48d47343" />

Styling

The embed will inherit your body color by default when you import the default stylesheet.

You can change the color of the component by changing its parent's color or adding custom CSS:

.farcaster-embed-container {
  color: purple;
}

Found it useful?

Follow me on Farcaster or Twitter.

Send me a tip in ETH or $DEGEN to

  • pugson.eth
  • 0x96a77560146501eAEB5e6D5B7d8DD1eD23DEfa23

Other projects

You might also like ENS Data for getting ENS records and avatars or ABI Data for grabbing smart contract ABIs remotely.

Readme

Keywords

Package Sidebar

Install

npm i react-farcaster-embed

Weekly Downloads

354

Version

1.4.7

License

The Unlicense

Unpacked Size

184 kB

Total Files

13

Last publish

Collaborators

  • pugson