71 lines
4.9 KiB
HTML
71 lines
4.9 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ 'pc_detail.title'|t(user.language) }} - {{ 'brand'|t(user.language) }}{% endblock %}
|
|
{% block content %}
|
|
<div class="section-header">
|
|
<div class="detail-title-row">
|
|
<a href="/profiles/{{ postcard.profile_id }}/postcards" class="btn btn-back">←</a>
|
|
<h1>{{ postcard.card_number }}</h1>
|
|
<span class="badge badge-{{ postcard.status }}">{{ {'sent':'已寄出','delivered':'已送达','received':'已收到'}.get(postcard.status, postcard.status) if user.language=='zh' else {'sent':'Sent','delivered':'Delivered','received':'Received'}.get(postcard.status, postcard.status) }}</span>
|
|
</div>
|
|
<div class="detail-actions">
|
|
<a href="/postcards/{{ postcard.id }}/edit" class="btn">{{ 'pc_detail.edit'|t(user.language) }}</a>
|
|
{% if postcard.status == 'sent' %}
|
|
<form method="post" action="/postcards/{{ postcard.id }}/mark-delivered" class="inline">
|
|
<button type="submit" class="btn btn-primary" onclick="return confirm('{{ 'pc_detail.confirm_delivered'|t(user.language) }}')">{{ 'pc_detail.mark_delivered'|t(user.language) }}</button>
|
|
</form>
|
|
{% endif %}
|
|
<form method="post" action="/postcards/{{ postcard.id }}/delete" class="inline">
|
|
<button type="submit" class="btn btn-danger" onclick="return confirm('{{ 'pc_detail.confirm_delete'|t(user.language) }}')">{{ 'pc_detail.delete'|t(user.language) }}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="detail-grid">
|
|
<div class="detail-images">
|
|
<div class="image-block">
|
|
<h3>{{ 'pc_detail.front'|t(user.language) }}</h3>
|
|
{% if postcard.image_front %}
|
|
<img src="{{ postcard.image_front }}" alt="" class="detail-img">
|
|
{% else %}
|
|
<div class="detail-img placeholder">{{ 'pc_detail.no_front'|t(user.language) }}</div>
|
|
{% endif %}
|
|
<form method="post" action="/postcards/{{ postcard.id }}/image/front" enctype="multipart/form-data" class="inline upload-form">
|
|
<input type="file" name="file" accept="image/*" required>
|
|
<button type="submit" class="btn btn-sm">{{ 'pc_detail.upload_front'|t(user.language) }}</button>
|
|
</form>
|
|
</div>
|
|
<div class="image-block">
|
|
<h3>{{ 'pc_detail.back'|t(user.language) }}</h3>
|
|
{% if postcard.image_back %}
|
|
<img src="{{ postcard.image_back }}" alt="" class="detail-img">
|
|
{% else %}
|
|
<div class="detail-img placeholder">{{ 'pc_detail.no_back'|t(user.language) }}</div>
|
|
{% endif %}
|
|
<form method="post" action="/postcards/{{ postcard.id }}/image/back" enctype="multipart/form-data" class="inline upload-form">
|
|
<input type="file" name="file" accept="image/*" required>
|
|
<button type="submit" class="btn btn-sm">{{ 'pc_detail.upload_back'|t(user.language) }}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="detail-meta">
|
|
<dl>
|
|
<dt>{{ 'pc_detail.card_number'|t(user.language) }}</dt><dd>{{ postcard.card_number }}</dd>
|
|
<dt>{{ 'pc_detail.status'|t(user.language) }}</dt><dd>{{ {'sent':'已寄出','delivered':'已送达','received':'已收到'}.get(postcard.status, postcard.status) if user.language=='zh' else {'sent':'Sent','delivered':'Delivered','received':'Received'}.get(postcard.status, postcard.status) }}</dd>
|
|
{% if postcard.status in ('sent','delivered') %}
|
|
<dt>{{ 'pc_detail.recipient'|t(user.language) }}</dt><dd>{{ postcard.recipient_name or '-' }}</dd>
|
|
<dt>{{ 'pc_detail.route'|t(user.language) }}</dt><dd>{% if postcard.country_from %}{{ postcard.country_from|flag }} {{ postcard.country_from }} → {% endif %}{{ postcard.country|flag }} {{ postcard.country or '-' }}</dd>
|
|
<dt>{{ 'pc_detail.send_time'|t(user.language) }}</dt><dd>{{ postcard.send_time.strftime('%Y-%m-%d') if postcard.send_time else '-' }}</dd>
|
|
<dt>{{ 'pc_detail.arrival_time'|t(user.language) }}</dt><dd>{{ postcard.arrival_time.strftime('%Y-%m-%d') if postcard.arrival_time else '-' }}</dd>
|
|
{% else %}
|
|
<dt>{{ 'pc_detail.sender'|t(user.language) }}</dt><dd>{{ postcard.sender_name or '-' }}</dd>
|
|
<dt>{{ 'pc_detail.route'|t(user.language) }}</dt><dd>{% if postcard.country_from %}{{ postcard.country_from|flag }} {{ postcard.country_from }} → {% endif %}{{ postcard.country|flag }} {{ postcard.country or '-' }}</dd>
|
|
<dt>{{ 'pc_detail.receive_time'|t(user.language) }}</dt><dd>{{ postcard.receive_time.strftime('%Y-%m-%d') if postcard.receive_time else '-' }}</dd>
|
|
{% endif %}
|
|
<dt>{{ 'pc_detail.profile'|t(user.language) }}</dt><dd>{{ postcard.profile.nickname }}</dd>
|
|
{% if postcard.notes %}
|
|
<dt>{{ 'pc_detail.notes'|t(user.language) }}</dt><dd>{{ postcard.notes }}</dd>
|
|
{% endif %}
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|