import type { SocialMediaAccount } from "@/types";

import { SocialMediaCard } from "./social-media-card";

interface SocialMediaAccountCardProps {
  account: SocialMediaAccount;
  variant?: "default" | "with-actions";
}

export function SocialMediaAccountCard({
  account,
  variant = "default",
}: SocialMediaAccountCardProps) {
  const engagements =
    account.total_engagement ??
    (account.total_likes ?? 0) + (account.total_comments ?? 0) + (account.total_shares ?? 0);
  const engagementRate =
    typeof account.engagement_rate === "number"
      ? account.engagement_rate
      : Number(account.engagement_rate ?? 0) || 0;

  return (
    <SocialMediaCard
      platform={account.platform}
      platformIcon={`/images/social-media/${account.platform}.svg`}
      accountName={account.account_name || account.account_identifier || ""}
      accountAvatar="/profile-placeholder.svg"
      followers={account.followers ?? 0}
      views={account.total_views ?? account.views ?? 0}
      shares={account.total_shares ?? 0}
      engagements={engagements}
      engagementRate={engagementRate}
      accountId={account.id.toString()}
      variant={variant}
      profile_image_url={account.profile_image_url}
    />
  );
}
