Files
cv-site/templates/partials/navigation/action-buttons.html
T
juanatsap 9a848e8c53 feat: Add CMD+K command palette with ninja-keys integration
Implement a command palette accessible via CMD+K/Ctrl+K using the ninja-keys
web component. Features include:

- New /api/cmd-k endpoint serving dynamic CV entries (experiences, projects, courses)
- Language-aware responses with 1-hour cache headers
- Scroll-to-section functionality for quick navigation
- Enhanced keyboard shortcuts modal with CMD+K documentation
- Comprehensive test coverage for API and UI interactions

Also includes cleanup of deprecated debug test files and various UI polish
improvements to contact form, themes, and action bar components.
2025-12-01 13:03:06 +00:00

35 lines
1.5 KiB
HTML

{{define "action-buttons"}}
<!-- Right: Action buttons -->
<div class="action-buttons-right">
<button
id="action-bar-pdf-btn"
class="action-btn pdf-btn has-tooltip"
onclick="document.getElementById('pdf-modal').showModal()"
aria-label="{{.UI.Widgets.ActionButtons.DownloadPdf}}"
data-tooltip="{{.UI.Widgets.ActionButtons.DownloadPdf}}"
_="on mouseenter call syncPdfHover(true)
on mouseleave call syncPdfHover(false)">
<iconify-icon icon="catppuccin:pdf" width="24" height="24"></iconify-icon>
{{.UI.Widgets.ActionButtons.DownloadPdf}}
</button>
<button
class="action-btn print-btn action-bar-print-btn has-tooltip"
aria-label="{{.UI.Widgets.ActionButtons.PrintFriendly}}"
data-tooltip="{{.UI.Widgets.ActionButtons.PrintFriendly}}"
_="on click call printFriendly()
on mouseenter call syncPrintHover(true)
on mouseleave call syncPrintHover(false)">
<iconify-icon icon="mdi:leaf" width="24" height="24"></iconify-icon>
{{.UI.Widgets.ActionButtons.PrintFriendly}}
</button>
<button
class="action-btn search-btn has-tooltip"
aria-label="{{.UI.Widgets.ActionButtons.SearchAriaLabel}}"
data-tooltip="{{.UI.Widgets.ActionButtons.Search}}"
_="on click set #cmd-k-bar's @open to true">
<iconify-icon icon="mdi:magnify" width="24" height="24"></iconify-icon>
{{.UI.Widgets.ActionButtons.Search}}
</button>
</div>
{{end}}