UNPKG

@codersrank/portfolio

Version:
85 lines (75 loc) 4.9 kB
"use strict"; exports.__esModule = true; exports.render = void 0; var _codersrankLogo = require("./codersrank-logo"); var _logo = require("./logo"); var _sanitizeDescription = require("./sanitize-description"); var render = function render(_temp) { var _ref = _temp === void 0 ? {} : _temp, portfolios = _ref.data, grid = _ref.grid, preloader = _ref.preloader, showLogos = _ref.logos, showDates = _ref.dates, showTitle = _ref.title, showDescription = _ref.description, showCompany = _ref.company, showSkills = _ref.skills, showLinks = _ref.links, branding = _ref.branding; var formatDate = function formatDate(date) { if (!date) return ''; var formatter = Intl.DateTimeFormat('en', { month: 'short', year: 'numeric' }); return formatter.format(new Date(date)); }; var dates = function dates(item) { var startDate = formatDate(item.start_date || item.date_from); var endDate = item.is_current ? 'Present' : formatDate(item.end_date || item.date_to); return startDate + " - " + endDate; }; // prettier-ignore return ( /* html */ "\n <div class=\"codersrank-portfolio " + (grid ? 'codersrank-portfolio-grid' : '') + " " + (!showLogos ? 'codersrank-portfolio-no-logos' : '') + " " + (preloader ? 'codersrank-portfolio-loading' : '') + "\">\n " + (preloader ? /* html */ "\n <div class=\"codersrank-portfolio-preloader\"></div>\n " : '') + "\n <ul>\n " + portfolios.map(function (portfolio) { return ( /* html */ "\n <li class=\"codersrank-portfolio-item\">\n " + (showLogos ? /* html */ "\n <div class=\"codersrank-portfolio-logo\">\n " + (0, _logo.logo)(portfolio.project_title, portfolio.image) + "\n </div>\n " : '') + "\n <div class=\"codersrank-portfolio-content\">\n " + (showTitle && portfolio.project_title ? /* html */ "\n <div class=\"codersrank-portfolio-title\">\n " + portfolio.project_title + "\n </div>\n " : '') + "\n\n " + (showDates && dates(portfolio) ? /* html */ "\n <div class=\"codersrank-portfolio-date\">\n " + dates(portfolio) + "\n </div>\n " : '') + "\n\n " + (showCompany && portfolio.company ? /* html */ "\n <div class=\"codersrank-portfolio-company\">\n " + portfolio.company + "\n </div>\n " : '') + "\n\n " + (showDescription && portfolio.description ? /* html */ "\n <div class=\"codersrank-portfolio-description\">\n " + (0, _sanitizeDescription.sanitizeDescription)(portfolio.description) + "\n </div>\n " : '') + "\n\n " + (showSkills && (portfolio.highlighted_technologies || portfolio.other_technologies) ? /* html */ "\n <div class=\"codersrank-portfolio-tags\">\n " + (portfolio.highlighted_technologies || []).map(function (tech) { return ( /* html */ "\n <span class=\"codersrank-portfolio-tag\"><span class=\"codersrank-portfolio-tag-star\">\u2605</span>" + tech + "</span>\n " ); }).join('') + "\n\n " + (portfolio.other_technologies || []).map(function (tech) { return ( /* html */ "\n <span class=\"codersrank-portfolio-tag\">" + tech + "</span>\n " ); }).join('') + "\n </div>\n " : '') + "\n\n " + (showLinks && (portfolio.link_to_project || portfolio.link_to_source_code) ? /* html */ "\n <div class=\"codersrank-portfolio-links\">\n " + (portfolio.link_to_project ? /* html */ "\n <a href=\"" + portfolio.link_to_project + "\" target=\"_blank\" rel=\"noopener noreferrer\">Demo</a>\n " : '') + "\n " + (portfolio.link_to_source_code ? /* html */ "\n <a href=\"" + portfolio.link_to_source_code + "\" target=\"_blank\" rel=\"noopener noreferrer\">Source</a>\n " : '') + "\n </div>\n " : '') + "\n </div>\n </li>\n " ); }).join('') + "\n </ul>\n " + (branding ? /* html */ "\n <div class=\"codersrank-portfolio-branding\">\n <a href=\"https://codersrank.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n <span>Powered by </span>\n " + _codersrankLogo.codersRankLogo + "\n </a>\n </div>\n " : '') + "\n </div>\n " ); }; exports.render = render;