// Variant 6 - POLISHED: Recruiter Brief, print-ready, responsive
// Accepts: data (RESUME or RESUME_EN), accent (hex), darkSidebar (bool), density ("compact"|"normal"), photoSrc
function RecruiterBriefResume(props) {
const R = props.data || window.RESUME;
const Icon = window.Icon;
const accent = props.accent || "#0b6e4f";
const darkSidebar = props.darkSidebar !== false;
const density = props.density || "normal";
const photoSrc = props.photoSrc || null;
// density tokens
const D = density === "compact"
? { sectGap: 18, line: 1.5, body: 12, mainPad: 24, sidePad: 22, sideW: 280 }
: { sectGap: 26, line: 1.6, body: 13, mainPad: 30, sidePad: 26, sideW: 300 };
// Color tokens - accent-derived
const C = {
paper: "#ffffff",
inkSide: darkSidebar ? "#0f1115" : "#f5f4ef",
inkSideFg: darkSidebar ? "#dde1ea" : "#1a1a1a",
inkSideMute: darkSidebar ? "#9aa3b2" : "#5d5b50",
sideRule: darkSidebar ? "#2b313c" : "#d8d4c5",
chipBgSide: darkSidebar ? "#1a1d24" : "#ebe8db",
ink: "#11131a",
soft: "#525866",
rule: "#e3e6ec",
accent,
accentSoft: accent + "1a",
chipBg: "#f3f5f9",
};
const sans = "'Inter', system-ui, sans-serif";
const mono = "'JetBrains Mono', ui-monospace, Menlo, monospace";
const T = R.ui;
// Section header (main column)
const H = ({ children, hint, ic: Ic }) => (
{Ic && }
{children}
{hint &&
{hint}
}
);
// Sidebar header
const HSide = ({ children, ic: Ic }) => (
{Ic && }
{children}
);
// Map skill group → icon
const SkillIcon = ({ group, size }) => {
if (/infra|system/i.test(group)) return ;
if (/network|dpi|dpdk/i.test(group)) return ;
if (/automat|observab/i.test(group)) return ;
if (/secur/i.test(group)) return ;
return ;
};
return (
{/* ============== SIDEBAR ============== */}
{/* ============== MAIN ============== */}
{/* eyebrow row */}
{T.role}
{R.yearsExp}
{T.years}
{R.role.split(" & ")[0]}{" "}
&{" "}
{R.role.split(" & ")[1]}
{/* hook */}
{R.hook}
{/* metric grid - 3×2 on A4 width */}
{R.metrics.map((m, i) => (
))}
{/* About */}
{T.about}
{R.about}
{R.pillars.map((p, i) => {
const icons = [Icon.Trend, Icon.Wrench, Icon.Code, Icon.Network];
const Ic = icons[i] || Icon.Check;
return (
);
})}
{/* Experience */}
{T.experience}
{R.experience.map((e, i) => {
const outs = R.outcomes[e.company] || e.bullets;
return (
{outs.map((b, j) => (
-
{b}
))}
);
})}
{/* Projects */}
{T.projects}
{R.projects.map((p, i) => {
const live = p.status.includes("Ongoing");
return (
{p.name}
{live ? T.live : T.done}
{p.desc}
{p.tags.map((t, j) => (
{t}
))}
);
})}
{/* Skills detail */}
{T.skills}
{R.skills.map((s, i) => (
{s.group}
{s.items.join(" · ")}
))}
{/* Footer */}
{R.email} · github/{R.github} · {R.domain}
{T.updated} · 14.05.2026
);
}
window.RecruiterBriefResume = RecruiterBriefResume;