fix(resume): use fab fab--primary pattern with text label

- fab fab--primary fab--label (same base as contact FAB)
- fab-primary__ico--pdf with cv.svg mask
- fab__label for text
- fab__spinner for loading state
- fab--label overrides fixed width from fab--primary
This commit is contained in:
Local Build committed 2026-08-13 20:27:13 +02:00
1 parent d7e717e2e7
commit e02291fffd
3 files changed
+32 -14

No files matched your search

+24 -6
View File
@@ -954,29 +954,47 @@ a.fab--secondary:visited {
outline-offset: 2px;
}
/* ── PDF download button: loading state ── */
.btn__spinner {
/* ── PDF download FAB ── */
.fab-primary__ico--pdf {
mask-image: url("../assets/shared/icons/cv.svg");
-webkit-mask-image: url("../assets/shared/icons/cv.svg");
}
.fab--label {
width: auto;
padding: 0.65rem 1.1rem;
gap: 0.5rem;
}
.fab__label {
font-size: 0.85rem;
font-weight: 600;
line-height: 1;
white-space: nowrap;
}
.fab__spinner {
display: none;
width: 1rem;
height: 1rem;
border: 2px solid color-mix(in hsl, var(--on-accent) 25%, transparent);
border-top-color: var(--on-accent);
border-radius: 50%;
animation: btn-spin 0.6s linear infinite;
animation: fab-spin 0.6s linear infinite;
flex-shrink: 0;
}
@keyframes btn-spin {
@keyframes fab-spin {
to { transform: rotate(360deg); }
}
[data-resume-pdf-btn][data-loading="true"] .btn__icon {
[data-resume-pdf-btn][data-loading="true"] .fab-primary__ico--pdf {
opacity: 0;
width: 0;
overflow: hidden;
}
[data-resume-pdf-btn][data-loading="true"] .btn__spinner {
[data-resume-pdf-btn][data-loading="true"] .fab__spinner {
display: block;
}
+4 -4
View File
@@ -293,10 +293,10 @@
</header>
<div class="fab-stack" aria-label="Быстрые действия">
<button type="button" class="btn btn--primary btn--flat btn--resume" data-resume-pdf-btn aria-label="Скачать резюме в PDF">
<span class="btn__icon" aria-hidden="true"></span>
<span>Скачать в PDF</span>
<span class="btn__spinner" aria-hidden="true"></span>
<button type="button" class="fab fab--primary fab--label" data-resume-pdf-btn aria-label="Скачать резюме в PDF">
<span class="fab-primary__ico fab-primary__ico--pdf" aria-hidden="true"></span>
<span class="fab__label">Скачать в PDF</span>
<span class="fab__spinner" aria-hidden="true"></span>
</button>
</div>
+4 -4
View File
@@ -1,7 +1,7 @@
<div class="fab-stack" aria-label="Быстрые действия">
<button type="button" class="btn btn--primary btn--flat btn--resume" data-resume-pdf-btn aria-label="Скачать резюме в PDF">
<span class="btn__icon" aria-hidden="true"></span>
<span>Скачать в PDF</span>
<span class="btn__spinner" aria-hidden="true"></span>
<button type="button" class="fab fab--primary fab--label" data-resume-pdf-btn aria-label="Скачать резюме в PDF">
<span class="fab-primary__ico fab-primary__ico--pdf" aria-hidden="true"></span>
<span class="fab__label">Скачать в PDF</span>
<span class="fab__spinner" aria-hidden="true"></span>
</button>
</div>