<%- include('../partials/head', { title }) %>
<section class="panel"><div class="panel-header"><div><h2 class="font-black">رویدادهای تغییرناپذیر ممیزی</h2><p class="help">زمان‌ها با ثانیه و تقویم جلالی نمایش داده می‌شوند؛ ذخیره‌سازی UTC است.</p></div><span class="badge-neutral"><%= canViewSecurity ? 'عملیاتی و امنیتی' : 'عملیاتی' %></span></div><div class="table-wrap"><table class="data-table"><thead><tr><th>زمان</th><th>کنشگر</th><th>عملیات</th><th>موجودیت</th><th>دلیل</th><th>IP</th><th>مقادیر جدید</th></tr></thead><tbody><% rows.forEach(row => { const security = row.action.startsWith('auth.') || row.action.startsWith('user.') || row.action.startsWith('role.'); if (security && !canViewSecurity) return; %><tr><td><%= formatJalaliDateTime(row.occurred_at) %></td><td><%= row.actor ?? 'سامانه/ناشناس' %><div class="text-xs text-slate-500"><%= row.actor_role ?? '' %></div></td><td dir="ltr"><%= row.action %></td><td><%= row.entity_type %><div class="max-w-36 truncate text-xs" dir="ltr"><%= row.entity_id %></div></td><td><%= row.reason ?? '—' %></td><td dir="ltr"><%= row.ip_address ?? '—' %></td><td class="max-w-md whitespace-normal text-xs"><%= row.new_values ? JSON.stringify(row.new_values) : '—' %></td></tr><% }) %></tbody></table></div></section>
<%- include('../partials/footer') %>

