fix up tables
parent
a68dcfd5fe
commit
8272599137
|
@ -12,40 +12,42 @@
|
|||
|
||||
{% if u1 and u2 %}
|
||||
<h2>Analysis</h2>
|
||||
<div class="overflow-x-auto"><table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<div class="overflow-x-auto">
|
||||
<table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th class="disable-sort-click"></th>
|
||||
<th class="disable-sort-click">@{{u1.username}} only (% unique)</th>
|
||||
<th class="disable-sort-click">Both</th>
|
||||
<th class="disable-sort-click">@{{u2.username}} only (% unique)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<th class="disable-sort-click"></th>
|
||||
<th class="disable-sort-click">@{{u1.username}} only (% unique)</th>
|
||||
<th class="disable-sort-click">Both</th>
|
||||
<th class="disable-sort-click">@{{u2.username}} only (% unique)</th>
|
||||
<td><b>Post Upvotes</b></td>
|
||||
<td>{{data['u1_only_post_ups']}} ({{data['u1_post_ups_unique']}}%)</td>
|
||||
<td>{{data['both_post_ups']}}</td>
|
||||
<td>{{data['u2_only_post_ups']}} ({{data['u2_post_ups_unique']}}%)</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td><b>Post Upvotes</b></td>
|
||||
<td>{{data['u1_only_post_ups']}} ({{data['u1_post_ups_unique']}}%)</td>
|
||||
<td>{{data['both_post_ups']}}</td>
|
||||
<td>{{data['u2_only_post_ups']}} ({{data['u2_post_ups_unique']}}%)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Post Downvotes</b></td>
|
||||
<td>{{data['u1_only_post_downs']}} ({{data['u1_post_downs_unique']}}%)</td>
|
||||
<td>{{data['both_post_downs']}}</td>
|
||||
<td>{{data['u2_only_post_downs']}} ({{data['u2_post_downs_unique']}}%)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Comment Upvotes</b></td>
|
||||
<td>{{data['u1_only_comment_ups']}} ({{data['u1_comment_ups_unique']}}%)</td>
|
||||
<td>{{data['both_comment_ups']}}</td>
|
||||
<td>{{data['u2_only_comment_ups']}} ({{data['u2_comment_ups_unique']}}%)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Comment Downvotes</b></td>
|
||||
<td>{{data['u1_only_comment_downs']}} ({{data['u1_comment_downs_unique']}}%)</td>
|
||||
<td>{{data['both_comment_downs']}}</td>
|
||||
<td>{{data['u2_only_comment_downs']}} ({{data['u2_comment_downs_unique']}}%)</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td><b>Post Downvotes</b></td>
|
||||
<td>{{data['u1_only_post_downs']}} ({{data['u1_post_downs_unique']}}%)</td>
|
||||
<td>{{data['both_post_downs']}}</td>
|
||||
<td>{{data['u2_only_post_downs']}} ({{data['u2_post_downs_unique']}}%)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Comment Upvotes</b></td>
|
||||
<td>{{data['u1_only_comment_ups']}} ({{data['u1_comment_ups_unique']}}%)</td>
|
||||
<td>{{data['both_comment_ups']}}</td>
|
||||
<td>{{data['u2_only_comment_ups']}} ({{data['u2_comment_ups_unique']}}%)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Comment Downvotes</b></td>
|
||||
<td>{{data['u1_only_comment_downs']}} ({{data['u1_comment_downs_unique']}}%)</td>
|
||||
<td>{{data['both_comment_downs']}}</td>
|
||||
<td>{{data['u2_only_comment_downs']}} ({{data['u2_comment_downs_unique']}}%)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% if v.admin_level >= PERMS['USER_LINK'] %}
|
||||
<h2>Link Accounts</h2>
|
||||
|
||||
|
|
|
@ -7,26 +7,35 @@
|
|||
{% block content %}
|
||||
<p>We received a request to remove two-factor authentication from your account. In 72 hours, click the link below.</p>
|
||||
<p>If you didn't make this request, change your password and use the Log Out Everywhere feature in your <a href="/settings/security">Security Settings</a> to permanently invalidate the link.</p>
|
||||
<div class="overflow-x-auto"><table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<div class="overflow-x-auto><table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{action_url}}" class="f-fallback button" target="_blank">Remove two-factor authentication</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<div class="overflow-x-auto">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{action_url}}" class="f-fallback button" target="_blank">Remove two-factor authentication</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p>Please note that {{SITE_NAME}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<div class="overflow-x-auto"><table class="body-sub">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">{{action_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="body-sub">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">{{action_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -366,39 +366,45 @@
|
|||
</head>
|
||||
<body>
|
||||
<span class="preheader">{% block preheader %}Thanks for joining {{SITE_NAME}}! Please take a sec to verify the email you used to sign up.{% endblock %}</span>
|
||||
<div class="overflow-x-auto"><table class="email-wrapper" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<div class="overflow-x-auto"><table class="email-content" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="email-masthead">
|
||||
<a href="/" class="f-fallback email-masthead_name">
|
||||
{{SITE_NAME}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="email-body" width="100%" cellpadding="0" cellspacing="0">
|
||||
<div class="overflow-x-auto"><table class="email-body_inner" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>{% block title %}Title Goes Here{% endblock %}</h1>
|
||||
{% block content %}
|
||||
{% for entry in data %}
|
||||
<h3>{{entry[0]}}</h3>
|
||||
<p>{{entry[1]}}</p>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="email-wrapper" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<div class="overflow-x-auto">
|
||||
<table class="email-content" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="email-masthead">
|
||||
<a href="/" class="f-fallback email-masthead_name">
|
||||
{{SITE_NAME}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="email-body" width="100%" cellpadding="0" cellspacing="0">
|
||||
<div class="overflow-x-auto">
|
||||
<table class="email-body_inner" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>{% block title %}Title Goes Here{% endblock %}</h1>
|
||||
{% block content %}
|
||||
{% for entry in data %}
|
||||
<h3>{{entry[0]}}</h3>
|
||||
<p>{{entry[1]}}</p>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -21,28 +21,32 @@
|
|||
</tr>
|
||||
</table>
|
||||
<p>For reference, here's your username.</p>
|
||||
<div class="overflow-x-auto"><table class="attributes" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="attributes_content">
|
||||
<div class="overflow-x-auto><table width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="attributes_item">
|
||||
<span class="f-fallback">
|
||||
<strong>Email:</strong> {{v.email}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="attributes_item">
|
||||
<span class="f-fallback">
|
||||
<strong>Username:</strong> {{v.username}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="overflow-x-auto">
|
||||
<table class="attributes" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="attributes_content">
|
||||
<div class="overflow-x-auto">
|
||||
<table width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="attributes_item">
|
||||
<span class="f-fallback">
|
||||
<strong>Email:</strong> {{v.email}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="attributes_item">
|
||||
<span class="f-fallback">
|
||||
<strong>Username:</strong> {{v.username}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Please note that {{SITE_NAME}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
|
|
|
@ -4,33 +4,35 @@
|
|||
<script defer src="{{'js/remove_mod.js' | asset}}"></script>
|
||||
|
||||
<h5 class="mt-2">/h/{{hole}} Mods</h5>
|
||||
<div class="overflow-x-auto mt-1"><table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Mod since</th>
|
||||
<th class="disable-sort-click"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for user, mod in users %}
|
||||
<tr>
|
||||
<td>{{loop.index}}</td>
|
||||
<td>{% include "user_in_table.html" %}</td>
|
||||
<td data-time="{{mod.created_utc}}"></td>
|
||||
<td>
|
||||
{% if v.id == user.id or v.mod_date(hole.name) and v.mod_date(hole.name) < mod.created_utc %}
|
||||
<form action="/h/{{hole}}/remove_mod" method="post" data-nonce="{{g.nonce}}" data-onsubmit="removeMod(this)">
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<input hidden name="uid" value="{{user.id}}">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="{% if v.id == user.id %}Resign{% else %}Remove Mod{% endif %}">
|
||||
</form>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</table>
|
||||
<div class="overflow-x-auto mt-1">
|
||||
<table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Mod since</th>
|
||||
<th class="disable-sort-click"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for user, mod in users %}
|
||||
<tr>
|
||||
<td>{{loop.index}}</td>
|
||||
<td>{% include "user_in_table.html" %}</td>
|
||||
<td data-time="{{mod.created_utc}}"></td>
|
||||
<td>
|
||||
{% if v.id == user.id or v.mod_date(hole.name) and v.mod_date(hole.name) < mod.created_utc %}
|
||||
<form action="/h/{{hole}}/remove_mod" method="post" data-nonce="{{g.nonce}}" data-onsubmit="removeMod(this)">
|
||||
<input hidden name="formkey" value="{{v|formkey}}">
|
||||
<input hidden name="uid" value="{{user.id}}">
|
||||
<input autocomplete="off" class="btn btn-primary ml-auto" type="submit" value="{% if v.id == user.id %}Resign{% else %}Remove Mod{% endif %}">
|
||||
</form>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if v.mods(hole.name) %}
|
||||
<form action="/h/{{hole}}/add_mod" method="post" data-nonce="{{g.nonce}}" data-onsubmit="sendFormXHRReload(this)">
|
||||
|
|
|
@ -45,39 +45,39 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="overflow-x-auto mt-3 mb-5"><table class="table table-striped shop">
|
||||
<thead class="bg-primary text-white">
|
||||
<div class="overflow-x-auto mt-3 mb-5">
|
||||
<table class="table table-striped shop">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th class="disable-sort-click">Icon</th>
|
||||
<th>Title</th>
|
||||
<th>Price</th>
|
||||
<th>Owned</th>
|
||||
<th class="disable-sort-click">Buy</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for a in awards %}
|
||||
{% set kind = a['kind'] %}
|
||||
{% set price = a['price'] %}
|
||||
<tr>
|
||||
<th class="disable-sort-click">Icon</th>
|
||||
<th>Title</th>
|
||||
<th>Price</th>
|
||||
<th>Owned</th>
|
||||
<th class="disable-sort-click">Buy</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for a in awards %}
|
||||
{% set kind = a['kind'] %}
|
||||
{% set price = a['price'] %}
|
||||
<tr>
|
||||
<td class="shop-table-icon"><i class="{{a['icon']}} {{a['color']}}" style="font-size: 30px"></i></td>
|
||||
<td class="shop-table-title">{{a['title']}}</td>
|
||||
{% if a['baseprice'] != price %}
|
||||
<td data-sort-key="{{price}}" class="shop-table-price">
|
||||
<span class="discounted-price">{{a['baseprice']}}</span> <em class="text-success">{{price}}</em>
|
||||
<td class="shop-table-icon"><i class="{{a['icon']}} {{a['color']}}" style="font-size: 30px"></i></td>
|
||||
<td class="shop-table-title">{{a['title']}}</td>
|
||||
{% if a['baseprice'] != price %}
|
||||
<td data-sort-key="{{price}}" class="shop-table-price">
|
||||
<span class="discounted-price">{{a['baseprice']}}</span> <em class="text-success">{{price}}</em>
|
||||
</td>
|
||||
{% else %}
|
||||
<td class="shop-table-price">{{price}}</td>
|
||||
{% endif %}
|
||||
<td class="shop-table-owned">{{a['owned']}}</td>
|
||||
<td class="shop-table-actions">
|
||||
<button type="button" id="buy-{{loop.index}}" class="btn btn-success {% if v.coins+v.marseybux < price or (kind == 'grass' and v.coins < price) or (kind == 'benefactor' and v.marseybux < price) %}disabled{% endif %}" data-areyousure="postToastSwitch(this,'/buy/{{kind}}')" data-nonce="{{g.nonce}}" data-onclick="areyousure(this)">Buy</button>
|
||||
</td>
|
||||
{% else %}
|
||||
<td class="shop-table-price">{{price}}</td>
|
||||
{% endif %}
|
||||
<td class="shop-table-owned">{{a['owned']}}</td>
|
||||
<td class="shop-table-actions">
|
||||
<button type="button" id="buy-{{loop.index}}" class="btn btn-success {% if v.coins+v.marseybux < price or (kind == 'grass' and v.coins < price) or (kind == 'benefactor' and v.marseybux < price) %}disabled{% endif %}" data-areyousure="postToastSwitch(this,'/buy/{{kind}}')" data-nonce="{{g.nonce}}" data-onclick="areyousure(this)">Buy</button>
|
||||
</td>
|
||||
<td class="shop-table-description">{{a['description']}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<td class="shop-table-description">{{a['description']}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,30 +2,33 @@
|
|||
{% block pagetitle %}Users blocked by @{{u.username}}{% endblock %}
|
||||
{% block content %}
|
||||
<h5 class="my-3">Users blocked by @{{u.username}} ({{total}} user{{macros.plural(total)}})</h5>
|
||||
<div class="overflow-x-auto mt-1"><table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th class="disable-sort-click">Blocking since</th>
|
||||
{% if v.id == u.id %}
|
||||
<th class="disable-sort-click"></th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="blockers-table">
|
||||
{% for block, user in users %}
|
||||
<tr>
|
||||
<td>{% include "user_in_table.html" %}</td>
|
||||
<td {% if block.created_utc > 1599343262 %}data-time="{{block.created_utc}}"{% endif %}></td>
|
||||
{% if v.id == u.id %}
|
||||
<td>
|
||||
<button type="button" class="btn btn-primary" data-nonce="{{g.nonce}}" data-onclick="unblock_user(this, '/unblock_user?username={{user.username}}&formkey={{v|formkey}}')">Unblock</button>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="overflow-x-auto mt-1">
|
||||
<table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th class="disable-sort-click">Blocking since</th>
|
||||
{% if v.id == u.id %}
|
||||
<th class="disable-sort-click"></th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="blockers-table">
|
||||
{% for block, user in users %}
|
||||
<tr>
|
||||
<td>{% include "user_in_table.html" %}</td>
|
||||
<td {% if block.created_utc > 1599343262 %}data-time="{{block.created_utc}}"{% endif %}></td>
|
||||
{% if v.id == u.id %}
|
||||
<td>
|
||||
<button type="button" class="btn btn-primary" data-nonce="{{g.nonce}}" data-onclick="unblock_user(this, '/unblock_user?username={{user.username}}&formkey={{v|formkey}}')">Unblock</button>
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if v.id == u.id %}
|
||||
<script defer src="{{'js/userpage_blocking.js' | asset}}"></script>
|
||||
|
|
Loading…
Reference in New Issue