88 lines
4.2 KiB
HTML
88 lines
4.2 KiB
HTML
{% extends "user_layout.html" %}
|
|
|
|
{% block title %}Landing Page Analytics - /p/{{ page_code }} - BZOD{% endblock %}
|
|
|
|
{% block active_pages %}active{% endblock %}
|
|
|
|
{% block header_title %}Landing Page Analytics: /p/{{ page_code }}{% endblock %}
|
|
|
|
{% block header_actions %}
|
|
<a href="/user/pages" class="btn btn-secondary" style="padding: 0.5rem 1rem; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.25rem;">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="19" y1="12" x2="5" y2="12"/><polyline points="12 19 5 12 12 5"/></svg>
|
|
Back to Landing Pages
|
|
</a>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<!-- Page Details Card -->
|
|
<div class="card" style="margin-bottom: 2rem;">
|
|
<h3 style="font-size: 1.1rem; margin-bottom: 1rem; color: var(--text-primary); display: flex; align-items: center; gap: 0.5rem;">
|
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
|
|
Landing Page Details
|
|
</h3>
|
|
<div>
|
|
<span style="font-size: 0.8rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.5px; display: block; margin-bottom: 0.25rem;">Page Title</span>
|
|
<span style="font-weight: 600; font-size: 1.1rem; color: var(--text-primary);">{{ title }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Visitor Activity Log -->
|
|
<div class="card" style="padding: 0; overflow: hidden;">
|
|
<div style="padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border-color);">
|
|
<h3 style="font-size: 1.1rem; display: flex; align-items: center; gap: 0.5rem; margin: 0;">
|
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
|
|
Visitor Activity Log
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="table-container">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Sr</th>
|
|
<th>Timestamp</th>
|
|
<th>IP Address</th>
|
|
<th>Country</th>
|
|
<th>Referrer</th>
|
|
<th>Browser</th>
|
|
<th>User-Agent</th>
|
|
<th>UTM Source</th>
|
|
<th>UTM Campaign</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% if visits.is_empty() %}
|
|
<tr>
|
|
<td colspan="9" style="text-align: center; color: var(--text-secondary); padding: 3rem;">
|
|
No visitor activity available for this landing page.
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
{% for entry in visits %}
|
|
<tr>
|
|
<td>{{ entry.sr }}</td>
|
|
<td style="font-family: monospace; font-size: 0.85rem; white-space: nowrap;">{{ entry.timestamp }}</td>
|
|
<td style="font-family: monospace; font-size: 0.85rem;">{{ entry.ip_address }}</td>
|
|
<td>
|
|
{% if entry.country == "Unknown" %}
|
|
<span style="color: var(--text-muted);">Unknown</span>
|
|
{% else %}
|
|
{{ entry.country }}
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ entry.referrer }}</td>
|
|
<td>{{ entry.browser }}</td>
|
|
<td style="max-width: 250px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.8rem; color: var(--text-secondary);" title="{{ entry.user_agent }}">
|
|
{{ entry.user_agent }}
|
|
</td>
|
|
<td>{{ entry.utm_source }}</td>
|
|
<td>{{ entry.utm_campaign }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|