an app to share curated trails sidetrail.app
atproto nextjs react rsc
50
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 49 lines 1.2 kB view raw
1import type { User } from "../data/queries"; 2import type { ReactNode } from "react"; 3import { Card } from "@/components/Card"; 4import "./TrailCard.css"; 5 6type Props = { 7 uri?: string; 8 rkey: string; 9 creatorHandle: string; 10 title: string; 11 description: string; 12 accentColor: string; 13 backgroundColor: string; 14 creator: User; 15 stopsCount: number; 16 walkersSlot?: ReactNode; 17}; 18 19export function TrailCard({ 20 rkey, 21 creatorHandle, 22 title, 23 description, 24 accentColor, 25 backgroundColor, 26 creator, 27 stopsCount, 28 walkersSlot, 29}: Props) { 30 return ( 31 <Card 32 href={`/@${creatorHandle}/trail/${rkey}`} 33 accentColor={accentColor} 34 backgroundColor={backgroundColor} 35 > 36 <div className="TrailCard"> 37 <h3 className="TrailCard-title">{title}</h3> 38 <p className="TrailCard-description">{description}</p> 39 <div className="TrailCard-meta"> 40 <span className="TrailCard-creator">@{creator.handle}</span> 41 <div className="TrailCard-activity"> 42 {walkersSlot} 43 <span className="TrailCard-steps">{stopsCount} stops</span> 44 </div> 45 </div> 46 </div> 47 </Card> 48 ); 49}