diff --git a/lib/atomic/accounts.ex b/lib/atomic/accounts.ex index 97b67564c..9bd128519 100644 --- a/lib/atomic/accounts.ex +++ b/lib/atomic/accounts.ex @@ -500,10 +500,11 @@ defmodule Atomic.Accounts do {:error, %Ecto.Changeset{}} """ - def update_user(%User{} = user, attrs \\ %{}, _after_save \\ &{:ok, &1}) do + def update_user(%User{} = user, attrs \\ %{}, after_save \\ &{:ok, &1}) do user |> User.changeset(attrs) |> Repo.update() + |> after_save(after_save) end @doc """ diff --git a/lib/atomic/accounts/user.ex b/lib/atomic/accounts/user.ex index f4dcba537..a8ded2443 100644 --- a/lib/atomic/accounts/user.ex +++ b/lib/atomic/accounts/user.ex @@ -32,6 +32,7 @@ defmodule Atomic.Accounts.User do field :confirmed_at, :naive_datetime field :phone_number, :string field :profile_picture, Uploaders.ProfilePicture.Type + field :cover_image, Uploaders.ProfilePicture.Type belongs_to :course, Course belongs_to :current_organization, Organization @@ -70,7 +71,6 @@ defmodule Atomic.Accounts.User do def picture_changeset(user, attrs) do user - |> cast(attrs, @required_fields ++ @optional_fields) |> cast_attachments(attrs, [:profile_picture]) end diff --git a/lib/atomic_web/components/sidebar.ex b/lib/atomic_web/components/sidebar.ex index 083ac4b49..31dc86f70 100644 --- a/lib/atomic_web/components/sidebar.ex +++ b/lib/atomic_web/components/sidebar.ex @@ -122,7 +122,7 @@ defmodule AtomicWeb.Components.Sidebar do <:wrapper> @@ -188,14 +188,6 @@ defmodule AtomicWeb.Components.Sidebar do |> JS.dispatch("focus", to: "#mobile-sidebar") end - defp user_image(user) do - if user.profile_picture do - Uploaders.ProfilePicture.url({user, user.profile_picture}, :original) - else - nil - end - end - defp get_organizations(nil), do: [] defp get_organizations(user), do: Organizations.list_user_organizations(user.id) end diff --git a/lib/atomic_web/live/activity_live/form_component.html.heex b/lib/atomic_web/live/activity_live/form_component.html.heex index 6ba98a7b4..916509026 100644 --- a/lib/atomic_web/live/activity_live/form_component.html.heex +++ b/lib/atomic_web/live/activity_live/form_component.html.heex @@ -1,6 +1,6 @@
<.form id="activity-form" for={@form} phx-change="validate" phx-submit="save" phx-target={@myself}> -
+
<.field type="text" field={@form[:title]} placeholder="Choose a title" required /> @@ -14,45 +14,45 @@
-
+
<.field type="datetime-local" field={@form[:start]} label="Starting date" required />
-
+
<.field type="datetime-local" field={@form[:finish]} label="Ending date" required />
-
+
<.field type="number" field={@form[:minimum_entries]} label="Minimum entries" placeholder="Choose minimum entries" required />
-
+
<.field type="number" field={@form[:maximum_entries]} label="Maximum entries" placeholder="Choose maximum entries" required />
-
+
<.inputs_for :let={fl} field={@form[:location]}>
<.field type="text" field={fl[:name]} label="Location" placeholder="Choose location name" required />
-
+
<.field type="url" field={fl[:url]} label="URL" placeholder="Choose an URL" />
-
+
<.field type="textarea" field={@form[:description]} label="Description" placeholder="Choose description" rows={15} required />
-
+
<.button type="submit" phx-disable-with="Saving...">Save
diff --git a/lib/atomic_web/live/activity_live/index.html.heex b/lib/atomic_web/live/activity_live/index.html.heex index 174c4f853..9bccd823d 100644 --- a/lib/atomic_web/live/activity_live/index.html.heex +++ b/lib/atomic_web/live/activity_live/index.html.heex @@ -50,18 +50,18 @@

- <.icon name={:users} solid class="flex-shrink-0 mr-1.5 w-5 h-5 text-zinc-400" /> + <.icon name={:users} solid class="mr-1.5 h-5 w-5 flex-shrink-0 text-zinc-400" /> <%= Enum.count(activity.enrollments) %> / <%= activity.maximum_entries %>

- <.icon name={:calendar} solid class="flex-shrink-0 mr-1.5 w-5 h-5 text-zinc-400" /> + <.icon name={:calendar} solid class="mr-1.5 h-5 w-5 flex-shrink-0 text-zinc-400" /> <%= if activity.start do %> <%= display_date(activity.start) %> <% end %>

<%= if activity.location do %>

- <.icon name={:map_pin} solid class="flex-shrink-0 mr-1.5 w-5 h-5 text-zinc-400" /> + <.icon name={:map_pin} solid class="mr-1.5 h-5 w-5 flex-shrink-0 text-zinc-400" /> <%= activity.location && activity.location.name %>

<% end %> @@ -70,11 +70,11 @@
<%= if Activities.verify_maximum_enrollments?(activity.id) do %>
- <.icon name={:bell} solid class="flex-shrink-0 mr-1.5 w-5 h-5 text-zinc-400" /> Open + <.icon name={:bell} solid class="mr-1.5 h-5 w-5 flex-shrink-0 text-zinc-400" /> Open
<% else %>
- <.icon name={:bell} solid class="flex-shrink-0 mr-1.5 w-5 h-5 text-zinc-400" /> Closed + <.icon name={:bell} solid class="mr-1.5 h-5 w-5 flex-shrink-0 text-zinc-400" /> Closed
<% end %>
diff --git a/lib/atomic_web/live/activity_live/show.html.heex b/lib/atomic_web/live/activity_live/show.html.heex index e99933c41..5ec530bb0 100644 --- a/lib/atomic_web/live/activity_live/show.html.heex +++ b/lib/atomic_web/live/activity_live/show.html.heex @@ -53,14 +53,14 @@
<.icon name={:calendar} solid class="h-5 w-5 text-zinc-400" /> -

+

<%= display_date(@activity.start) %>

<.icon name={:clock} solid class="h-5 w-5 text-zinc-400" /> -

+

<%= display_time(@activity.start) %> - <%= display_time(@activity.finish) %>

@@ -97,7 +97,7 @@
<%= draw_qr_code(@activity, @current_user, @socket) |> raw %>
-
+
<%= gettext("If you can't go please") %> @@ -116,12 +116,12 @@ phx-click="enroll" phx-disable-with={gettext("Enrolling...")} phx-throttle="0" - class="w-fit mt-1 rounded-md bg-orange-500 py-2 px-3.5 text-sm font-medium text-white shadow-sm hover:bg-orange-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-500" + class="mt-1 w-fit rounded-md bg-orange-500 px-3.5 py-2 text-sm font-medium text-white shadow-sm hover:bg-orange-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-500" > <%= gettext("Enroll") %> <% else %> - <% end %> @@ -138,13 +138,13 @@
<%= if @has_permissions? do %> <.link patch={Routes.activity_edit_path(@socket, :edit, @activity.organization_id, @activity)} class="button"> -