|
|
|
include ./post.pug
|
|
|
|
|
|
|
|
mixin ban(ban, banpage)
|
|
|
|
tr
|
|
|
|
td
|
|
|
|
if !banpage || (ban.appeal == null && ban.allowAppeal === true)
|
|
|
|
input.post-check(type='checkbox', name='checkedbans' value=ban._id)
|
|
|
|
td
|
|
|
|
if ban.board
|
|
|
|
a(href=`/${ban.board}/`) /#{ban.board}/
|
|
|
|
else
|
|
|
|
| #{__('Global')}
|
|
|
|
td= ban.reason
|
|
|
|
- const ip = viewRawIp === true ? ban.ip.raw : ban.ip.cloak;
|
|
|
|
if viewRawIp === true
|
|
|
|
td #{ip}
|
|
|
|
else
|
|
|
|
td #{ip}#{'.*'.repeat(ban.range)}
|
|
|
|
td #{__(['IPV4', 'IPV6', 'Bypass', 'Pruned IP'][ban.ip.type])}
|
|
|
|
td #{__(['Single', 'Narrow', 'Wide'][ban.range])}
|
|
|
|
td #{(!banpage || ban.showUser === true) ? ban.issuer : __('Hidden User')}
|
|
|
|
- const banDate = new Date(ban.date);
|
|
|
|
td: time.right.reltime(datetime=banDate.toISOString()) #{banDate.toLocaleString(undefined, {hourCycle:'h23'})}
|
|
|
|
- const expireDate = new Date(ban.expireAt);
|
|
|
|
td: time.right.reltime(datetime=expireDate.toISOString()) #{expireDate.toLocaleString(undefined, {hourCycle:'h23'})}
|
|
|
|
td.banposts
|
|
|
|
if ban.posts && ban.posts.length > 0
|
|
|
|
| #{__('Hover to view')}
|
|
|
|
.thread
|
|
|
|
each p in ban.posts
|
|
|
|
+post(p, false, false, false, true)
|
|
|
|
else
|
|
|
|
#{__('Posts not shown')}
|
|
|
|
td
|
|
|
|
if ban.seen
|
|
|
|
| ✓
|
|
|
|
else
|
|
|
|
| ⨯
|
|
|
|
td
|
|
|
|
if ban.allowAppeal && !ban.appeal
|
|
|
|
| ✓
|
|
|
|
else
|
|
|
|
| ⨯
|
|
|
|
td
|
|
|
|
if ban.appeal
|
|
|
|
textarea(rows=1 disabled='true') #{ban.appeal}
|
|
|
|
else if ban.allowAppeal
|
|
|
|
| #{__('No appeal submitted')}
|
|
|
|
else
|
|
|
|
| -
|
|
|
|
td
|
|
|
|
if ban.note
|
|
|
|
| #{ban.note}
|
|
|
|
else
|
|
|
|
| -
|