From 442c13517bdd1516b805808ba6e4a0efefdb5584 Mon Sep 17 00:00:00 2001 From: Gilbert Sanchez Date: Sun, 22 Mar 2026 22:27:31 -0700 Subject: [PATCH] fix: enforce LF line endings to fix lint failures on Windows Add .gitattributes with eol=lf and set endOfLine: "lf" in .prettierrc to ensure consistent line endings across all platforms. Convert all existing files from CRLF to LF. Co-Authored-By: Claude Opus 4.6 --- .gitattributes | 1 + .prettierrc | 3 ++- src/components/WorkExperience.tsx | 16 +++++++++++++--- src/components/ui/GrowthIndicator.tsx | 19 +++++++++++-------- src/components/ui/SectionCard.tsx | 4 +++- 5 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.prettierrc b/.prettierrc index bb4d51a..c8e1280 100644 --- a/.prettierrc +++ b/.prettierrc @@ -6,5 +6,6 @@ "trailingComma": "es5", "bracketSpacing": true, "bracketSameLine": false, - "arrowParens": "avoid" + "arrowParens": "avoid", + "endOfLine": "lf" } diff --git a/src/components/WorkExperience.tsx b/src/components/WorkExperience.tsx index 4b37118..784be18 100644 --- a/src/components/WorkExperience.tsx +++ b/src/components/WorkExperience.tsx @@ -26,7 +26,7 @@ export const WorkExperience: FC = ({ work }) => { // Group contiguous roles by company name (assuming work is reverse chronological). // Each group gets a wrapper with a single GrowthIndicator summarizing progression. const groups: { company: string; items: Work[] }[] = []; - work.forEach((item) => { + work.forEach(item => { const company = item.name || ''; const lastGroup = groups[groups.length - 1]; if (lastGroup && lastGroup.company === company) { @@ -74,9 +74,19 @@ export const WorkExperience: FC = ({ work }) => { const showHeader = totalRoles > 1; return ( -
+
{showHeader && ( - + )} {group.items.map((workItem, wi) => ( = ({ className, ariaLabel, }) => { - const clampedPercent = typeof percent === 'number' ? Math.max(0, Math.min(100, percent)) : undefined; + const clampedPercent = + typeof percent === 'number' ? Math.max(0, Math.min(100, percent)) : undefined; const clampedLevel = typeof level === 'number' ? Math.max(1, Math.min(5, level)) : undefined; return ( @@ -34,13 +35,15 @@ export const GrowthIndicator: FC = ({ aria-label={ariaLabel || label} > {/* Simple arrow glyph, avoids extra icon deps in tests */} - + {label} {/* Optional tiny level dots (1-5) */} {typeof clampedLevel === 'number' && (