Files

66 lines
3.2 KiB
HTML
Raw Permalink Normal View History

2026-04-29 17:49:07 +03:00
{% extends "admin/layout.html" %}
{% let active_page = "dashboard" %}
{% block title %}{{ t.dashboard_title }}{% endblock %}
{% block content %}
<div class="page-head">
<h1>{{ t.dashboard_today_visits }}</h1>
<a href="/admin/schedule/new?lang={{ lang.code() }}" class="button is-primary is-small">+ {{ t.schedule_new }}</a>
</div>
{% if today_visits.is_empty() %}
<p class="has-text-grey">{{ t.dashboard_no_visits }}</p>
{% else %}
{% for tv in &today_visits %}
<div class="item-card">
<div class="item-card-header">
<a href="/admin/schedule/{{ tv.visit.id }}/edit?lang={{ lang.code() }}" class="name" style="text-decoration:none;color:inherit;">
<span style="display:inline-block;width:12px;height:12px;border-radius:50%;background:{{ tv.client_color }};margin-right:6px;vertical-align:middle;"></span>{{ tv.client_name }}
</a>
<span class="badge badge-visit-{{ tv.visit.status }}">{{ t.visit_status(&tv.visit.status) }}</span>
</div>
<div class="item-card-meta">
<span>🕐 {{ tv.visit.time_start }} — {{ tv.visit.time_end }}</span>
{% if !tv.client_phone.is_empty() %}
<span><a href="tel:{{ tv.client_phone }}" style="color:inherit;text-decoration:none;">📞 {{ tv.client_phone }}</a></span>
{% endif %}
{% if !tv.client_address.is_empty() %}
<span>📍 {{ tv.client_address }}</span>
{% endif %}
</div>
{% if let Some(notes) = tv.visit.notes.as_deref() %}
<div style="color:#888;font-size:0.82rem;margin-top:0.3rem;">{{ notes }}</div>
{% endif %}
<div class="item-card-actions">
{% if tv.visit.status == "scheduled" %}
<form method="post" action="/admin/schedule/{{ tv.visit.id }}/done">
<button class="button is-small is-success is-outlined btn-sm">{{ t.schedule_mark_done }}</button>
</form>
<form method="post" action="/admin/schedule/{{ tv.visit.id }}/cancel">
<button class="button is-small is-danger is-outlined btn-sm">{{ t.schedule_cancel }}</button>
</form>
{% endif %}
<a href="/admin/media/{{ tv.visit.id }}/upload?lang={{ lang.code() }}" class="button is-small is-info is-outlined btn-sm">📷 {{ t.media_upload }}</a>
</div>
</div>
{% endfor %}
{% endif %}
<!-- Recent feedbacks -->
<h2 style="font-size:1.15rem;font-weight:700;margin:1.5rem 0 0.75rem;">{{ t.dashboard_recent_feedbacks }}</h2>
{% if recent_feedbacks.is_empty() %}
<p class="has-text-grey">{{ t.dashboard_no_feedbacks }}</p>
{% else %}
{% for fb in &recent_feedbacks %}
<div class="item-card" style="border-left:3px solid #7c6cff;">
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:0.25rem;">
<strong style="font-size:0.9rem;">{{ fb.client_name }}</strong>
<a href="/admin/schedule/{{ fb.visit_id }}/edit?lang={{ lang.code() }}" style="color:#999;font-size:0.8rem;text-decoration:none;">{{ fb.visit_date }}</a>
</div>
<div style="font-size:0.85rem;color:#4a4570;">{{ fb.feedback }}</div>
</div>
{% endfor %}
{% endif %}
{% endblock %}