GBP Audit: user-friendly reviews scoring explanation

Clearer breakdown showing:
- What points user already earned (✓)
- What's still pending (○)
- Actionable tip for zero reviews
- Goal reminder for partial scores

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-09 04:25:39 +01:00
parent 82b57427f7
commit d44df3b104

View File

@ -270,24 +270,54 @@
}
.field-scoring-info {
display: flex;
align-items: center;
gap: var(--spacing-xs);
margin-top: var(--spacing-xs);
padding: var(--spacing-xs) var(--spacing-sm);
margin-top: var(--spacing-sm);
padding: var(--spacing-sm);
background: var(--bg-tertiary);
border-radius: var(--radius-sm);
font-size: var(--font-size-xs);
}
.scoring-info-icon {
color: var(--primary);
display: flex;
align-items: center;
cursor: help;
.field-scoring-info.reviews-scoring {
border-left: 3px solid var(--primary);
}
.scoring-info-text {
.scoring-header {
display: flex;
align-items: center;
gap: var(--spacing-xs);
color: var(--primary);
font-weight: 600;
margin-bottom: var(--spacing-xs);
}
.scoring-breakdown {
display: flex;
flex-direction: column;
gap: 4px;
}
.scoring-item {
color: var(--text-secondary);
padding-left: var(--spacing-sm);
}
.scoring-item.achieved {
color: var(--success);
}
.scoring-item.pending {
color: var(--text-tertiary);
}
.scoring-item.tip {
color: var(--warning);
font-style: italic;
}
.scoring-tip {
margin-top: var(--spacing-xs);
padding-top: var(--spacing-xs);
border-top: 1px dashed var(--border-light);
color: var(--text-tertiary);
font-style: italic;
}
@ -904,21 +934,29 @@
</div>
{% endif %}
{% if field_name == 'reviews' %}
<div class="field-scoring-info">
<span class="scoring-info-icon" title="Jak liczone sa punkty za opinie">
<div class="field-scoring-info reviews-scoring">
<div class="scoring-header">
<svg width="14" height="14" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
</span>
<span class="scoring-info-text">
Jak zdobyc punkty?
</div>
<div class="scoring-breakdown">
{% if field_data.score == field_data.max_score %}
Pelna punktacja: 5+ opinii i ocena >= 4.0
<div class="scoring-item achieved">✓ Masz 5+ opinii z dobra ocena - gratulacje!</div>
{% elif field_data.score == 0 %}
Brak opinii = 0 pkt
<div class="scoring-item tip">Popros klientow o wystawienie opinii w Google</div>
{% else %}
Punktacja: 3 pkt (1. opinia) + 1 pkt/opinie + 1 pkt bonus (ocena >= 4.0)
<div class="scoring-item achieved">✓ Pierwsza opinia: 3 pkt</div>
<div class="scoring-item {% if field_data.score >= 4 %}achieved{% else %}pending{% endif %}">
{% if field_data.score >= 4 %}✓{% else %}○{% endif %} Kazda kolejna opinia: +1 pkt
</div>
<div class="scoring-item {% if field_data.score >= 4 %}achieved{% else %}pending{% endif %}">
{% if field_data.score >= 4 %}✓{% else %}○{% endif %} Ocena 4.0 lub wyzsza: +1 pkt bonus
</div>
<div class="scoring-tip">Cel: 5+ opinii z ocena min. 4.0 = pelne 9 pkt</div>
{% endif %}
</span>
</div>
</div>
{% endif %}
<div class="field-score">