Packages

phoenix_kit

1.7.96
1.7.207 1.7.206 1.7.205 1.7.204 1.7.203 1.7.202 1.7.201 1.7.200 1.7.199 1.7.198 1.7.197 1.7.196 1.7.194 1.7.193 1.7.192 1.7.191 1.7.190 1.7.189 1.7.187 1.7.186 1.7.185 1.7.184 1.7.183 1.7.182 1.7.181 1.7.180 1.7.179 1.7.178 1.7.177 1.7.176 1.7.175 1.7.174 1.7.173 1.7.172 1.7.171 1.7.170 1.7.169 1.7.168 1.7.167 1.7.166 1.7.165 1.7.164 1.7.162 1.7.161 1.7.160 1.7.159 1.7.157 1.7.156 1.7.155 1.7.154 1.7.153 1.7.152 1.7.151 1.7.150 1.7.149 1.7.146 1.7.145 1.7.144 1.7.143 1.7.138 1.7.133 1.7.132 1.7.131 1.7.130 1.7.128 1.7.126 1.7.125 1.7.121 1.7.120 1.7.119 1.7.118 1.7.117 1.7.116 1.7.115 1.7.114 1.7.113 1.7.112 1.7.111 1.7.110 1.7.109 1.7.108 1.7.107 1.7.106 1.7.105 1.7.104 1.7.103 1.7.102 1.7.101 1.7.100 1.7.99 1.7.98 1.7.97 1.7.96 1.7.95 1.7.94 1.7.93 1.7.92 1.7.91 1.7.90 1.7.89 1.7.88 1.7.87 1.7.86 1.7.85 1.7.84 1.7.83 1.7.82 1.7.81 1.7.80 1.7.79 1.7.78 1.7.77 1.7.76 1.7.75 1.7.74 1.7.71 1.7.70 1.7.69 1.7.66 1.7.65 1.7.64 1.7.63 1.7.62 1.7.61 1.7.59 1.7.58 1.7.57 1.7.56 1.7.55 1.7.54 1.7.53 1.7.52 1.7.51 1.7.49 1.7.44 1.7.43 1.7.42 1.7.41 1.7.39 1.7.38 1.7.37 1.7.36 1.7.34 1.7.33 1.7.31 1.7.30 1.7.29 1.7.28 1.7.27 1.7.26 1.7.25 1.7.24 1.7.23 1.7.22 1.7.21 1.7.20 1.7.19 1.7.18 1.7.17 1.7.16 1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 1.7.9 1.7.8 1.7.7 1.7.6 1.7.5 1.7.4 1.7.3 1.7.2 1.7.1 1.7.0 1.6.20 1.6.19 1.6.18 1.6.17 1.6.16 1.6.15 1.6.14 1.6.13 1.6.12 1.6.11 1.6.10 1.6.9 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.10 1.2.9 1.2.8 1.2.7 1.2.5 1.2.4 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0

A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

Current section

221 Versions

Jump to

Compare versions

19 files changed
+309 additions
-159 deletions
  @@ -1,3 +1,25 @@
1 + ## 1.7.96 - 2026-04-13
2 +
3 + ### Added
4 + - Sortable languages in admin (drag-and-drop reorder)
5 + - option on DraggableList component
6 + - Wiggle animation for reorder mode with prefers-reduced-motion support
7 +
8 + ### Changed
9 + - Dedup language codes in reorder, use MapSet for lookup
10 + - Extract wiggle CSS to JS-injected styles with pk- prefix
11 +
12 + ## 1.7.96 - 2026-04-13
13 +
14 + ### Added
15 + - Sortable languages in admin (drag-and-drop reorder)
16 + - hide_source option on DraggableList component
17 + - Wiggle animation for reorder mode with prefers-reduced-motion support
18 +
19 + ### Changed
20 + - Dedup language codes in reorder, use MapSet for lookup
21 + - Extract wiggle CSS to JS-injected styles with pk- prefix
22 +
1 23 ## 1.7.95 - 2026-04-11
2 24
3 25 ### Added
  @@ -1,6 +1,6 @@
1 1 {<<"links">>,[{<<"GitHub">>,<<"https://github.com/BeamLabEU/phoenix_kit">>}]}.
2 2 {<<"name">>,<<"phoenix_kit">>}.
3 - {<<"version">>,<<"1.7.95">>}.
3 + {<<"version">>,<<"1.7.96">>}.
4 4 {<<"description">>,
5 5 <<65,32,102,111,117,110,100,97,116,105,111,110,32,102,111,114,32,98,117,105,
6 6 108,100,105,110,103,32,69,108,105,120,105,114,32,80,104,111,101,110,105,
  @@ -1146,6 +1146,35 @@ defmodule PhoenixKit.Modules.Languages do
1146 1146 end
1147 1147 end
1148 1148
1149 + @doc """
1150 + Reorders languages to match the given list of codes.
1151 +
1152 + Languages not in `ordered_codes` keep their current position at the end.
1153 + """
1154 + def reorder_languages(ordered_codes) when is_list(ordered_codes) do
1155 + current_config = Settings.get_json_setting(@config_key, @default_config)
1156 + current_languages = Map.get(current_config, "languages", [])
1157 +
1158 + lang_by_code = Map.new(current_languages, &{&1["code"], &1})
1159 + ordered_set = MapSet.new(ordered_codes)
1160 +
1161 + ordered =
1162 + ordered_codes
1163 + |> Enum.uniq()
1164 + |> Enum.map(&Map.get(lang_by_code, &1))
1165 + |> Enum.reject(&is_nil/1)
1166 +
1167 + remaining = Enum.reject(current_languages, &MapSet.member?(ordered_set, &1["code"]))
1168 +
1169 + updated_languages = ordered ++ remaining
1170 + updated_config = Map.put(current_config, "languages", updated_languages)
1171 +
1172 + case Settings.update_json_setting_with_module(@config_key, updated_config, @module_name) do
1173 + {:ok, _setting} -> {:ok, updated_config}
1174 + {:error, changeset} -> {:error, changeset}
1175 + end
1176 + end
1177 +
1149 1178 ## --- Private Helper Functions ---
1150 1179
1151 1180 # Update a language at a specific index with proper default handling
  @@ -87,7 +87,7 @@ defmodule PhoenixKit.Modules.Maintenance do
87 87 false
88 88 """
89 89 def enabled? do
90 - Settings.get_boolean_setting("maintenance_enabled", false)
90 + Settings.get_boolean_setting("maintenance_module_enabled", false)
91 91 end
92 92
93 93 @impl PhoenixKit.Module
  @@ -54,14 +54,14 @@ defmodule PhoenixKit.Config do
54 54 id: :orders,
55 55 label: "My Orders",
56 56 icon: "hero-shopping-bag",
57 - path: "/dashboard/orders",
57 + path: "orders",
58 58 priority: 100
59 59 },
60 60 %{
61 61 id: :notifications,
62 62 label: "Notifications",
63 63 icon: "hero-bell",
64 - path: "/dashboard/notifications",
64 + path: "notifications",
65 65 priority: 200,
66 66 badge: %{type: :count, value: 0, color: :error}
67 67 }
Loading more files…