{% extends "_market/_layouts/main" %} {% set title = 'Dashboard'|t('market') %} {% set extendHeader = true %} {% set statusMap = { green: 'bg-green-100 text-green-800', blue: 'bg-blue-100 text-blue-800', pink: 'bg-pink-100 text-pink-800', default: 'bg-gray-100 text-gray-800', } %} {% block content %} {# Basic order query #} {% set ordersQuery = craft.orders .isCompleted(true) .relatedTo({ 'targetElement': currentVendor, 'field': 'vendor' }) %} {# Total orders calc #} {% set thirtyDays = now|date_modify('-30 days')|date('U') %} {% set sixtyDays = now|date_modify('-60 days')|date('U') %} {% set totalOrders = ordersQuery .dateOrdered('>= '~thirtyDays) .count() %} {% set totalOrdersPrev30 = ordersQuery .dateOrdered(['and', '>= '~sixtyDays, '<= '~thirtyDays]) .count() %} {% set totalOrdersDiff = (totalOrders - totalOrdersPrev30) %} {# Total new orders #} {% set totalNewOrders = ordersQuery .orderStatus('new') .dateOrdered(null) .count() %} {# Main orders loop #} {% set recentOrders = ordersQuery .withCustomer(true) .withAddresses(true) .orderStatus(null) .dateOrdered(null) .orderBy('dateOrdered desc') .limit(6) .all() %} {# Total revenue calc #} {% set last30DaysPrices = ordersQuery .limit(null) .dateOrdered('>= '~thirtyDays) .addSelect('commerce_orders.totalPrice') .column() %} {% set prev30DaysPrices = ordersQuery .limit(null) .dateOrdered(['and', '>= '~sixtyDays, '<= '~thirtyDays]) .addSelect('commerce_orders.totalPrice') .column() %} {% set totalRevenue = 0 %} {% for price in last30DaysPrices %} {% set totalRevenue = totalRevenue + price %} {% endfor %} {% set totalRevenuePrev30 = 0 %} {% for price in prev30DaysPrices %} {% set totalRevenuePrev30 = totalRevenuePrev30 + price %} {% endfor %} {% set totalRevenueDiff = (totalRevenue - totalRevenuePrev30) %} {# Header #}
{# Profile #}
{% if profilePicture %} {% endif %}
{% if profilePicture %} {% endif %}

{% set hour = now|date('G') %} {% if hour < 12 %} Good morning, {{ currentUser.friendlyName }} {% elseif hour < 17 %} Good afternoon, {{ currentUser.friendlyName }} {% else %} Good evening, {{ currentUser.friendlyName }} {% endif %}

Company
{# Heroicon name: office-building #} {{ currentVendor.title }}
Account status
{% if currentVendor.status == 'active' %} {# Heroicon name: circle-check #} {% endif %} {% if currentVendor.status == 'pending' %} {# Heroicon name: clock #} {% endif %} {% if currentVendor.status == 'suspended' %} {# Heroicon name: exclamation #} {% endif %} {{ 'Account {status}'|t('market', {status: currentVendor.status}) }}
Account status
{% if currentVendor.stripeUserId %} {# Heroicon name: circle-check #} {{ 'Payments Active' }} {% else %} {# Heroicon name: exclamation #} {{ 'Payments Inactive' }} {% endif %}
{# If stripe is not connected, help them #} {% if not currentVendor.stripeUserId %} {{ 'Setup Payments'|t('market') }} {% else %} {# New product #}
{% endif %}
{# Main #}

{{ 'Overview'|t('market') }}

{# Total New Orders #}
{# Heroicon name: sparkles #}
{{ 'New Orders'|t('market') }}
{{ totalNewOrders }}
{# Total Orders #}
{# Heroicon name: clipboard-list #}
{{ 'Total Orders'|t('market') }}
{{ totalOrders }}
{% if totalOrdersDiff > 0 %}
{{ 'Increased by'|t('market') }} {{ totalOrdersDiff|abs }}
{% elseif totalOrdersDiff < 0 %}
{{ 'Decreased by'|t('market') }} {{ totalOrdersDiff|abs }}
{% endif %}
{{ 'View all'|t('market') }} {{ 'Last 30 days'|t('market') }}
{# Total Revenue #}
{# Heroicon name: credit-card #}
{{ 'Total Revenue'|t('market') }}
{{ totalRevenue|currency(null, [], [], true) }}
{% if totalRevenueDiff > 0 %}
{{ 'Increased by'|t('market') }} {{ totalRevenueDiff|abs|currency(null, [], [], true) }}
{% elseif totalRevenueDiff < 0 %}
{{ 'Decreased by'|t('market') }} {{ totalRevenueDiff|abs|currency(null, [], [], true) }}
{% endif %}
{{ 'View all'|t('market') }} {{ 'Last 30 days'|t('market') }}
{% if recentOrders %}

{{ 'Recent orders'|t('market') }}

{# Smallest breakpoint only #} {# Small breakpoint and up #} {% endif %} {# Training portal ad #}
{% endblock %}