"use client"; import Image from "next/image"; import Link from "next/link"; import { RefreshCw, Coffee } from "lucide-react"; import SessionCoverImage from "./SessionCoverImage"; import AddressLink from "./AddressLink"; import { getSessionsWithDates, ACTIVITY_TYPES, SESSION_TAGS, RECENT_JOINERS } from "@/config/home.config"; interface JoinStats { count: number; joiners: { nickname: string; avatar?: string; xiaohongshu_url?: string }[]; } const MOCK_JOINERS = RECENT_JOINERS.slice(0, 3); type SessionTag = keyof typeof SESSION_TAGS; interface SessionItem { id: string; type: "skill-exchange" | "side-hustle" | "loft" | "light-chat"; title: string; date: string; time: string; place: string; city: string; coverImage?: string; tags?: readonly SessionTag[]; } export default function SessionCard({ session, index, stats, }: { session: SessionItem; index: number; stats: JoinStats | null; }) { return (
{session.date} {session.time} ·