Files
cv-site/templates/partials/sections/awards.html
T
juanatsap 9636b3659f refactor: Extract all hardcoded content to JSON files
- Move all bilingual text from templates to UI JSON (labels, buttons, modals)
- Move skills summary paragraph to CV JSON with HTML support
- Add new UI sections: navigation, viewControls, sections, footer, portfolio,
  pdfModal, shortcutsModal, infoModal, widgets
- Update Go structs to match expanded JSON structure
- Add template.HTML type for CV.SkillsSummary field
- Add JSON content validation test (70-json-content-validation.test.mjs)

Templates now contain only structural logic (CSS classes, HTML attributes)
while all user-visible text loads from JSON files for proper i18n support.
2025-11-30 10:13:37 +00:00

73 lines
2.9 KiB
HTML

{{define "section-awards"}}
<!-- Awards Section -->
{{if .CV.Awards}}
<section id="awards" class="cv-section component-wrapper">
<!-- Actual Content -->
<div class="actual-content">
<details open>
<summary>
<h3 class="section-title">
<iconify-icon icon="mdi:trophy" width="24" height="24" class="section-icon"></iconify-icon>
{{.UI.Navigation.Awards}}
</h3>
</summary>
{{range .CV.Awards}}
<div class="award-item">
{{if .AwardLogo}}
<div class="award-logo">
<img src="/static/images/companies/{{.AwardLogo}}" alt="{{.Title}} logo" onerror="this.parentElement.innerHTML='<iconify-icon icon=\'mdi:trophy\' width=\'80\' height=\'80\' class=\'default-award-icon\'></iconify-icon>'">
</div>
{{end}}
<div class="award-content">
<strong>{{.Title}}</strong><br>
<small>{{.Issuer}} - {{.Date}}</small>
{{if .ShortDescription}}
<p class="award-desc short-desc">{{.ShortDescription | safeHTML}}</p>
{{end}}
{{if .Responsibilities}}
<ul class="responsibilities long-only">
{{range .Responsibilities}}
<li>{{. | safeHTML}}</li>
{{end}}
</ul>
{{end}}
</div>
</div>
{{end}}
</details>
</div>
<!-- Skeleton Content -->
<div class="skeleton-content">
<div class="skeleton-section">
<div class="skeleton skeleton-section-title"></div>
<!-- Award Item 1 - With description and responsibilities -->
<div class="skeleton-award-item">
<div class="skeleton skeleton-award-logo"></div>
<div class="skeleton-award-content">
<div class="skeleton skeleton-award-title-line"></div>
<div class="skeleton skeleton-award-info-line"></div>
<div class="skeleton skeleton-description-line"></div>
<div class="skeleton skeleton-responsibility-line"></div>
<div class="skeleton skeleton-responsibility-line" style="width: 91%;"></div>
</div>
</div>
<!-- Award Item 2 - Shorter -->
<div class="skeleton-award-item">
<div class="skeleton skeleton-award-logo"></div>
<div class="skeleton-award-content">
<div class="skeleton skeleton-award-title-line"></div>
<div class="skeleton skeleton-award-info-line"></div>
<div class="skeleton skeleton-description-line" style="width: 87%;"></div>
</div>
</div>
</div>
</div>
</section>
{{end}}
{{end}}