diff --git a/config/description.exs b/config/description.exs
index d9c90edd7..9f746859b 100644
--- a/config/description.exs
+++ b/config/description.exs
@@ -2525,6 +2525,7 @@
group: :pleroma,
key: :emoji,
type: :group,
+ description: "Configuration options related to emoji",
children: [
%{
key: :shortcode_globs,
@@ -2561,7 +2562,7 @@
key: :shared_pack_cache_seconds_per_file,
label: "Shared pack cache s/file",
type: :integer,
- descpiption:
+ description:
"When an emoji pack is shared, the archive is created and cached in memory" <>
" for this amount of seconds multiplied by the number of files.",
suggestions: [60]
diff --git a/lib/pleroma/web/admin_control/admin_control_controller.ex b/lib/pleroma/web/admin_control/admin_control_controller.ex
index b1027c326..b97ac5d1d 100644
--- a/lib/pleroma/web/admin_control/admin_control_controller.ex
+++ b/lib/pleroma/web/admin_control/admin_control_controller.ex
@@ -1,7 +1,7 @@
defmodule Pleroma.Web.AdminControl.AdminControlController do
use Pleroma.Web, :controller
- @descriptions Pleroma.Docs.JSON.compiled_descriptions()
+
plug(:put_root_layout, {Pleroma.Web.AdminControl.AdminControlView, :layout})
plug(:put_layout, false)
@@ -9,8 +9,9 @@ defmodule Pleroma.Web.AdminControl.AdminControlController do
defp label_for(%{label: label}), do: label
defp label_for(_), do: "Unknown"
+ defp descriptions, do: Pleroma.Docs.JSON.compiled_descriptions()
def config_headings do
- @descriptions
+ descriptions()
|> Enum.map(&label_for(&1))
|> Enum.sort()
end
@@ -19,7 +20,7 @@ def config_values(%{"heading" => heading}) do
IO.inspect(heading)
possible_values =
- @descriptions
+ descriptions()
|> Enum.filter(fn section -> label_for(section) == heading end)
possible_values
diff --git a/lib/pleroma/web/admin_control/admin_control_html.ex b/lib/pleroma/web/admin_control/admin_control_html.ex
index 9966f7ce8..9970dec60 100644
--- a/lib/pleroma/web/admin_control/admin_control_html.ex
+++ b/lib/pleroma/web/admin_control/admin_control_html.ex
@@ -1,5 +1,6 @@
defmodule Pleroma.Web.AdminControl.AdminControlView do
use Pleroma.Web, :html
+ require Logger
embed_templates "admin_control_html/*"
@@ -29,33 +30,65 @@ def config_value(%{config_value: %{type: :group} = value} = assigns) do
"""
end
- def config_value(%{config_value: %{type: :integer} = value} = assigns) do
+ def config_value(%{config_value: %{type: :integer, key: key} = value} = assigns) do
value = value_of(assigns)
- assigns = assign(assigns, value: value)
+ assigns = assign(assigns, value: value, key: key)
~H"""
-
-
<%= @config_value.label %>
-
<%= @config_value.description %>
-
+
+
+
+
+
+
<%= @config_value.description %>
"""
end
- def config_value(%{config_value: %{type: :boolean} = value} = assigns) do
+ def config_value(%{config_value: %{type: :string, key: key} = value} = assigns) do
+ value = value_of(assigns)
+ assigns = assign(assigns, value: value, key: key)
+ ~H"""
+
+
+
+
+
+
<%= @config_value.description %>
+
+ """
+ end
+
+ def config_value(%{config_value: %{type: :boolean, key: key} = value} = assigns) do
value = value_of(assigns) == "true"
+ assigns = assign(assigns, value: value, key: key)
+ ~H"""
+
+
+
+
+
+
<%= @config_value.description %>
+
+
+
+ """
+ end
+ def config_value(%{config_value: %{type: {:list, :string}} = value} = assigns) do
+ value = value_of(assigns)
assigns = assign(assigns, value: value)
~H"""
<%= @config_value.label %>
<%= @config_value.description %>
-
+ <%= @value %>
"""
end
def config_value(assigns) do
+ Logger.info("Cannot render config!")
IO.inspect(assigns)
~H"""
Cannot render
diff --git a/lib/pleroma/web/admin_control/admin_control_html/index.html.heex b/lib/pleroma/web/admin_control/admin_control_html/index.html.heex
index 1c2ffa64d..0ba0208ab 100644
--- a/lib/pleroma/web/admin_control/admin_control_html/index.html.heex
+++ b/lib/pleroma/web/admin_control/admin_control_html/index.html.heex
@@ -1,269 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
diff --git a/priv/static/assets/app.css b/priv/static/assets/app.css
index 9ff315d0b..c26d342d7 100644
--- a/priv/static/assets/app.css
+++ b/priv/static/assets/app.css
@@ -744,59 +744,6 @@ @media (min-width: 1536px) {
}
}
-.form-input,.form-textarea,.form-select,.form-multiselect {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- background-color: #fff;
- border-color: #6b7280;
- border-width: 1px;
- border-radius: 0px;
- padding-top: 0.5rem;
- padding-right: 0.75rem;
- padding-bottom: 0.5rem;
- padding-left: 0.75rem;
- font-size: 1rem;
- line-height: 1.5rem;
- --tw-shadow: 0 0 #0000;
-}
-
-.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus {
- outline: 2px solid transparent;
- outline-offset: 2px;
- --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
- --tw-ring-offset-width: 0px;
- --tw-ring-offset-color: #fff;
- --tw-ring-color: #2563eb;
- --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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
- border-color: #2563eb;
-}
-
-.form-input::-moz-placeholder, .form-textarea::-moz-placeholder {
- color: #6b7280;
- opacity: 1;
-}
-
-.form-input::placeholder,.form-textarea::placeholder {
- color: #6b7280;
- opacity: 1;
-}
-
-.form-input::-webkit-datetime-edit-fields-wrapper {
- padding: 0;
-}
-
-.form-input::-webkit-date-and-time-value {
- min-height: 1.5em;
-}
-
-.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field {
- padding-top: 0;
- padding-bottom: 0;
-}
-
.hero-arrow-left-solid {
--hero-arrow-left-solid: url('data:image/svg+xml;utf8,');
-webkit-mask: var(--hero-arrow-left-solid);
@@ -911,6 +858,11 @@ .inset-0 {
bottom: -1px;
}
+.inset-y-0 {
+ top: 0px;
+ bottom: 0px;
+}
+
.-left-4 {
left: -1rem;
}
@@ -923,10 +875,6 @@ .left-0 {
left: 0px;
}
-.left-full {
- left: 100%;
-}
-
.right-0 {
right: 0px;
}
@@ -943,10 +891,6 @@ .right-5 {
right: 1.25rem;
}
-.top-0 {
- top: 0px;
-}
-
.top-1 {
top: 0.25rem;
}
@@ -963,14 +907,6 @@ .z-50 {
z-index: 50;
}
-.-m-2 {
- margin: -0.5rem;
-}
-
-.-m-2\.5 {
- margin: -0.625rem;
-}
-
.-m-3 {
margin: -0.75rem;
}
@@ -980,11 +916,6 @@ .z-50 {
margin-right: -0.5rem;
}
-.-mx-6 {
- margin-left: -1.5rem;
- margin-right: -1.5rem;
-}
-
.-my-4 {
margin-top: -1rem;
margin-bottom: -1rem;
@@ -1006,10 +937,6 @@ .ml-4 {
margin-left: 1rem;
}
-.mr-16 {
- margin-right: 4rem;
-}
-
.mr-2 {
margin-right: 0.5rem;
}
@@ -1046,10 +973,6 @@ .mt-3 {
margin-top: 0.75rem;
}
-.mt-auto {
- margin-top: auto;
-}
-
.block {
display: block;
}
@@ -1098,10 +1021,6 @@ .h-6 {
height: 1.5rem;
}
-.h-8 {
- height: 2rem;
-}
-
.h-full {
height: 100%;
}
@@ -1122,10 +1041,6 @@ .w-14 {
width: 3.5rem;
}
-.w-16 {
- width: 4rem;
-}
-
.w-3 {
width: 0.75rem;
}
@@ -1142,8 +1057,8 @@ .w-6 {
width: 1.5rem;
}
-.w-8 {
- width: 2rem;
+.w-72 {
+ width: 18rem;
}
.w-80 {
@@ -1154,10 +1069,6 @@ .w-\[40rem\] {
width: 40rem;
}
-.w-auto {
- width: auto;
-}
-
.w-full {
width: 100%;
}
@@ -1166,10 +1077,6 @@ .max-w-3xl {
max-width: 48rem;
}
-.max-w-xs {
- max-width: 20rem;
-}
-
.flex-1 {
flex: 1 1 0%;
}
@@ -1190,16 +1097,6 @@ .border-collapse {
border-collapse: collapse;
}
-.-translate-x-full {
- --tw-translate-x: -100%;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
-.translate-x-0 {
- --tw-translate-x: 0px;
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
-}
-
.translate-y-0 {
--tw-translate-y: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1269,11 +1166,6 @@ .gap-x-3 {
column-gap: 0.75rem;
}
-.gap-x-4 {
- -moz-column-gap: 1rem;
- column-gap: 1rem;
-}
-
.gap-y-5 {
row-gap: 1.25rem;
}
@@ -1331,10 +1223,6 @@ .rounded-2xl {
border-radius: 1rem;
}
-.rounded-full {
- border-radius: 9999px;
-}
-
.rounded-lg {
border-radius: 0.5rem;
}
@@ -1347,6 +1235,10 @@ .border {
border-width: 1px;
}
+.border-0 {
+ border-width: 0px;
+}
+
.border-b {
border-bottom-width: 1px;
}
@@ -1360,11 +1252,6 @@ .border-gray-300 {
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
-.border-gray-700 {
- --tw-border-opacity: 1;
- border-color: rgb(55 65 81 / var(--tw-border-opacity));
-}
-
.border-rose-400 {
--tw-border-opacity: 1;
border-color: rgb(251 113 133 / var(--tw-border-opacity));
@@ -1403,10 +1290,6 @@ .bg-gray-900 {
background-color: rgb(17 24 39 / var(--tw-bg-opacity));
}
-.bg-gray-900\/80 {
- background-color: rgb(17 24 39 / 0.8);
-}
-
.bg-rose-50 {
--tw-bg-opacity: 1;
background-color: rgb(255 241 242 / var(--tw-bg-opacity));
@@ -1417,6 +1300,10 @@ .bg-white {
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
+.bg-white\/5 {
+ background-color: rgb(255 255 255 / 0.05);
+}
+
.bg-zinc-50\/90 {
background-color: rgb(250 250 250 / 0.9);
}
@@ -1446,10 +1333,6 @@ .p-2 {
padding: 0.5rem;
}
-.p-2\.5 {
- padding: 0.625rem;
-}
-
.p-3 {
padding: 0.75rem;
}
@@ -1458,6 +1341,11 @@ .p-4 {
padding: 1rem;
}
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
@@ -1473,16 +1361,21 @@ .px-6 {
padding-right: 1.5rem;
}
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.py-1\.5 {
+ padding-top: 0.375rem;
+ padding-bottom: 0.375rem;
+}
+
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
-.py-3 {
- padding-top: 0.75rem;
- padding-bottom: 0.75rem;
-}
-
.py-4 {
padding-top: 1rem;
padding-bottom: 1rem;
@@ -1492,12 +1385,12 @@ .pb-4 {
padding-bottom: 1rem;
}
-.pr-6 {
- padding-right: 1.5rem;
+.pl-72 {
+ padding-left: 18rem;
}
-.pt-5 {
- padding-top: 1.25rem;
+.pr-6 {
+ padding-right: 1.5rem;
}
.text-left {
@@ -1513,10 +1406,6 @@ .text-2xl {
line-height: 2rem;
}
-.text-\[0\.625rem\] {
- font-size: 0.625rem;
-}
-
.text-base {
font-size: 1rem;
line-height: 1.5rem;
@@ -1532,11 +1421,6 @@ .text-sm {
line-height: 1.25rem;
}
-.text-xs {
- font-size: 0.75rem;
- line-height: 1rem;
-}
-
.font-medium {
font-weight: 500;
}
@@ -1569,11 +1453,6 @@ .leading-8 {
line-height: 2rem;
}
-.text-black {
- --tw-text-opacity: 1;
- color: rgb(0 0 0 / var(--tw-text-opacity));
-}
-
.text-emerald-800 {
--tw-text-opacity: 1;
color: rgb(6 95 70 / var(--tw-text-opacity));
@@ -1584,6 +1463,11 @@ .text-gray-400 {
color: rgb(156 163 175 / var(--tw-text-opacity));
}
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+
.text-rose-600 {
--tw-text-opacity: 1;
color: rgb(225 29 72 / var(--tw-text-opacity));
@@ -1678,6 +1562,10 @@ .ring-1 {
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
+.ring-inset {
+ --tw-ring-inset: inset;
+}
+
.ring-emerald-500 {
--tw-ring-opacity: 1;
--tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity));
@@ -1736,14 +1624,6 @@ .ease-in {
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
-.ease-in-out {
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-.ease-linear {
- transition-timing-function: linear;
-}
-
.ease-out {
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@@ -1803,6 +1683,21 @@ .focus\:ring-0:focus {
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
+.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-inset:focus {
+ --tw-ring-inset: inset;
+}
+
+.focus\:ring-indigo-500:focus {
+ --tw-ring-opacity: 1;
+ --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity));
+}
+
.active\:text-white\/80:active {
color: rgb(255 255 255 / 0.8);
}
@@ -1812,11 +1707,6 @@ .group:hover .group-hover\:bg-zinc-50 {
background-color: rgb(250 250 250 / var(--tw-bg-opacity));
}
-.group:hover .group-hover\:text-white {
- --tw-text-opacity: 1;
- color: rgb(255 255 255 / var(--tw-text-opacity));
-}
-
.group:hover .group-hover\:opacity-70 {
opacity: 0.7;
}
@@ -1940,43 +1830,4 @@ @media (min-width: 1024px) {
padding-top: 2rem;
padding-bottom: 2rem;
}
-
- .lg\:pr-96 {
- padding-right: 24rem;
- }
-}
-
-@media (min-width: 1280px) {
- .xl\:fixed {
- position: fixed;
- }
-
- .xl\:inset-y-0 {
- top: 0px;
- bottom: 0px;
- }
-
- .xl\:z-50 {
- z-index: 50;
- }
-
- .xl\:flex {
- display: flex;
- }
-
- .xl\:hidden {
- display: none;
- }
-
- .xl\:w-72 {
- width: 18rem;
- }
-
- .xl\:flex-col {
- flex-direction: column;
- }
-
- .xl\:pl-72 {
- padding-left: 18rem;
- }
}