Add product features, Heleket crypto payments and order status icons.

This commit is contained in:
shop
2026-06-27 16:29:33 +03:00
parent 361d35e6b4
commit 98a0bb01e2
31 changed files with 1673 additions and 126 deletions
+48 -2
View File
@@ -86,6 +86,27 @@
<label>Email<input type="email" name="email" value="{{.Email}}" required></label>
<label>Телефон<input type="tel" name="phone" value="{{.Phone}}" required></label>
<label>Адрес доставки<textarea name="address" rows="3" required>{{.Address}}</textarea></label>
<h3 class="checkout-payment-title">Способ оплаты</h3>
<div class="checkout-payment">
<label class="checkout-payment__option">
<input type="radio" name="payment_method" value="cod" checked>
<span class="checkout-payment__label">
<strong>Оплата при получении</strong>
<small>Наличными или картой курьеру</small>
</span>
</label>
{{if .HeleketEnabled}}
<label class="checkout-payment__option">
<input type="radio" name="payment_method" value="heleket">
<span class="checkout-payment__label">
<strong>Криптовалюта</strong>
<small>Оплата через Heleket — BTC, USDT и др.</small>
</span>
</label>
{{end}}
</div>
<button type="submit" class="btn btn--primary btn--lg">Подтвердить заказ</button>
</form>
<aside class="cart-summary">
@@ -118,9 +139,25 @@
{{template "shop_header" .}}
<main class="shop-page container">
<div class="shop-card shop-card--success">
{{if .Order.IsHeleket}}
{{if eq .Order.Status "paid"}}
<h1>✓ Оплата получена!</h1>
<p>Заказ #{{.Order.ID}} оплачен. Мы свяжемся с вами для доставки.</p>
{{else}}
<h1>Заказ #{{.Order.ID}} создан</h1>
<p>Ожидаем оплату криптовалютой через Heleket.</p>
{{if .Order.HeleketPaymentStatus}}
<p class="shop-hint">Статус платежа: <strong>{{.Order.HeleketPaymentStatus}}</strong></p>
{{end}}
{{if .Order.HeleketPaymentURL}}
<a href="/order/{{.Order.ID}}/pay" class="btn btn--primary btn--lg">Перейти к оплате</a>
{{end}}
{{end}}
{{else}}
<h1>✓ Заказ оформлен!</h1>
<p>{{.Success}}</p>
<p class="shop-hint">Мы свяжемся с вами для подтверждения доставки.</p>
{{end}}
<div class="shop-actions">
<a href="/" class="btn btn--primary">На главную</a>
{{if .User}}<a href="/account" class="btn btn--outline">Мои заказы</a>{{end}}
@@ -175,7 +212,7 @@
<strong>Заказ #{{.ID}}</strong>
<span class="order-card__date">{{.CreatedAt.Format "02.01.2006 15:04"}}</span>
</div>
<span class="order-status {{orderClass .Status}}">{{orderLabel .Status}}</span>
<span class="order-status {{orderClass .Status}}"><span class="order-status__icon">{{orderIcon .Status}}</span> {{orderLabel .Status}}</span>
</div>
{{if not (orderTerminal .Status)}}
@@ -183,7 +220,7 @@
{{range orderTimeline}}
<div class="order-timeline__step {{if stepCurrent $.Status .}}order-timeline__step--current{{end}} {{if stepDone $.Status .}}order-timeline__step--done{{end}}">
<span class="order-timeline__dot"></span>
<span class="order-timeline__label">{{orderLabel .}}</span>
<span class="order-timeline__label"><span class="order-status__icon">{{orderIcon .}}</span> {{orderLabel .}}</span>
</div>
{{end}}
</div>
@@ -195,6 +232,15 @@
{{end}}
</ul>
<p class="order-card__total">Итого: {{printf "%.0f" .Total}} ₽</p>
{{if .IsHeleket}}
<p class="order-card__payment">
Оплата: Heleket
{{if .HeleketPaymentStatus}}({{.HeleketPaymentStatus}}){{end}}
{{if and .HeleketPaymentURL (ne .Status "paid")}}
<a href="/order/{{.ID}}/pay">оплатить</a>
{{end}}
</p>
{{end}}
</div>
{{end}}
{{else}}