const { kFormatter, encodeHTML, fallbackColor } = require("../src/utils"); const renderRepoCard = (repo, options = {}) => { const { name, description, primaryLanguage, stargazers, forkCount } = repo; const { title_color, icon_color, text_color, bg_color } = options; const langName = primaryLanguage ? primaryLanguage.name : "Unspecified"; const langColor = primaryLanguage ? primaryLanguage.color : "#333"; const height = 120; const shiftText = langName.length > 15 ? 0 : 30; let desc = description || "No description provided"; if (desc.length > 55) { desc = `${description.slice(0, 55)}..`; } const titleColor = fallbackColor(title_color, "#2f80ed"); const iconColor = fallbackColor(icon_color, "#586069"); const textColor = fallbackColor(text_color, "#333"); const bgColor = fallbackColor(bg_color, "#FFFEFE"); const totalStars = kFormatter(stargazers.totalCount); const totalForks = kFormatter(forkCount); return ` ${name} ${encodeHTML(desc)} ${langName} ${totalStars} ${totalForks} `; }; module.exports = renderRepoCard;