{% extends 'layout/base.twig' %} {% set title = (user.full_name) ~ ' - User Profile' %} {% set pageTitle = 'User Profile' %} {% set pageDescription = 'View user information and resources' %} {% set pageIcon = 'fas fa-user' %} {% set isActive = user.is_active ? true : false %} {% set isVerified = user.email_verified ? true : false %} {% set has2FA = twoFactorStatus.enabled|default(false) %} {% set totalDomains = domains|length %} {% set totalTags = tags|length %} {% set totalGroups = groups|length %} {# Overview tab computed data #} {% set attentionDomains = domains|filter(d => d.daysLeft is not null and d.daysLeft <= 30)|sort((a, b) => a.daysLeft|default(999) - b.daysLeft|default(999)) %} {% set attentionCount = attentionDomains|length %} {% set attentionPreview = attentionDomains|slice(0, 5) %} {% set topRegistrars = registrarCounts|default({})|slice(0, 8) %} {% set registrarTotal = registrarCounts|default({})|length %} {% set domainsWithGroup = domains|filter(d => d.group_name is defined and d.group_name)|length %} {% set domainsWithoutGroup = totalDomains - domainsWithGroup %} {% set totalChannels = 0 %} {% for g in groups %} {% set totalChannels = totalChannels + (g.channel_count|default(0)) %} {% endfor %} {% set topTags = tags|filter(t => (t.usage_count|default(0)) > 0)|slice(0, 8) %} {% block content %}
{{ totalDomains }}
Domains
{{ totalTags }}
Tags
{{ totalGroups }}
Groups
Total Domains
{{ totalDomains }}
Active
{{ userDomainStats.active|default(0) }}
Expiring Soon
{{ userDomainStats.expiring_soon|default(0) }}
within 30 days
Expired
{{ userDomainStats.expired|default(0) }}
{{ ad.expiration_date ? ad.expiration_date|date('M d, Y') : 'Unknown' }} {% if isExpired %} Expired {{ ad.daysLeft|abs }} day{{ ad.daysLeft|abs != 1 ? 's' : '' }} ago {% else %} {{ ad.daysLeft }} day{{ ad.daysLeft != 1 ? 's' : '' }} left {% endif %}
All domains are in good standing
No expired or expiring domains
No registrar data
No tags in use
{{ domainsWithGroup }}
With Notifications
{{ domainsWithoutGroup }}
Without Notifications
No domains to monitor
| Domain | Registrar | Expiration | Status | Group |
|---|---|---|---|---|
|
{{ domain.domain_name }}
{% set domainTags = domain.tags ? domain.tags|split(',') : [] %}
{% set tagColors = domain.tag_colors ? domain.tag_colors|split('|') : [] %}
{% for dtag in domainTags %}
{% set dtag = dtag|trim %}
{% set colorClass = tagColors[loop.index0]|default('bg-gray-100 text-gray-700 border-gray-200') %}
{{ dtag|capitalize }}
{% endfor %}
|
{% if domain.registrar %}
{{ domain.registrar }}
{% else %}
Unknown
{% endif %}
|
{% if domain.expiration_date %}
{{ domain.expiration_date|date('M d, Y') }}
{{ domain.daysLeft }} days
|
{{ domain.statusText }} | {% if domain.group_name %} {{ domain.group_name }} {% else %} No Group {% endif %} |
This user has no domains
| Tag | Description | Domains | Actions |
|---|---|---|---|
|
{{ tag.name }}
{% if tag.user_id is null %}
Global
{% endif %}
|
{% if tag.description %}
{{ tag.description }}
{% else %}
No description
{% endif %}
|
{{ tag.usage_count|default(0) }} domain{{ (tag.usage_count|default(0)) != 1 ? 's' : '' }}
|
|
|
{% for td in tagDomainsList %}
{% if td.expiration_date %}
{{ td.expiration_date|date('M d, Y') }}
{% endif %}
{{ td.statusText }}
|
|||
This user has no tags
{{ channel.name|default(type|capitalize) }}
{{ type|capitalize }}
This user has no notification groups