75 lines
5.5 KiB
HTML
75 lines
5.5 KiB
HTML
{% extends "admin/base.html" %}
|
|
|
|
{% block title %}{{ t(key="admin-shipping", lang=lang | default(value='sk')) }}{% endblock title %}
|
|
{% block crumb %}{{ t(key="admin-shipping", lang=lang | default(value='sk')) }}{% endblock crumb %}
|
|
|
|
{% block content %}
|
|
<header class="space-y-1">
|
|
<h1 class="text-2xl font-bold text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="admin-shipping", lang=lang | default(value='sk')) }}</h1>
|
|
<p class="text-sm text-on-surface/70 dark:text-on-surface-dark/70">{{ t(key="admin-shipping-desc", lang=lang | default(value='sk')) }}</p>
|
|
</header>
|
|
|
|
<div class="mt-6 space-y-4">
|
|
{% for method in methods %}
|
|
<div class="flex flex-wrap items-end gap-4 rounded-radius border border-outline bg-surface p-5 dark:border-outline-dark dark:bg-surface-dark-alt">
|
|
<form method="post" action="/admin/shipping/{{ method.id }}" class="flex flex-1 flex-wrap items-end gap-4">
|
|
<div class="min-w-40">
|
|
<p class="font-semibold text-on-surface-strong dark:text-on-surface-dark-strong">{{ method.name }}</p>
|
|
<p class="text-xs text-on-surface/60 dark:text-on-surface-dark/60">{{ method.code }}{% if method.requires_pickup_point %} · {{ t(key="checkout-pickup-point", lang=lang | default(value='sk')) }}{% endif %}</p>
|
|
</div>
|
|
<div class="space-y-1.5">
|
|
<label for="price-{{ method.id }}" class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="price", lang=lang | default(value='sk')) }}</label>
|
|
<input id="price-{{ method.id }}" name="price" type="text" inputmode="decimal" value="{{ method.price }}"
|
|
class="w-28 rounded-radius border border-outline bg-surface px-3 py-2 text-sm text-on-surface focus:outline-2 focus:outline-primary dark:border-outline-dark dark:bg-surface-dark dark:text-on-surface-dark">
|
|
</div>
|
|
<label class="flex items-center gap-2 pb-2">
|
|
<input type="checkbox" name="enabled" value="on" {% if method.enabled %}checked{% endif %}
|
|
class="size-4 rounded border-outline text-primary focus:ring-primary dark:border-outline-dark">
|
|
<span class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="shipping-enabled", lang=lang | default(value='sk')) }}</span>
|
|
</label>
|
|
<button type="submit"
|
|
class="ml-auto inline-flex items-center justify-center rounded-radius bg-primary px-4 py-2 text-sm font-medium text-on-primary transition hover:opacity-75 dark:bg-primary-dark dark:text-on-primary-dark">
|
|
{{ t(key="save", lang=lang | default(value='sk')) }}
|
|
</button>
|
|
</form>
|
|
<form method="post" action="/admin/shipping/{{ method.id }}/delete"
|
|
onsubmit="return confirm('{{ t(key="confirm-delete", lang=lang | default(value='sk')) }}')">
|
|
<button type="submit"
|
|
class="inline-flex items-center justify-center rounded-radius border border-outline px-4 py-2 text-sm font-medium text-danger transition hover:bg-danger/10 dark:border-outline-dark">
|
|
{{ t(key="delete", lang=lang | default(value='sk')) }}
|
|
</button>
|
|
</form>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<form method="post" action="/admin/shipping"
|
|
class="mt-8 flex flex-wrap items-end gap-4 rounded-radius border border-dashed border-outline bg-surface p-5 dark:border-outline-dark dark:bg-surface-dark-alt">
|
|
<h2 class="w-full text-sm font-semibold uppercase tracking-wide text-on-surface/60 dark:text-on-surface-dark/60">{{ t(key="shipping-new", lang=lang | default(value='sk')) }}</h2>
|
|
<div class="space-y-1.5">
|
|
<label for="new-name" class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="name", lang=lang | default(value='sk')) }}</label>
|
|
<input id="new-name" name="name" type="text" required
|
|
class="w-56 rounded-radius border border-outline bg-surface px-3 py-2 text-sm text-on-surface focus:outline-2 focus:outline-primary dark:border-outline-dark dark:bg-surface-dark dark:text-on-surface-dark">
|
|
</div>
|
|
<div class="space-y-1.5">
|
|
<label for="new-price" class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="price", lang=lang | default(value='sk')) }}</label>
|
|
<input id="new-price" name="price" type="text" inputmode="decimal" value="0.00"
|
|
class="w-28 rounded-radius border border-outline bg-surface px-3 py-2 text-sm text-on-surface focus:outline-2 focus:outline-primary dark:border-outline-dark dark:bg-surface-dark dark:text-on-surface-dark">
|
|
</div>
|
|
<label class="flex items-center gap-2 pb-2">
|
|
<input type="checkbox" name="requires_pickup_point" value="on"
|
|
class="size-4 rounded border-outline text-primary focus:ring-primary dark:border-outline-dark">
|
|
<span class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="shipping-requires-pickup", lang=lang | default(value='sk')) }}</span>
|
|
</label>
|
|
<label class="flex items-center gap-2 pb-2">
|
|
<input type="checkbox" name="enabled" value="on" checked
|
|
class="size-4 rounded border-outline text-primary focus:ring-primary dark:border-outline-dark">
|
|
<span class="text-sm font-medium text-on-surface-strong dark:text-on-surface-dark-strong">{{ t(key="shipping-enabled", lang=lang | default(value='sk')) }}</span>
|
|
</label>
|
|
<button type="submit"
|
|
class="ml-auto inline-flex items-center justify-center rounded-radius bg-primary px-4 py-2 text-sm font-medium text-on-primary transition hover:opacity-75 dark:bg-primary-dark dark:text-on-primary-dark">
|
|
{{ t(key="shipping-add", lang=lang | default(value='sk')) }}
|
|
</button>
|
|
</form>
|
|
{% endblock content %}
|