|
|
@@ -53,6 +53,11 @@ fileprivate enum CVPreviewDemoContent {
|
|
|
/// Single tools line reused wherever the résumé lists a stack (avoids scattered near-duplicate strings).
|
|
|
static var toolsLine: String { L("Figma · SQL · Amplitude · Jira · BigQuery") }
|
|
|
static var skillsList: [String] { [L("Product Strategy"), L("SQL"), L("Figma"), L("A/B Testing"), L("Roadmapping") ] }
|
|
|
+ static var employmentDates: String { L("2019 – Present") }
|
|
|
+ static var experienceDurationBlurb: String {
|
|
|
+ L("2019 – Present · Led cross-functional pods from discovery through launch and post-ship learning.")
|
|
|
+ }
|
|
|
+ static var impactMetrics: String { L("+12% activation · $4.2M ARR influenced") }
|
|
|
}
|
|
|
|
|
|
// MARK: - Mini preview
|
|
|
@@ -524,7 +529,7 @@ final class CVTemplatePreviewView: NSView {
|
|
|
stack.alignment = .leading
|
|
|
stack.addArrangedSubview(modernSectionRow(symbol: "briefcase.fill", title: L("Experience"), theme: theme))
|
|
|
stack.addArrangedSubview(makeLabel("\(CVPreviewDemoContent.experienceRole) — \(CVPreviewDemoContent.company)", font: .systemFont(ofSize: 6.6, weight: .semibold), color: palette.previewInk, alignment: .left, maxLines: 2))
|
|
|
- stack.addArrangedSubview(makeLabel("2019 – Present · Led cross-functional pods from discovery through launch and post-ship learning.", font: .systemFont(ofSize: 6.1), color: palette.previewMuted, alignment: .left, maxLines: 2))
|
|
|
+ stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.experienceDurationBlurb, font: .systemFont(ofSize: 6.1), color: palette.previewMuted, alignment: .left, maxLines: 2))
|
|
|
stack.addArrangedSubview(tagRow(theme: theme))
|
|
|
stack.addArrangedSubview(modernSectionRow(symbol: "graduationcap.fill", title: L("Education"), theme: theme))
|
|
|
stack.addArrangedSubview(makeLabel("\(CVPreviewDemoContent.university), \(CVPreviewDemoContent.degree) (\(CVPreviewDemoContent.educationYears))", font: .systemFont(ofSize: 6.2), color: palette.previewInk, alignment: .left, maxLines: 2))
|
|
|
@@ -736,7 +741,7 @@ final class CVTemplatePreviewView: NSView {
|
|
|
stack.addArrangedSubview(sectionHeading(L("SELECTED EXPERIENCE")))
|
|
|
let jobFont = NSFontManager.shared.convert(serif, toHaveTrait: .boldFontMask)
|
|
|
stack.addArrangedSubview(makeLabel("\(CVPreviewDemoContent.experienceRole), \(CVPreviewDemoContent.company)", font: jobFont, color: ink, alignment: .left, maxLines: 2))
|
|
|
- stack.addArrangedSubview(makeLabel("2019 – Present", font: serif, color: theme, alignment: .left, maxLines: 1))
|
|
|
+ stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.employmentDates, font: serif, color: theme, alignment: .left, maxLines: 1))
|
|
|
stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.bullet1, font: serif, color: muted, alignment: .left, maxLines: 2))
|
|
|
stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.bullet2, font: serif, color: muted, alignment: .left, maxLines: 2))
|
|
|
stack.addArrangedSubview(sectionHeading(L("EDUCATION")))
|
|
|
@@ -766,7 +771,7 @@ final class CVTemplatePreviewView: NSView {
|
|
|
stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.toolsLine, font: serif, color: palette.previewMuted, alignment: .left, maxLines: 2))
|
|
|
if showMetrics {
|
|
|
stack.addArrangedSubview(sectionHeading(L("IMPACT")))
|
|
|
- stack.addArrangedSubview(makeLabel("+12% activation · $4.2M ARR influenced", font: serif, color: palette.previewInk, alignment: .left, maxLines: 2))
|
|
|
+ stack.addArrangedSubview(makeLabel(CVPreviewDemoContent.impactMetrics, font: serif, color: palette.previewInk, alignment: .left, maxLines: 2))
|
|
|
}
|
|
|
return stack
|
|
|
}
|