forked from rDrama/rDrama
1
0
Fork 0

Merge branch 'frost' of https://github.com/Aevann1/Drama into frost

master
Aevann1 2021-12-28 08:28:22 +02:00
commit c3f65b0fe9
11 changed files with 471 additions and 189 deletions

View File

@ -1247,12 +1247,12 @@ video {
.w-5 {
width: 1.25rem;
}
.w-44 {
width: 11rem;
}
.w-7 {
width: 1.75rem;
}
.w-44 {
width: 11rem;
}
.min-w-full {
min-width: 100%;
}
@ -1608,6 +1608,14 @@ video {
--tw-border-opacity: 1;
border-color: rgba(var(--color-200), var(--tw-border-opacity));
}
.border-yellow-400 {
--tw-border-opacity: 1;
border-color: rgba(251, 191, 36, var(--tw-border-opacity));
}
.border-red-300 {
--tw-border-opacity: 1;
border-color: rgba(252, 165, 165, var(--tw-border-opacity));
}
.border-opacity-10 {
--tw-border-opacity: 0.1;
}
@ -1972,6 +1980,10 @@ video {
--tw-bg-opacity: 1;
background-color: rgba(54, 83, 20, var(--tw-bg-opacity));
}
.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);
}
@ -2464,6 +2476,10 @@ video {
--tw-text-opacity: 1;
color: rgba(54, 83, 20, var(--tw-text-opacity));
}
.text-yellow-400 {
--tw-text-opacity: 1;
color: rgba(251, 191, 36, var(--tw-text-opacity));
}
.antialiased {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@ -2978,6 +2994,45 @@ video {
.btn-blue:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.btn-yellow {
--tw-border-opacity: 1;
border-color: rgba(120, 53, 15, var(--tw-border-opacity));
background-image: linear-gradient(to top, var(--tw-gradient-stops));
--tw-gradient-from: #b45309;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(180, 83, 9, 0));
--tw-gradient-to: #d97706;
--tw-text-opacity: 1;
color: rgba(var(--color-100), var(--tw-text-opacity));
}
.btn-yellow:hover {
--tw-gradient-from: #d97706;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0));
--tw-gradient-to: #b45309;
}
.btn-yellow:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.btn-black {
border-color: rgba(0, 0, 0, 0.1);
--tw-bg-opacity: 1;
background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
background-image: linear-gradient(to top, var(--tw-gradient-stops));
--tw-gradient-from: #000;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
--tw-gradient-to: rgba(0, 0, 0, 0.8);
--tw-text-opacity: 1;
color: rgba(var(--color-100), var(--tw-text-opacity));
}
.btn-black:hover {
--tw-gradient-from: rgba(0, 0, 0, 0.9);
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
--tw-gradient-to: #000;
}
.btn-black:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.btn-gray {
--tw-border-opacity: 1;
@ -3154,500 +3209,516 @@ video {
-o-object-fit: contain;
object-fit: contain}
.odd\:bg-gray-200:nth-child(odd) {
.agendaposter {
text-transform: uppercase !important;
}
.odd\:bg-gray-200:nth-child(odd) {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-200), var(--tw-bg-opacity));
}
.visited\:text-gray-700:visited {
.visited\:text-gray-700:visited {
--tw-text-opacity: 1;
color: rgba(var(--color-700), var(--tw-text-opacity));
}
.hover\:scale-\[1\.15\]:hover {
.hover\:scale-\[1\.15\]:hover {
--tw-scale-x: 1.15;
--tw-scale-y: 1.15;
transform: var(--tw-transform);
}
.hover\:border-gray-400:hover {
.hover\:border-gray-400:hover {
--tw-border-opacity: 1;
border-color: rgba(var(--color-400), var(--tw-border-opacity));
}
.hover\:border-gray-500:hover {
.hover\:border-gray-500:hover {
--tw-border-opacity: 1;
border-color: rgba(var(--color-500), var(--tw-border-opacity));
}
.hover\:bg-gray-300:hover {
.hover\:bg-gray-300:hover {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-300), var(--tw-bg-opacity));
}
.hover\:bg-gray-700:hover {
.hover\:bg-gray-700:hover {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-700), var(--tw-bg-opacity));
}
.hover\:bg-black\/30:hover {
.hover\:bg-black\/30:hover {
background-color: rgba(0, 0, 0, 0.3);
}
.hover\:bg-gray-400:hover {
.hover\:bg-gray-400:hover {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-400), var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover {
.hover\:bg-gray-100:hover {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-100), var(--tw-bg-opacity));
}
.hover\:bg-gradient-to-t:hover {
.hover\:bg-gradient-to-t:hover {
background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.hover\:from-gray-100:hover {
.hover\:from-gray-100:hover {
--tw-gradient-from: rgb(var(--color-100));
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--color-100), 0));
}
.hover\:from-green-600:hover {
.hover\:from-green-600:hover {
--tw-gradient-from: #16a34a;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22, 163, 74, 0));
}
.hover\:from-yellow-500:hover {
.hover\:from-yellow-500:hover {
--tw-gradient-from: #f59e0b;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(245, 158, 11, 0));
}
.hover\:from-red-800:hover {
.hover\:from-red-800:hover {
--tw-gradient-from: #991b1b;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(153, 27, 27, 0));
}
.hover\:from-yellow-600:hover {
.hover\:from-yellow-600:hover {
--tw-gradient-from: #d97706;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0));
}
.hover\:from-red-600:hover {
.hover\:from-red-600:hover {
--tw-gradient-from: #dc2626;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(220, 38, 38, 0));
}
.hover\:from-green-800:hover {
.hover\:from-green-800:hover {
--tw-gradient-from: #166534;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(22, 101, 52, 0));
}
.hover\:to-gray-200:hover {
.hover\:to-gray-200:hover {
--tw-gradient-to: rgb(var(--color-200));
}
.hover\:to-green-700:hover {
.hover\:to-green-700:hover {
--tw-gradient-to: #15803d;
}
.hover\:to-yellow-600:hover {
.hover\:to-yellow-600:hover {
--tw-gradient-to: #d97706;
}
.hover\:to-red-700:hover {
.hover\:to-red-700:hover {
--tw-gradient-to: #b91c1c;
}
.hover\:to-yellow-500:hover {
.hover\:to-yellow-500:hover {
--tw-gradient-to: #f59e0b;
}
.hover\:text-primary:hover {
.hover\:text-primary:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-primary), var(--tw-text-opacity));
}
.hover\:text-gray-900:hover {
.hover\:text-gray-900:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-900), var(--tw-text-opacity));
}
.hover\:text-gray-700:hover {
.hover\:text-gray-700:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-700), var(--tw-text-opacity));
}
.hover\:text-gray-400:hover {
.hover\:text-gray-400:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
.hover\:text-gray-300:hover {
.hover\:text-gray-300:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-300), var(--tw-text-opacity));
}
.hover\:text-gray-200:hover {
.hover\:text-gray-200:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.hover\:text-white:hover {
.hover\:text-white:hover {
--tw-text-opacity: 1;
color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.hover\:text-green-700:hover {
.hover\:text-green-700:hover {
--tw-text-opacity: 1;
color: rgba(21, 128, 61, var(--tw-text-opacity));
}
.hover\:text-gray-500:hover {
.hover\:text-gray-500:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-500), var(--tw-text-opacity));
}
.hover\:text-gray-600:hover {
.hover\:text-gray-600:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-600), var(--tw-text-opacity));
}
.hover\:text-blue-600:hover {
.hover\:text-blue-600:hover {
--tw-text-opacity: 1;
color: rgba(2, 132, 199, var(--tw-text-opacity));
}
.hover\:text-red-700:hover {
.hover\:text-red-700:hover {
--tw-text-opacity: 1;
color: rgba(185, 28, 28, var(--tw-text-opacity));
}
.hover\:text-yellow-900:hover {
.hover\:text-yellow-900:hover {
--tw-text-opacity: 1;
color: rgba(120, 53, 15, var(--tw-text-opacity));
}
.hover\:text-gray-800:hover {
.hover\:text-gray-800:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-800), var(--tw-text-opacity));
}
.hover\:underline:hover {
.hover\:underline:hover {
text-decoration: underline;
}
.hover\:opacity-100:hover {
.hover\:opacity-100:hover {
opacity: 1;
}
.hover\:shadow-inner:hover {
.hover\:shadow-inner:hover {
--tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-blue-300:focus {
.focus\:border-blue-300:focus {
--tw-border-opacity: 1;
border-color: rgba(125, 211, 252, var(--tw-border-opacity));
}
.focus\:bg-white:focus {
.focus\:bg-white:focus {
--tw-bg-opacity: 1;
background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}
.focus\:bg-gradient-to-t:focus {
.focus\:bg-gradient-to-t:focus {
background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.focus\:from-red-800:focus {
.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));
}
.focus\:from-yellow-600:focus {
.focus\:from-yellow-600:focus {
--tw-gradient-from: #d97706;
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(217, 119, 6, 0));
}
.focus\:from-gray-100:focus {
.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 {
.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-red-700:focus {
.focus\:to-red-700:focus {
--tw-gradient-to: #b91c1c;
}
.focus\:to-yellow-500:focus {
.focus\:to-yellow-500:focus {
--tw-gradient-to: #f59e0b;
}
.focus\:to-gray-200:focus {
.focus\:to-gray-200:focus {
--tw-gradient-to: rgb(var(--color-200));
}
.focus\:to-green-700:focus {
.focus\:to-green-700:focus {
--tw-gradient-to: #15803d;
}
.focus\:font-bold:focus {
.focus\:font-bold:focus {
font-weight: 700;
}
.focus\:text-black:focus {
.focus\:text-black:focus {
--tw-text-opacity: 1;
color: rgba(0, 0, 0, var(--tw-text-opacity));
}
.focus\:text-gray-900:focus {
.focus\:text-gray-900:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-900), var(--tw-text-opacity));
}
.focus\:text-gray-500:focus {
.focus\:text-gray-500:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-500), var(--tw-text-opacity));
}
.focus\:text-yellow-500:focus {
.focus\:text-yellow-500:focus {
--tw-text-opacity: 1;
color: rgba(245, 158, 11, var(--tw-text-opacity));
}
.focus\:text-gray-300:focus {
.focus\:text-gray-300:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-300), var(--tw-text-opacity));
}
.focus\:text-gray-200:focus {
.focus\:text-gray-200:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.focus\:text-gray-400:focus {
.focus\:text-gray-400:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
.focus\:shadow-inner:focus {
.focus\:shadow-inner:focus {
--tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus {
.focus\:outline-none:focus {
outline: 2px solid transparent;
outline-offset: 2px;
}
.focus\:ring-2:focus {
.focus\:ring-2:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring:focus {
.focus\:ring:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-inset:focus {
.focus\:ring-inset:focus {
--tw-ring-inset: inset;
}
.focus\:ring-white:focus {
.focus\:ring-white:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}
.focus\:ring-blue-200:focus {
.focus\:ring-blue-200:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgba(186, 230, 253, var(--tw-ring-opacity));
}
.focus\:ring-opacity-50:focus {
.focus\:ring-opacity-50:focus {
--tw-ring-opacity: 0.5;
}
.focus\:ring-offset-2:focus {
.focus\:ring-offset-2:focus {
--tw-ring-offset-width: 2px;
}
.focus\:ring-offset-gray-800:focus {
.focus\:ring-offset-gray-800:focus {
--tw-ring-offset-color: rgb(var(--color-800));
}
.focus\:text-shadow:focus {
.focus\:text-shadow:focus {
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12)
}
.active\:text-gray-800:active {
.active\:text-gray-800:active {
--tw-text-opacity: 1;
color: rgba(var(--color-800), var(--tw-text-opacity));
}
.active\:shadow-inner:active {
.active\:shadow-inner:active {
--tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.active\:outline-none:active {
.active\:outline-none:active {
outline: 2px solid transparent;
outline-offset: 2px;
}
.group:hover .group-hover\:block {
.group:hover .group-hover\:block {
display: block;
}
.peer:checked ~ .peer-checked\:border-blue-500 {
@keyframes pulse {
50% {
opacity: .5;
}
}
.group:hover .group-hover\:animate-pulse {
-webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.peer:checked ~ .peer-checked\:border-blue-500 {
--tw-border-opacity: 1;
border-color: rgba(14, 165, 233, var(--tw-border-opacity));
}
.peer:checked ~ .peer-checked\:bg-gray-400 {
.peer:checked ~ .peer-checked\:bg-gray-400 {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-400), var(--tw-bg-opacity));
}
.peer:checked ~ .peer-checked\:bg-blue-600\/10 {
.peer:checked ~ .peer-checked\:bg-blue-600\/10 {
background-color: rgba(2, 132, 199, 0.1);
}
.peer:checked ~ .peer-checked\:shadow-inner {
.peer:checked ~ .peer-checked\:shadow-inner {
--tw-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.dark .dark\:border-b {
.dark .dark\:border-b {
border-bottom-width: 1px;
}
.dark .dark\:border-gray-900 {
.dark .dark\:border-gray-900 {
--tw-border-opacity: 1;
border-color: rgba(var(--color-900), var(--tw-border-opacity));
}
.dark .dark\:border-gray-700 {
.dark .dark\:border-gray-700 {
--tw-border-opacity: 1;
border-color: rgba(var(--color-700), var(--tw-border-opacity));
}
.dark .dark\:border-gray-600 {
.dark .dark\:border-gray-600 {
--tw-border-opacity: 1;
border-color: rgba(var(--color-600), var(--tw-border-opacity));
}
.dark .dark\:border-gray-800 {
.dark .dark\:border-gray-800 {
--tw-border-opacity: 1;
border-color: rgba(var(--color-800), var(--tw-border-opacity));
}
.dark .dark\:border-transparent {
.dark .dark\:border-transparent {
border-color: transparent;
}
.dark .dark\:border-white\/\[\.05\] {
.dark .dark\:border-white\/\[\.05\] {
border-color: rgba(255, 255, 255, .05);
}
.dark .dark\:bg-gray-700 {
.dark .dark\:bg-gray-700 {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-700), var(--tw-bg-opacity));
}
.dark .dark\:bg-gray-900 {
.dark .dark\:bg-gray-900 {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-900), var(--tw-bg-opacity));
}
.dark .dark\:bg-white\/\[\.05\] {
.dark .dark\:bg-white\/\[\.05\] {
background-color: rgba(255, 255, 255, .05);
}
.dark .dark\:bg-gray-800 {
.dark .dark\:bg-gray-800 {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-800), var(--tw-bg-opacity));
}
.dark .dark\:bg-white\/10 {
.dark .dark\:bg-white\/10 {
background-color: rgba(255, 255, 255, 0.1);
}
.dark .dark\:bg-gray-700\/40 {
.dark .dark\:bg-gray-700\/40 {
background-color: rgba(var(--color-700), 0.4);
}
.dark .dark\:bg-none {
.dark .dark\:bg-none {
background-image: none;
}
.dark .dark\:text-gray-100 {
.dark .dark\:text-gray-100 {
--tw-text-opacity: 1;
color: rgba(var(--color-100), var(--tw-text-opacity));
}
.dark .dark\:text-gray-400 {
.dark .dark\:text-gray-400 {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
.dark .dark\:text-green-400 {
.dark .dark\:text-green-400 {
--tw-text-opacity: 1;
color: rgba(74, 222, 128, var(--tw-text-opacity));
}
.dark .dark\:text-gray-200 {
.dark .dark\:text-gray-200 {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.dark .dark\:text-gray-500 {
.dark .dark\:text-gray-500 {
--tw-text-opacity: 1;
color: rgba(var(--color-500), var(--tw-text-opacity));
}
.dark .dark\:text-gray-300 {
.dark .dark\:text-gray-300 {
--tw-text-opacity: 1;
color: rgba(var(--color-300), var(--tw-text-opacity));
}
.dark .dark\:visited\:text-gray-400:visited {
.dark .dark\:visited\:text-gray-400:visited {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
.dark .dark\:hover\:bg-gray-600:hover {
.dark .dark\:hover\:bg-gray-600:hover {
--tw-bg-opacity: 1;
background-color: rgba(var(--color-600), var(--tw-bg-opacity));
}
.dark .dark\:hover\:text-gray-200:hover {
.dark .dark\:hover\:text-gray-200:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-200), var(--tw-text-opacity));
}
.dark .dark\:hover\:text-gray-400:hover {
.dark .dark\:hover\:text-gray-400:hover {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
.dark .dark\:focus\:bg-transparent:focus {
.dark .dark\:focus\:bg-transparent:focus {
background-color: transparent;
}
.dark .dark\:focus\:text-gray-400:focus {
.dark .dark\:focus\:text-gray-400:focus {
--tw-text-opacity: 1;
color: rgba(var(--color-400), var(--tw-text-opacity));
}
@media (min-width: 640px) {
@media (min-width: 640px) {
.sm\:static {
position: static;
@ -3722,7 +3793,7 @@ video {
}
}
@media (min-width: 768px) {
@media (min-width: 768px) {
.md\:col-span-1 {
grid-column: span 1 / span 1;
@ -4006,7 +4077,7 @@ video {
}
}
@media (min-width: 1024px) {
@media (min-width: 1024px) {
.lg\:block {
display: block;
@ -4046,7 +4117,7 @@ video {
}
}
@media (min-width: 1280px) {
@media (min-width: 1280px) {
.xl\:col-span-9 {
grid-column: span 9 / span 9;
@ -4075,7 +4146,4 @@ video {
.xl\:w-1\/5 {
width: 20%;
}
}
.agendaposter {
text-transform: uppercase !important;
}

View File

@ -404,6 +404,12 @@
.btn-blue {
@apply bg-gradient-to-t from-blue-700 to-blue-600 hover:from-blue-600 hover:to-blue-700 border-blue-900 text-gray-100 focus:text-gray-200;
}
.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-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;
}
.btn-gray {
@apply bg-gradient-to-t from-gray-200 to-gray-100 hover:from-gray-100 hover:to-gray-200 border-gray-300 text-gray-700 focus:text-gray-900;
}

View File

@ -118,7 +118,7 @@
{% endif %}
{% endif %}
{% if v and v.admin_level==6 and v.id==c.author_id %}
{% if v and v.admin_level > 0 and v.id==c.author_id %}
<li id="undistinguish-{{c.id}}" class="hidden {% if c.distinguish_level %}md:block{% endif %}">
<button class="dropdown-item dropdown-item-primary" onclick="post_toast3('/distinguish_comment/{{c.id}}','distinguish-{{c.id}}','undistinguish-{{c.id}}','no')">
<i class="fas fa-id-badge text-info fa-sm fa-fw mr-4"></i>Undistinguish

View File

@ -360,7 +360,7 @@
}
</script>
{% endif %}
<script src="/assets/CHRISTMAS/js/default.js?a=1"></script>
<script src="/assets/CHRISTMAS/js/default.js?a=2"></script>
</body>
</html>

View File

@ -63,14 +63,8 @@
<li>
<hr class="mt-2 mb-1.5 border-t border-black h-1 shadow-inset-t-white-05"/>
</li>
<li id="admin2" class="{% if u.admin_level > 1 %}hidden{% endif %}">
<button class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" onclick="post_toast2('/@{{u.username}}/make_admin','admin2','unadmin2')">
<i class="fas fa-user-shield fa-sm fa-fw mr-4"></i>
Make admin
</button>
</li>
<li id="unadmin2" class="{% if u.admin_level < 2 %}hidden{% endif %}">
<button class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" onclick="post_toast2('/@{{u.username}}/remove_admin','admin2','unadmin2')">
<button class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" onclick="postToast('/@{{u.username}}/remove_admin')">
<i class="fas fa-user-minus fa-sm fa-fw mr-4"></i>
Remove admin
</button>

View File

@ -40,7 +40,7 @@
</div>
<div class="px-3">
<input class="form-input" type="text" id="emoji_search" placeholder="Search emoji..">
<input class="form-input" type="text" id="emoji_search" autocomplete="false" placeholder="Search emoji..">
</div>
<div style="overflow-y: scroll;">

View File

@ -81,7 +81,7 @@
</li>
{% endif %}
{% if v %}
{% if v.admin_level>=1 and v.id==c.author_id %}
{% if v.admin_level > 0 and v.id==c.author_id %}
<li id="distinguish2-{{c.id}}" class="{% if c.distinguish_level %}hidden{% endif %}">
<button class="btn btn-gray w-full text-left" onclick="post_toast2('/distinguish_comment/{{c.id}}','distinguish2-{{c.id}}','undistinguish2-{{c.id}}')">
<i class="fas fa-id-badge fa-fw mr-4"></i>Distinguish

View File

@ -220,9 +220,9 @@
<script src="/assets/CHRISTMAS/js/mobile_navigation_bar.js?a=1"></script>
{% if v %}
<script>function formkey() {return '{{v.formkey}}';}</script>
<script>
function formkey() {return '{{v.formkey}}';}
var previousTheme = '{{ v.theme2 }}'.split(' ');
function changeTheme(theme) {
const root = document.documentElement
@ -235,9 +235,12 @@
// Set global previous selection to current selection
previousTheme = theme;
}
const twoStepModal = new bootstrap.Modal(document.getElementById('2faModal'));
</script>
{% endif %}
<script src="/assets/CHRISTMAS/js/default.js?a=1"></script>
<script src="/assets/CHRISTMAS/js/default.js?a=2"></script>
</body>
</html>

View File

@ -267,6 +267,5 @@
document.getElementById("emailpasswordRequired").classList.remove("hidden");
});
});
const twoStepModal = new bootstrap.Modal(document.getElementById('2faModal'))
</script>
{% endblock %}

View File

@ -1,70 +1,278 @@
<div class="hidden xl:block xl:col-start-10 xl:col-end-13 flex-shrink-0 my-4 px-4 py-3 rounded-md bg-gray-300/40 dark:bg-gray-700/40 shadow-inner">
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">About</h2>
<div class="flex flex-col space-y-4">
{% if u.bio_html %}
<div class="text-break">{{u.bio_html | safe}}</div>
{% else %}
<p class="italic text-gray-500 text-sm">No bio...</p>
{% endif %}
{% if u.friends_html %}
<p class="text-muted font-weight-bold">Friends:</p>
{{u.friends_html | safe}}
{% endif %}
{% if u.enemies_html %}
<p class="text-muted font-weight-bold">Enemies:</p>
{{u.enemies_html | safe}}
{% endif %}
</div>
</div>
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Badges</h2>
<ul class="flex flex-row flex-wrap gap-2 mb-0">
{% if u.badges %}
{% for b in u.badges %}
<div class="hidden xl:block xl:col-start-10 xl:col-end-13 flex-shrink-0">
{% if v and v.admin_level > 1 and v.id != u.id %}
<div class="relative my-4 px-4 py-3 rounded-md border border-yellow-400 dark:border-gray-700 bg-yellow-100 dark:bg-gray-700/40">
<span class="absolute top-2 right-3 text-base">
<i class="fas fa-crown fa-sm text-yellow-400 dark:text-gray-300" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Visible only to moderators"></i>
</span>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">
Manage User
</h2>
<ul class="flex flex-col mt-3 mb-0 space-y-6">
<li>
{% if b.url %}
<a rel="nofollow noopener noreferrer" href="{{b.url}}">
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}"/>
</a>
<div class="label text-black dark:text-gray-200">Attributes</div>
<ul class="flex flex-col mb-0 space-y-3">
<li class="flex space-x-2">
<input type="checkbox" value="verify" class="w-5 h-5" onchange="verifyBadge(this,'{{u.id}}')" {% if u.verified %}checked{% endif %}>
<div>
<label class="label mb-0" for="verify">Verify</label>
<small class="block text-gray-600 dark:text-gray-400">
Gives <i class="fas fa-badge-check fa-sm fa-fw"></i> {{ u.username }} a badge
</small>
</div>
</li>
<li class="flex space-x-2">
<input type="checkbox" value="club" class="w-5 h-5" onchange="clubAccess(this,'{{u.username}}')" {% if u.paid_dues %}checked{% endif %}>
<div>
<label class="label mb-0" for="club">Country Club Access</label>
<small class="block text-gray-600 dark:text-gray-400">
Grant @{{ u.username }} access to the Country Club
</small>
</div>
</li>
</ul>
</li>
<li>
<div class="label text-black dark:text-gray-200">Custom flair</div>
<form id="sidebar-flair-change" action="/admin/title_change/{{u.id}}" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<div class="flex items-center space-x-2 mb-2">
<input id="sidebar-custom-flair" type="text" name="title" class="form-input" placeholder='Enter a flair...' value="{% if u.customtitle %}{{u.customtitle}}{% endif %}">
<button type="button" class="btn btn-gray">
<i class="fas fa-smile-beam fa-fw" onclick="loadEmojis('sidebar-custom-flair')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Add Emoji"></i>
</button>
</div>
<div class="flex space-x-2 mb-3">
<input type="checkbox" id="sidebar-locked" class="w-5 h-5" name="locked" {% if u.flairchanged %}checked{% endif %}>
<div>
<label class="label mb-0" for="sidebar-locked">Locked</label>
<small class="block text-gray-600 dark:text-gray-400">
Restrict @{{ u.username }} from updating their flair
</small>
</div>
</div>
<button form="sidebar-flair-change" type="submit" class="btn btn-yellow w-full">
<i class="fas fa-pen fa-sm fa-fw mr-2"></i>
Change flair
</button>
</form>
</li>
</ul>
</div>
<div class="relative my-4 px-4 py-3 rounded-md border border-red-300 dark:border-gray-700 bg-red-100 dark:bg-gray-700/40 group">
<span class="absolute top-2 right-3 text-base">
<i class="fas fa-exclamation-triangle fa-sm text-red-400 dark:text-gray-300 group-hover:animate-pulse" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Visible only to moderators. Recommend internal mod discussion before making changes here."></i>
</span>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">
Danger Zone
</h2>
<ul class="flex flex-col mt-3 mb-0 space-y-6">
{% if v.admin_level > 2 %}
<li>
<div class="label text-black dark:text-gray-200">Meme Moderator Status</div>
<div id="sidebar-memeadmin" class="{% if u.admin_level == 1%}hidden{% endif %}">
<button class="btn btn-yellow w-full" onclick="post_toast2('/@{{u.username}}/make_meme_admin','sidebar-memeadmin','sidebar-unmemeadmin')">
<i class="fas fa-grin-squint-tears fa-sm fa-fw mr-2"></i>
Make meme admin
</button>
</div>
<div id="sidebar-unmemeadmin" class="{% if u.admin_level != 1 %}hidden{% endif %}">
<button class="btn btn-gray w-full" onclick="post_toast2('/@{{u.username}}/remove_meme_admin','sidebar-memeadmin','sidebar-unmemeadmin')">
<i class="fas fa-sad-cry fa-sm fa-fw mr-2"></i>
Remove meme admin
</button>
</div>
</li>
{% endif %}
<li>
<div class="label text-black dark:text-gray-200">Agendaposter Mode</div>
<form id="sidebar-agendaposter" class="{% if u.agendaposter %}hidden{% endif %}" action="/agendaposter/{{u.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="number" step="any" name="days" class="form-input mb-3" placeholder="Days (0 or blank = permanent)" >
<button class="btn btn-red w-full">
<i class="fas fa-paint-brush fa-sm fa-fw mr-2"></i>
Lock agendaposter theme
</button>
</form>
<div id="sidebar-unagendaposter" class="{% if not u.agendaposter %}hidden{% endif %}">
<button class="btn btn-green w-full" onclick="post_toast2('/agendaposter/{{u.id}}','sidebar-agendaposter','sidebar-unagendaposter')">
<i class="fas fa-check fa-sm fa-fw mr-2"></i>
Disable Agendaposter Theme
</button>
</div>
</li>
<li>
{% if u.is_suspended %}
<div class="label text-black dark:text-gray-200">Unban {{ u.username }}</div>
<form id="sidebar-unban" action="/unban_user/{{u.id}}" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="redir" value="true">
<div class="flex space-x-2 mb-3">
<input type="checkbox" id="sidebar-alts" class="w-5 h-5" name="alts" value="1">
<div>
<label class="label mb-0" for="sidebar-alts">Include alts</label>
<small class="block text-gray-600 dark:text-gray-400">
Unban rogue accounts connected to @{{ u.username }}
</small>
</div>
</div>
<button form="sidebar-unban" type="submit" class="btn btn-green w-full">
<i class="fas fa-user-check fa-sm fa-fw mr-2"></i>
Unban user
</button>
</form>
{% else %}
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}"/>
<div class="label text-black dark:text-gray-200">Ban {{ u.username }}</div>
<form id="sidebar-ban" action="/ban_user/{{u.id}}/" method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<input type="hidden" name="redir" value="true">
<input type="text" class="form-input mb-2" name="reason" placeholder="Ban Reason" onchange="document.getElementById('sidebar-ban-btn').disabled=false">
<input type="number" step="any" class="form-input mb-2" name="days" placeholder="Days (blank = permanent)">
<div class="flex space-x-2 mb-3">
<input type="checkbox" id="sidebar-alts" class="w-5 h-5" name="alts" value="1">
<div>
<label class="label mb-0" for="sidebar-alts">Include alts</label>
<small class="block text-gray-600 dark:text-gray-400">
Ban rogue accounts connected to @{{ u.username }}
</small>
</div>
</div>
<button form="sidebar-ban" id="sidebar-ban-btn" type="submit" class="btn btn-red w-full" disabled>
<i class="fas fa-user-slash fa-sm fa-fw mr-2"></i>
Ban user
</button>
</form>
{% endif %}
</li>
{% endfor %}
{% else %}
<p class="italic text-gray-500 text-sm">No badges... lame</p>
{% endif %}
</ul>
</div>
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Awards</h2>
<ul class="flex flex-row flex-wrap gap-2 mb-0">
{% if u.received_awards %}
{% for a in u.received_awards %}
<li>
<i class="{{a['icon']}} {{a['color']}} fa-fw fa-sm" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{a['title']}} Awards received"></i>
<span class="text-gray-500 text-sm">x{{a['count']}}</span>
<div class="label text-black dark:text-gray-200">Shadow Ban</div>
<div id="sidebar-shadowban" class="{% if u.shadowbanned %}hidden{% endif %}">
<button class="btn btn-black w-full" onclick="post_toast2('/shadowban/{{u.id}}','sidebar-shadowban','sidebar-unshadowban')">
<i class="fas fa-eye-slash fa-sm fa-fw mr-2"></i>
Shadow ban
</button>
</div>
<div id="sidebar-unshadowban" class="{% if not u.shadowbanned %}hidden{% endif %}">
<button class="btn btn-green w-full" onclick="post_toast2('/unshadowban/{{u.id}}','sidebar-shadowban','sidebar-unshadowban')">
<i class="fas fa-eye fa-sm fa-fw mr-2"></i>
Lift shadow ban
</button>
</div>
</li>
<li>
<div class="label text-black dark:text-gray-200">Content</div>
<form id="sidebar-unnuke" action="/admin/unnuke_user" method="post" class="mb-2">
<input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}">
<button class="btn btn-green w-full">
<i class="fas fa-check fa-sm fa-fw mr-2"></i>
Approve all content
</button>
</form>
<form id="sidebar-nuke" action="/admin/nuke_user" method="post">
<input type="hidden" name="formkey", value="{{v.formkey}}">
<input type="hidden" name="user" value="{{u.username}}">
<button class="btn btn-red w-full">
<i class="fas fa-trash fa-sm fa-fw mr-2"></i>
Remove all content
</button>
</form>
</li>
{% if u.admin_level > 1 %}
<li>
<div class="label text-black dark:text-gray-200">Damage Control</div>
<button class="btn btn-blue w-full" onclick="postToast('/@{{u.username}}/revert_actions')">
<i class="fas fa-history fa-sm fa-fw mr-2"></i>
Revert admin actions
</button>
</li>
{% endif %}
{% if v.admin_level > 2 and u.admin_level > 2 %}
<li>
<div class="label text-black dark:text-gray-200">Admin Persmissions</div>
<button class="btn btn-red w-full" onclick="postToast('/@{{u.username}}/remove_admin'); this.disabled = true">
<i class="fas fa-user-slash fa-sm fa-fw mr-2"></i>
Revoke admin permissions
</button>
</li>
{% endfor %}
{% else %}
<p class="italic text-gray-500 text-sm">No awards... their content probably lacks drama</p>
{% endif %}
</ul>
</div>
{% if v and (v.admin_level > 1 or v.alt) %}
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Alts</h2>
<ul class="flex flex-row flex-wrap gap-2 mb-0">
{% for account in u.alts_unique %}
<li>
<a href="{{account.url}}">@{{account.username}}</a>{% if account._is_manual %} [m]{% endif %}
</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="my-4 px-4 py-3 rounded-md bg-gray-300/40 dark:bg-gray-700/40 shadow-inner">
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">About</h2>
<div class="flex flex-col space-y-4">
{% if u.bio_html %}
<div class="text-break">{{u.bio_html | safe}}</div>
{% else %}
<p class="italic text-gray-500 text-sm">No bio...</p>
{% endif %}
{% if u.friends_html %}
<p class="text-muted font-weight-bold">Friends:</p>
{{u.friends_html | safe}}
{% endif %}
{% if u.enemies_html %}
<p class="text-muted font-weight-bold">Enemies:</p>
{{u.enemies_html | safe}}
{% endif %}
</div>
</div>
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Badges</h2>
<ul class="flex flex-row flex-wrap gap-2 mb-0">
{% if u.badges %}
{% for b in u.badges %}
<li>
{% if b.url %}
<a rel="nofollow noopener noreferrer" href="{{b.url}}">
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}"/>
</a>
{% else %}
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}"/>
{% endif %}
</li>
{% endfor %}
{% else %}
<p class="italic text-gray-500 text-sm">No badges... lame</p>
{% endif %}
</ul>
</div>
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Awards</h2>
<ul class="flex flex-row flex-wrap gap-2 mb-0">
{% if u.received_awards %}
{% for a in u.received_awards %}
<li>
<i class="{{a['icon']}} {{a['color']}} fa-fw fa-sm" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{a['title']}} Awards received"></i>
<span class="text-gray-500 text-sm">x{{a['count']}}</span>
</li>
{% endfor %}
{% else %}
<p class="italic text-gray-500 text-sm">No awards... their content probably lacks drama</p>
{% endif %}
</ul>
</div>
{% if v and (v.admin_level > 1 or v.alt) %}
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 dark:border-gray-900 shadow-inset-t-white-05"/>
<div>
<h2 class="ml-2 font-bold text-lg font-heading leading-normal mb-2">Alts</h2>
<ul class="flex flex-col space-y-2 mb-0">
{% for account in u.alts_unique %}
<li class="flex items-center space-x-2">
<img src="@{{account.profile_url}}" class="flex-shrink-0 object-cover h-7 w-7 p-[3px] bg-white border border-gray-300 dark:border-gray-900" alt="@{{account.username}} avatar"/>
<a href="{{account.url}}" class="text-sm font-bold text-black dark:text-gray-200 hover:text-primary">
@{{account.username}}
</a>
{% if account._is_manual %}
<span class="badge badge-yellow" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="This alt was manually connected by a moderator">Manual</span>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
{% endif %}
</div>
</div>

View File

@ -136,6 +136,10 @@
<span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Original username: @{{u.original_username}}">@{{u.original_username}}
</span>
</div>
<div>&#183;</div>
<div>
#{{u.id}}
</div>
{% endif %}
</div>
</div>
@ -457,5 +461,5 @@
</script>
{% endif %}
<script defer src="/assets/CHRISTMAS/js/userpage.js?a=1"></script>
<script defer src="/assets/CHRISTMAS/js/userpage.js?a=6"></script>
{% endblock %}