diff --git a/files/static/dist/main.css b/files/static/dist/main.css index 4d4a84785..b4bf4bfc5 100644 --- a/files/static/dist/main.css +++ b/files/static/dist/main.css @@ -968,6 +968,10 @@ video { margin-top: 2rem; margin-bottom: 2rem; } +.-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; +} .mb-5 { margin-bottom: 1.25rem; } @@ -1028,9 +1032,6 @@ video { .mb-4 { margin-bottom: 1rem; } -.mb-6 { - margin-bottom: 1.5rem; -} .mr-0 { margin-right: 0px; } @@ -1040,6 +1041,9 @@ video { .mt-auto { margin-top: auto; } +.mb-6 { + margin-bottom: 1.5rem; +} .mb-auto { margin-bottom: auto; } @@ -1061,6 +1065,9 @@ video { .-mt-1 { margin-top: -0.25rem; } +.mt-6 { + margin-top: 1.5rem; +} .ml-4 { margin-left: 1rem; } @@ -1076,9 +1083,6 @@ video { .mb-1\.5 { margin-bottom: 0.375rem; } -.mt-6 { - margin-top: 1.5rem; -} .mr-5 { margin-right: 1.25rem; } @@ -1133,15 +1137,18 @@ video { .h-6 { height: 1.5rem; } +.h-56 { + height: 14rem; +} +.h-4 { + height: 1rem; +} .h-\[10px\] { height: 10px; } .h-8 { height: 2rem; } -.h-56 { - height: 14rem; -} .h-48 { height: 12rem; } @@ -1160,9 +1167,6 @@ video { .h-3 { height: 0.75rem; } -.h-4 { - height: 1rem; -} .h-2 { height: 0.5rem; } @@ -1214,6 +1218,12 @@ video { .w-32 { width: 8rem; } +.w-4 { + width: 1rem; +} +.w-56 { + width: 14rem; +} .w-48 { width: 12rem; } @@ -1232,9 +1242,6 @@ video { .w-72 { width: 18rem; } -.w-56 { - width: 14rem; -} .w-2\/4 { width: 50%; } @@ -1409,6 +1416,11 @@ video { margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); } +.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.625rem * var(--tw-space-y-reverse)); +} .space-y-6 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); @@ -1429,6 +1441,11 @@ video { margin-right: calc(1.25rem * var(--tw-space-x-reverse)); margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); } +.space-y-8 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(2rem * var(--tw-space-y-reverse)); +} .divide-x > :not([hidden]) ~ :not([hidden]) { --tw-divide-x-reverse: 0; border-right-width: calc(1px * var(--tw-divide-x-reverse)); @@ -1443,14 +1460,14 @@ video { --tw-divide-opacity: 1; border-color: rgba(var(--color-900), var(--tw-divide-opacity)); } -.divide-gray-400 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgba(var(--color-400), var(--tw-divide-opacity)); -} .divide-gray-300 > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgba(var(--color-300), var(--tw-divide-opacity)); } +.divide-gray-400 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgba(var(--color-400), var(--tw-divide-opacity)); +} .divide-red-300 > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgba(252, 165, 165, var(--tw-divide-opacity)); @@ -1692,6 +1709,22 @@ video { --tw-bg-opacity: 1; background-color: rgba(253, 230, 138, var(--tw-bg-opacity)); } +.bg-blue-200 { + --tw-bg-opacity: 1; + background-color: rgba(186, 230, 253, var(--tw-bg-opacity)); +} +.bg-green-200 { + --tw-bg-opacity: 1; + background-color: rgba(187, 247, 208, var(--tw-bg-opacity)); +} +.bg-pink-200 { + --tw-bg-opacity: 1; + background-color: rgba(251, 207, 232, var(--tw-bg-opacity)); +} +.bg-purple-200 { + --tw-bg-opacity: 1; + background-color: rgba(233, 213, 255, var(--tw-bg-opacity)); +} .bg-blue-100 { --tw-bg-opacity: 1; background-color: rgba(224, 242, 254, var(--tw-bg-opacity)); @@ -1977,13 +2010,13 @@ video { --tw-bg-opacity: 1; background-color: rgba(54, 83, 20, var(--tw-bg-opacity)); } +.bg-gray-300\/40 { + background-color: rgba(var(--color-300), 0.4); +} .bg-yellow-100 { --tw-bg-opacity: 1; background-color: rgba(254, 243, 199, var(--tw-bg-opacity)); } -.bg-gray-300\/40 { - background-color: rgba(var(--color-300), 0.4); -} .bg-green-500 { --tw-bg-opacity: 1; background-color: rgba(34, 197, 94, var(--tw-bg-opacity)); @@ -1992,9 +2025,6 @@ video { --tw-bg-opacity: 1; background-color: rgba(239, 68, 68, var(--tw-bg-opacity)); } -.bg-opacity-40 { - --tw-bg-opacity: 0.4; -} .bg-gradient-to-t { background-image: linear-gradient(to top, var(--tw-gradient-stops)); } @@ -2145,14 +2175,14 @@ video { padding-left: 1.25rem; padding-right: 1.25rem; } -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} .py-24 { padding-top: 6rem; padding-bottom: 6rem; } +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} .py-0\.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; @@ -2212,6 +2242,9 @@ video { .pr-7 { padding-right: 1.75rem; } +.pt-2\.5 { + padding-top: 0.625rem; +} .pt-28 { padding-top: 7rem; } @@ -2395,10 +2428,26 @@ video { --tw-text-opacity: 1; color: rgba(186, 230, 253, var(--tw-text-opacity)); } +.text-blue-600 { + --tw-text-opacity: 1; + color: rgba(2, 132, 199, var(--tw-text-opacity)); +} +.text-pink-600 { + --tw-text-opacity: 1; + color: rgba(219, 39, 119, var(--tw-text-opacity)); +} +.text-purple-600 { + --tw-text-opacity: 1; + color: rgba(147, 51, 234, var(--tw-text-opacity)); +} .text-red-200 { --tw-text-opacity: 1; color: rgba(254, 202, 202, var(--tw-text-opacity)); } +.text-green-400 { + --tw-text-opacity: 1; + color: rgba(74, 222, 128, var(--tw-text-opacity)); +} .text-\[\#dc2626\] { --tw-text-opacity: 1; color: rgba(220, 38, 38, var(--tw-text-opacity)); @@ -3010,6 +3059,25 @@ video { .btn-yellow:focus { --tw-text-opacity: 1; color: rgba(var(--color-200), var(--tw-text-opacity)); +} + .btn-purple { + --tw-border-opacity: 1; + border-color: rgba(88, 28, 135, var(--tw-border-opacity)); + background-image: linear-gradient(to top, var(--tw-gradient-stops)); + --tw-gradient-from: #7e22ce; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(126, 34, 206, 0)); + --tw-gradient-to: #9333ea; + --tw-text-opacity: 1; + color: rgba(var(--color-100), var(--tw-text-opacity)); +} + .btn-purple:hover { + --tw-gradient-from: #9333ea; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(147, 51, 234, 0)); + --tw-gradient-to: #7e22ce; +} + .btn-purple:focus { + --tw-text-opacity: 1; + color: rgba(var(--color-200), var(--tw-text-opacity)); } .btn-black { border-color: rgba(0, 0, 0, 0.1); @@ -3210,6 +3278,15 @@ video { text-transform: uppercase !important; } +.first\:pt-0:first-child { + padding-top: 0px; +} + +.odd\:bg-gray-300:nth-child(odd) { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-300), var(--tw-bg-opacity)); +} + .odd\:bg-gray-200:nth-child(odd) { --tw-bg-opacity: 1; background-color: rgba(var(--color-200), var(--tw-bg-opacity)); @@ -3226,6 +3303,10 @@ video { transform: var(--tw-transform); } +.hover\:cursor-pointer:hover { + cursor: pointer; +} + .hover\:border-gray-400:hover { --tw-border-opacity: 1; border-color: rgba(var(--color-400), var(--tw-border-opacity)); @@ -3246,15 +3327,15 @@ video { background-color: rgba(var(--color-700), var(--tw-bg-opacity)); } -.hover\:bg-black\/30:hover { - background-color: rgba(0, 0, 0, 0.3); -} - .hover\:bg-gray-400:hover { --tw-bg-opacity: 1; background-color: rgba(var(--color-400), var(--tw-bg-opacity)); } +.hover\:bg-black\/30:hover { + background-color: rgba(0, 0, 0, 0.3); +} + .hover\:bg-gray-100:hover { --tw-bg-opacity: 1; background-color: rgba(var(--color-100), var(--tw-bg-opacity)); @@ -3354,6 +3435,11 @@ video { color: rgba(255, 255, 255, var(--tw-text-opacity)); } +.hover\:text-yellow-400:hover { + --tw-text-opacity: 1; + color: rgba(251, 191, 36, var(--tw-text-opacity)); +} + .hover\:text-green-700:hover { --tw-text-opacity: 1; color: rgba(21, 128, 61, var(--tw-text-opacity)); @@ -3416,6 +3502,11 @@ video { background-image: linear-gradient(to top, var(--tw-gradient-stops)); } +.focus\:from-gray-100:focus { + --tw-gradient-from: rgb(var(--color-100)); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--color-100), 0)); +} + .focus\:from-red-800:focus { --tw-gradient-from: #991b1b; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(153, 27, 27, 0)); @@ -3426,16 +3517,15 @@ video { --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0)); } -.focus\:from-gray-100:focus { - --tw-gradient-from: rgb(var(--color-100)); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--color-100), 0)); -} - .focus\:from-green-800:focus { --tw-gradient-from: #166534; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22, 101, 52, 0)); } +.focus\:to-gray-200:focus { + --tw-gradient-to: rgb(var(--color-200)); +} + .focus\:to-red-700:focus { --tw-gradient-to: #b91c1c; } @@ -3444,10 +3534,6 @@ video { --tw-gradient-to: #f59e0b; } -.focus\:to-gray-200:focus { - --tw-gradient-to: rgb(var(--color-200)); -} - .focus\:to-green-700:focus { --tw-gradient-to: #15803d; } @@ -3574,6 +3660,11 @@ video { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } +.group:hover .group-hover\:text-primary { + --tw-text-opacity: 1; + color: rgba(var(--color-primary), var(--tw-text-opacity)); +} + .peer:checked ~ .peer-checked\:border-blue-500 { --tw-border-opacity: 1; border-color: rgba(14, 165, 233, var(--tw-border-opacity)); @@ -3593,6 +3684,11 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.dark .dark\:divide-gray-700 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgba(var(--color-700), var(--tw-divide-opacity)); +} + .dark .dark\:border-b { border-bottom-width: 1px; } @@ -3686,11 +3782,29 @@ video { color: rgba(var(--color-300), var(--tw-text-opacity)); } +.dark .dark\:text-gray-700 { + --tw-text-opacity: 1; + color: rgba(var(--color-700), var(--tw-text-opacity)); +} + +.dark .dark\:odd\:bg-white\/\[\.05\]:nth-child(odd) { + background-color: rgba(255, 255, 255, .05); +} + .dark .dark\:visited\:text-gray-400:visited { --tw-text-opacity: 1; color: rgba(var(--color-400), var(--tw-text-opacity)); } +.dark .dark\:hover\:bg-white\/10:hover { + background-color: rgba(255, 255, 255, 0.1); +} + +.dark .dark\:hover\:bg-gray-700:hover { + --tw-bg-opacity: 1; + background-color: rgba(var(--color-700), var(--tw-bg-opacity)); +} + .dark .dark\:hover\:bg-gray-600:hover { --tw-bg-opacity: 1; background-color: rgba(var(--color-600), var(--tw-bg-opacity)); @@ -3706,6 +3820,11 @@ video { color: rgba(var(--color-400), var(--tw-text-opacity)); } +.dark .dark\:hover\:text-primary:hover { + --tw-text-opacity: 1; + color: rgba(var(--color-primary), var(--tw-text-opacity)); +} + .dark .dark\:focus\:bg-transparent:focus { background-color: transparent; } @@ -3788,15 +3907,15 @@ video { padding-right: 0px; } - .sm\:text-lg { - font-size: 1.125rem; - line-height: 1.75rem; - } - .sm\:text-base { font-size: 1rem; line-height: 1.5rem; } + + .sm\:text-lg { + font-size: 1.125rem; + line-height: 1.75rem; + } } @media (min-width: 768px) { @@ -3809,6 +3928,11 @@ video { margin: 0px; } + .md\:my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + } + .md\:mt-6 { margin-top: 1.5rem; } @@ -3869,6 +3993,10 @@ video { height: 5rem; } + .md\:h-12 { + height: 3rem; + } + .md\:w-4 { width: 1rem; } @@ -3893,6 +4021,10 @@ video { width: 50%; } + .md\:w-12 { + width: 3rem; + } + .md\:max-w-xl { max-width: 36rem; } @@ -3913,6 +4045,10 @@ video { justify-content: center; } + .md\:justify-around { + justify-content: space-around; + } + .md\:space-x-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.75rem * var(--tw-space-x-reverse)); @@ -3995,6 +4131,10 @@ video { padding: 0.75rem; } + .md\:p-5 { + padding: 1.25rem; + } + .md\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; @@ -4025,6 +4165,11 @@ video { padding-right: 0.75rem; } + .md\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .md\:pl-3 { padding-left: 0.75rem; } @@ -4049,6 +4194,10 @@ video { padding-top: 0.25rem; } + .md\:pl-4 { + padding-left: 1rem; + } + .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; @@ -4064,6 +4213,16 @@ video { line-height: 2.25rem; } + .md\:text-base { + font-size: 1rem; + line-height: 1.5rem; + } + + .md\:text-lg { + font-size: 1.125rem; + line-height: 1.75rem; + } + .md\:hover\:opacity-100:hover { opacity: 1; } diff --git a/files/static/src/main.css b/files/static/src/main.css index 84951e7dc..13682071e 100644 --- a/files/static/src/main.css +++ b/files/static/src/main.css @@ -407,6 +407,9 @@ .btn-yellow { @apply bg-gradient-to-t from-yellow-700 to-yellow-600 hover:from-yellow-600 hover:to-yellow-700 border-yellow-900 text-gray-100 focus:text-gray-200; } + .btn-purple { + @apply bg-gradient-to-t from-purple-700 to-purple-600 hover:from-purple-600 hover:to-purple-700 border-purple-900 text-gray-100 focus:text-gray-200; + } .btn-black { @apply bg-white bg-gradient-to-t from-black to-black/80 hover:from-black/90 hover:to-black border-black/10 text-gray-100 focus:text-gray-200; } diff --git a/files/templates/CHRISTMAS/admin/admin_home.html b/files/templates/CHRISTMAS/admin/admin_home.html index ffff55435..75b685001 100644 --- a/files/templates/CHRISTMAS/admin/admin_home.html +++ b/files/templates/CHRISTMAS/admin/admin_home.html @@ -1,3 +1,167 @@ +{% + set stats = [ + { + 'stat': 'users', + 'count': '6,506', + 'description': 'up 12% since last month' + }, + { + 'stat': 'posts', + 'count': '60,506', + 'description': 'up 6% since last month' + }, + { + 'stat': 'comments', + 'count': '495,267', + 'description': 'up 2% since last month' + } + ] +%} + + +{% + set sections = [ + { + 'title': 'content', + 'color': 'red', + 'content': [ + { + 'icon': 'fa-pencil', + 'title': 'Reported Posts', + 'description': 'Community-flagged posts', + 'link': '/admin/reported/posts' + }, + { + 'icon': 'fa-comment-alt', + 'title': 'Reported Comments', + 'description': 'Community-flagged comments', + 'link': '/admin/reported/comments' + }, + { + 'icon': 'fa-image', + 'title': 'Image Posts', + 'description': 'User-uploaded media', + 'link': '/admin/image_posts' + }, + { + 'icon': 'fa-align-slash', + 'title': 'Removed Posts', + 'description': 'Posts removed by mods', + 'link': '/admin/removed/posts' + }, + { + 'icon': 'fa-comment-alt-slash', + 'title': 'Removed Comments', + 'description': 'Comments removed by mods', + 'link': '/admin/removed/comments' + } + ] + }, + { + 'title': 'users', + 'color': 'blue', + 'content': [ + { + 'icon': 'fa-ghost', + 'title': 'Shadow Banned', + 'description': 'Users currently shadow banned', + 'link': '/admin/shadowbanned' + }, + { + 'icon': 'fa-republican', + 'title': 'Agenda Posters', + 'description': 'Users with agenda poster mode', + 'link': '/admin/agendaposters' + }, + { + 'icon': 'fa-seedling', + 'title': 'Grass Award', + 'description': 'Users with active grass award', + 'link': '/admin/grassed' + }, + { + 'icon': 'fa-users', + 'title': 'Users Feed', + 'description': 'Updated feed of sign ups', + 'link': '/admin/users' + } + ] + }, + { + 'title': 'grant', + 'color': 'pink', + 'content': [ + { + 'icon': 'fa-trophy', + 'title': 'Give Award', + 'description': 'Give users awards', + 'link': '/admin/awards' + }, + { + 'icon': 'fa-badge', + 'title': 'Grant Badge', + 'description': 'Grant users badges', + 'link': '/admin/badge_grant' + } + ] + }, + { + 'title': 'safety', + 'color': 'green', + 'content': [ + { + 'icon': 'fa-ban', + 'title': 'Banned Domains', + 'description': 'Domains banned site-wide', + 'link': '/admin/banned_domains' + }, + { + 'icon': 'fa-search', + 'title': 'Vote Fraud Analysis', + 'description': 'Check alt-account voting', + 'link': '/admin/alt_votes' + } + ] + }, + { + 'title': 'Metrics', + 'color': 'purple', + 'content': [ + { + 'icon': 'fa-list-ol', + 'title': 'Content stats', + 'description': 'Post, comment, etc. numbers', + 'link': '/stats' + }, + { + 'icon': 'fa-chart-bar', + 'title': 'Content charts', + 'description': 'Visualize site stats', + 'link': '/charts' + } + ] + }, + { + 'title': 'Meta', + 'color': 'gray', + 'content': [ + { + 'icon': 'fa-wrench', + 'title': 'API access', + 'description': 'Approved apps', + 'link': '/admin/apps' + }, + { + 'icon': 'fa-columns', + 'title': 'Sidebar', + 'description': 'Edit the frontpage sidebar', + 'link': '/admin/sidebar' + } + ] + } + ] +%} + {% extends "CHRISTMAS/default.html" %} {% block title %} @@ -5,56 +169,94 @@ {% endblock %} -{% block content %} -
-

Admin Tools

- -

Content

- - -

Users

- - -

Safety

- - -

Grant

- - -

API Access Control

- - -

Statistics

- - -

Configuration

- - -
- - +{% block subHeader %} +
+
+
+
+

+ Admin Dashboard +

+ + Welcome agent, #{{ v.id }}. + +
+
+{% endblock %} + +{% block content %} +
+ + +
+ + {% for section in sections %} +

+ {{ section.title }} +

+
+ {% for item in section.content %} + + {% endfor %} +
+ {% endfor %} +
+ +
+{% endblock %} + +{% block sidebar %} + {% include 'CHRISTMAS/sidebars/AdminSidebar.html' %} {% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/alt_votes.html b/files/templates/CHRISTMAS/admin/alt_votes.html index 3e54a2ff9..68a0ac1b1 100644 --- a/files/templates/CHRISTMAS/admin/alt_votes.html +++ b/files/templates/CHRISTMAS/admin/alt_votes.html @@ -5,85 +5,117 @@ {% endblock %} +{% block subHeader %} +
+
+
+
+

+ Vote Analysis +

+ +
+
+
+{% endblock %} + {% block content %} -
-
+
+
+

+ Vote Info +

+
+ +
+ + + +
+
+
+ {% if u1 and u2 %} +
+

+ Analysis +

+ + + + + + + + + - -
Vote Info
+ + + + + + + + + + + + + + + + + + + + + + + + +
@{{u1.username}} only(% unique)Both@{{u2.username}} only (% unique)
Post Upvotes{{data['u1_only_post_ups']}} ({{data['u1_post_ups_unique']}}%){{data['both_post_ups']}}{{data['u2_only_post_ups']}} ({{data['u2_post_ups_unique']}}%)
Post Downvotes{{data['u1_only_post_downs']}} ({{data['u1_post_downs_unique']}}%){{data['both_post_downs']}}{{data['u2_only_post_downs']}} ({{data['u2_post_downs_unique']}}%)
Comment Upvotes{{data['u1_only_comment_ups']}} ({{data['u1_comment_ups_unique']}}%){{data['both_comment_ups']}}{{data['u2_only_comment_ups']}} ({{data['u2_comment_ups_unique']}}%)
Comment Downvotes{{data['u1_only_comment_downs']}} ({{data['u1_comment_downs_unique']}}%){{data['both_comment_downs']}}{{data['u2_only_comment_downs']}} ({{data['u2_comment_downs_unique']}}%)
+
-
- - - - -
+
+

+ Link Acocunts +

+ {% if u2 in u1.alts %} +

Accounts are known alts of eachother.

+ {% else %} -{% if u1 and u2 %} +

Two accounts controlled by different people should have most uniqueness percentages at or above 70-80%

+

A sockpuppet account will have its uniqueness percentages significantly lower.

+ -

Analysis

+ +
+ {% endif %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@{{u1.username}} only(% unique)Both@{{u2.username}} only (% unique)
Post Upvotes{{data['u1_only_post_ups']}} ({{data['u1_post_ups_unique']}}%){{data['both_post_ups']}}{{data['u2_only_post_ups']}} ({{data['u2_post_ups_unique']}}%)
Post Downvotes{{data['u1_only_post_downs']}} ({{data['u1_post_downs_unique']}}%){{data['both_post_downs']}}{{data['u2_only_post_downs']}} ({{data['u2_post_downs_unique']}}%)
Comment Upvotes{{data['u1_only_comment_ups']}} ({{data['u1_comment_ups_unique']}}%){{data['both_comment_ups']}}{{data['u2_only_comment_ups']}} ({{data['u2_comment_ups_unique']}}%)
Comment Downvotes{{data['u1_only_comment_downs']}} ({{data['u1_comment_downs_unique']}}%){{data['both_comment_downs']}}{{data['u2_only_comment_downs']}} ({{data['u2_comment_downs_unique']}}%)
- -

Link Accounts

- -{% if u2 in u1.alts %} -

Accounts are known alts of eachother.

-{% else %} - -

Two accounts controlled by different people should have most uniqueness percentages at or above 70-80%

-

A sockpuppet account will have its uniqueness percentages significantly lower.

- -Link Accounts -
- - - - -
- -{% endif %} - -{% endif %} + {% endif %}
{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/apps.html b/files/templates/CHRISTMAS/admin/apps.html index c9f963a3d..e5474d1b2 100644 --- a/files/templates/CHRISTMAS/admin/apps.html +++ b/files/templates/CHRISTMAS/admin/apps.html @@ -5,6 +5,36 @@ {% endblock %} +{% block subHeader %} +
+
+
+
+

+ API Access +

+ +
+ +
+
+{% endblock %} + {% block content %}
{% for app in apps %} diff --git a/files/templates/CHRISTMAS/admin/awards.html b/files/templates/CHRISTMAS/admin/awards.html index 847eb6fdb..8cfeba731 100644 --- a/files/templates/CHRISTMAS/admin/awards.html +++ b/files/templates/CHRISTMAS/admin/awards.html @@ -6,8 +6,43 @@ {% block pagetype %}message{% endblock %} -{% block content %} +{% block subHeader %} +
+
+
+
+

+ Awards +

+ +
+
+ + {% if 'rdrama.net' not in request.host or v.admin_level > 2 %} + + {% endif %} +
+
+
+{% endblock %} +{% block content %}
{% if error %} @@ -33,41 +68,45 @@
{% endif %} -

-	

-	
User Award Grant
- -
+ -
- + + - +
- - - + + + + + + + {% for a in awards %} - - - - + + + + + + + + {% endfor %}
IconTitleAmountIconTitleAmount
{{a['title']}}
+
+ +
+
+ {{a['title']}} + + +
- - -
-

-	{% if 'rdrama.net' not in request.host or v.admin_level > 2 %}
-		
-	{% endif %}
-
 
{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/badge_grant.html b/files/templates/CHRISTMAS/admin/badge_grant.html index a282d2230..c79cbe671 100644 --- a/files/templates/CHRISTMAS/admin/badge_grant.html +++ b/files/templates/CHRISTMAS/admin/badge_grant.html @@ -6,76 +6,101 @@ {% block pagetype %}message{% endblock %} +{% block subHeader %} +
+
+
+
+

+ Badge Grant +

+ +
+
+ +
+
+
+{% endblock %} + {% block content %}
- {% if error %} - - {% endif %} - {% if msg %} - - {% endif %} - -

-

-
Badge Grant
- -
- + {% if error %} + + {% endif %} + {% if msg %} + + {% endif %} - - + + - - - - - - - - - - -{% for k, v in badge_types.items() %} - - - - - - -{% endfor %} -
SelectImageNameDefault Description
- - {{v['name']}}{{v['description']}}
+ + - - + + - - + + - + + + + + + + + + + + {% for k, v in badge_types.items() %} + + + + + + + {% endfor %} + +
SelectImageNameDefault Description
+ + + {{v['name']}} badge + {{v['name']}}{{v['description']}}
-
+
@@ -89,3 +114,12 @@ {% endblock %} + +{% block scripts %} + +{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/banned_domains.html b/files/templates/CHRISTMAS/admin/banned_domains.html index f31b4ea0b..178e2b74f 100644 --- a/files/templates/CHRISTMAS/admin/banned_domains.html +++ b/files/templates/CHRISTMAS/admin/banned_domains.html @@ -1,34 +1,78 @@ {% extends "CHRISTMAS/default.html" %} {% block title %} - Banned Domains +Banned Domains +{% endblock %} + +{% block subHeader %} +
+
+
+
+

+ Banned Domains +

+ +
+
+
{% endblock %} {% block content %} -
- - - - - - - +
- {% for domain in banned_domains %} -
- - - - {% endfor %} -
DomainBan reason
{{domain.domain}}{{domain.reason}}
+
+ + +
+ + + +
+
- -
- - - - -
+ {% if banned_domains %} + + + + + + + + + {% for domain in banned_domains %} + + + + + {% endfor %} + +
DomainBan reason
+ {{domain.domain}} + {{domain.reason}}
+ {% else %} +
+ +

No banned domains

+

+ When a domain is banned, it will show up here. +

+ + Go to admin dashboard + +
+ {% endif %}
- {% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/content_stats.html b/files/templates/CHRISTMAS/admin/content_stats.html index 9e7de0208..122c5dfb5 100644 --- a/files/templates/CHRISTMAS/admin/content_stats.html +++ b/files/templates/CHRISTMAS/admin/content_stats.html @@ -5,21 +5,49 @@ {% endblock %} -{% block content %} -

-
-
-	
-		
-		
-	
-
-{% for entry in data %}
-	
-		
-		
-	
-{% endfor %}
-
StatisticValue
{{entry}}{{data[entry]}}
+{% block subHeader %} +
+
+
+
+

+ Content Stats +

+ +
+
+
+{% endblock %} +{% block content %} +
+
+ + + + + + + + + {% for entry in data %} + + + + + {% endfor %} + +
StatisticValue
{{entry}}{{data[entry]}}
+
+
{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/admin/image_posts.html b/files/templates/CHRISTMAS/admin/image_posts.html index a26e5feb9..bf71a6770 100644 --- a/files/templates/CHRISTMAS/admin/image_posts.html +++ b/files/templates/CHRISTMAS/admin/image_posts.html @@ -1,36 +1,41 @@ -{% extends "CHRISTMAS/userpage.html" %} - -{% block adminpanel %}{% endblock %} -{% block pagetype %}userpage{% endblock %} -{% block banner %}{% endblock %} -{% block mobileBanner %}{% endblock %} -{% block desktopBanner %}{% endblock %} -{% block desktopUserBanner %}{% endblock %} -{% block mobileUserBanner %}{% endblock %} - -{% block postNav %}{% endblock %} - -{% block fixedMobileBarJS %} -{% endblock %} +{% extends "CHRISTMAS/default.html" %} {% block title %} Image feed {% endblock %} +{% block subHeader %} +
+
+
+
+

+ Image Posts +

+ +
+
+
+{% endblock %} {% block content %} - -
- -
- +
{% block listing %} -
+
    {% include "CHRISTMAS/submission_listing.html" %} -
+ {% endblock %} -
{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/removed_comments.html b/files/templates/CHRISTMAS/admin/removed_comments.html index 4989b2329..9bf21ee58 100644 --- a/files/templates/CHRISTMAS/admin/removed_comments.html +++ b/files/templates/CHRISTMAS/admin/removed_comments.html @@ -1,73 +1,21 @@ -{% extends "CHRISTMAS/admin/image_posts.html" %} - - -{% block title %} -Removed Content - -{% endblock %} - -{% block content %} - -
-
-
-
-
-

-				
Removed Posts
- -
- -
+{% extends "CHRISTMAS/admin/removed_posts.html" %} +{% block listing %} +
+ {% with comments=listing %} + {% include "CHRISTMAS/comments.html" %} + {% endwith %} + {% if not listing %} +
+ +

No removed comments

+

+ When mods remove a comment, it will show up here. +

+ + Go to admin dashboard +
-
-
- -
- -
- - {% block listing %} - - -
- {% with comments=listing %} - {% include "CHRISTMAS/comments.html" %} - {% endwith %} - {% if not listing %} -
-
-
-
There are no comments here (yet).
-
-
-
- {% endif %} -
- -{% endblock %} -
+ {% endif %}
{% endblock %} - -{% block pagenav %} - -{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/removed_posts.html b/files/templates/CHRISTMAS/admin/removed_posts.html index 2a798edd5..a999c23e7 100644 --- a/files/templates/CHRISTMAS/admin/removed_posts.html +++ b/files/templates/CHRISTMAS/admin/removed_posts.html @@ -1,39 +1,67 @@ -{% extends "CHRISTMAS/admin/image_posts.html" %} +{% extends "CHRISTMAS/default.html" %} +{% block pagetype %}userpage{% endblock %} {% block title %} -Removed Content +Reported Posts {% endblock %} -{% block content %} - -
-
-
-
-
-

-				
Removed Posts
- +{% block subHeader %} +
+
+
+
+

+ Removed Content +

+ +
+
+ -
-
-
- -
- -
+{% endblock %} +{% block content %} +
{% block listing %} -
- {% include "CHRISTMAS/submission_listing.html" %} -
+
    + {% include "CHRISTMAS/submission_listing.html" %} +
{% endblock %} -
{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/reported_comments.html b/files/templates/CHRISTMAS/admin/reported_comments.html index a88b9333a..b19b267a4 100644 --- a/files/templates/CHRISTMAS/admin/reported_comments.html +++ b/files/templates/CHRISTMAS/admin/reported_comments.html @@ -1,24 +1,22 @@ {% extends "CHRISTMAS/admin/reported_posts.html" %} - - {% block listing %} - - -
- {% with comments=listing %} - {% include "CHRISTMAS/comments.html" %} - {% endwith %} - {% if not listing %} -
-
-
-
There are no comments here (yet).
-
-
-
- {% endif %} -
- +
+ {% with comments=listing %} + {% include "CHRISTMAS/comments.html" %} + {% endwith %} + {% if not listing %} +
+ +

No reported comments

+

+ When someone reports a comment, it will show up here. +

+ + Go to admin dashboard + +
+ {% endif %} +
{% endblock %} diff --git a/files/templates/CHRISTMAS/admin/reported_posts.html b/files/templates/CHRISTMAS/admin/reported_posts.html index 7533f6b8f..5a8a6318f 100644 --- a/files/templates/CHRISTMAS/admin/reported_posts.html +++ b/files/templates/CHRISTMAS/admin/reported_posts.html @@ -1,66 +1,70 @@ -{% extends "CHRISTMAS/settings2.html" %} +{% extends "CHRISTMAS/default.html" %} -{% block adminpanel %}{% endblock %} {% block pagetype %}userpage{% endblock %} -{% block banner %}{% endblock %} -{% block mobileBanner %}{% endblock %} -{% block desktopBanner %}{% endblock %} -{% block desktopUserBanner %}{% endblock %} -{% block mobileUserBanner %}{% endblock %} - - {% block postNav %} -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- {% endblock %} - - -{% block fixedMobileBarJS %} -{% endblock %} {% block title %} Reported Posts {% endblock %} -{% block content %} - -
- -
- - {% block listing %} -
- {% include "CHRISTMAS/submission_listing.html" %} +{% block subHeader %} +
+
+
+
+

+ Reports +

+ +
+
+
- {% endblock %}
{% endblock %} +{% block content %} +
+ {% block listing %} +
    + {% include "CHRISTMAS/submission_listing.html" %} +
+ {% endblock %} +
+{% endblock %} + {% block pagenav %}
diff --git a/files/templates/CHRISTMAS/home.html b/files/templates/CHRISTMAS/home.html index 04d3e40e1..c5948cd58 100644 --- a/files/templates/CHRISTMAS/home.html +++ b/files/templates/CHRISTMAS/home.html @@ -2,7 +2,7 @@ {% block subHeader %}
-
+

diff --git a/files/templates/CHRISTMAS/log.html b/files/templates/CHRISTMAS/log.html index e22bbe512..cfe69f16d 100644 --- a/files/templates/CHRISTMAS/log.html +++ b/files/templates/CHRISTMAS/log.html @@ -1,127 +1,154 @@ -{% extends "CHRISTMAS/settings2.html" %} +{% + set colors = { + 'fa-user-slash': 'text-red-600', + 'fa-feather-alt': 'text-gray-500', + 'fa-eye-evil': 'text-red-600' +} +%} + +{% extends "CHRISTMAS/default.html" %} {% block pagetitle %}Moderation Log{% endblock %} - -{% block content %} -{% if v %} - - - {% if v.agendaposter %}{% elif v.css %}{% endif %} -{% else %} - - -{% endif %} - -
- -
- -
-
-
Moderation Log
-
- -
- -
-
-
- - {% block navbar %} -
‎
- -
-
‎
- - -
‎
- -
- {% endblock %} -
-
-
- - -
- {% for ma in actions %} - -
- -
-
-
- - avatar - -
-
- @{{ma.user.username}} - - {{ma.string | safe}} -
- -
{{ma.age_string}} - -
- -
-
-
-
- - - {% else %} -
There's nothing here right now.
- {% endfor %} -
- - - - +
+
+ + + + +

+{% endblock %} - + +{% block content %} + +
+ + {% if actions %} +
    + {% for ma in actions %} +
  • +
    + +
    +
    +
    + @{{ma.user.username}} + + {{ma.string | safe}} +
    +
    + {{ma.age_string}} +
    +
    +
  • + {% endfor %} +
+ {% else %} +
+ +

No logs

+

+ When mods perform actions, it will show up here. +

+ {% if v and v.admin_level > 2 %} + + Go to admin dashboard + + {% else %} + + Go to homepage + + {% endif %} +
+ {% endif %} + + + +
{% endblock %} \ No newline at end of file diff --git a/files/templates/CHRISTMAS/modals/ModalCommentActions.html b/files/templates/CHRISTMAS/modals/ModalCommentActions.html index c1a0c17ec..54a2422fc 100644 --- a/files/templates/CHRISTMAS/modals/ModalCommentActions.html +++ b/files/templates/CHRISTMAS/modals/ModalCommentActions.html @@ -68,17 +68,30 @@ {% endif %} {% endif %} - {% if v and c.post and (v.admin_level > 1 or v.id == c.post.author_id) %} -
  • - -
  • -
  • - -
  • + {% if v and c.post %} + {% if v.admin_level > 1 %} +
  • + +
  • +
  • + +
  • + {% elif v.id == c.post.author_id %} +
  • + +
  • +
  • + +
  • + {% endif %} {% endif %} {% if v %} {% if v.admin_level > 0 and v.id==c.author_id %} diff --git a/files/templates/CHRISTMAS/modals/ModalThemePicker.html b/files/templates/CHRISTMAS/modals/ModalThemePicker.html index 464024ae3..7c0af5c6e 100644 --- a/files/templates/CHRISTMAS/modals/ModalThemePicker.html +++ b/files/templates/CHRISTMAS/modals/ModalThemePicker.html @@ -1,3 +1,9 @@ + {% if v and v.theme2 %} + {% set theme = v.theme2 %} + {% else %} + {% set theme = 'theme-iron dark' %} + {% endif %} +