Skip to content

Commit

Permalink
fix: fix credo reported issues (#165)
Browse files Browse the repository at this point in the history
  • Loading branch information
anildigital authored Sep 29, 2021
1 parent b58c2f4 commit 83567dc
Show file tree
Hide file tree
Showing 18 changed files with 349 additions and 326 deletions.
16 changes: 9 additions & 7 deletions lib/moon/backoffice_components/table.ex
Original file line number Diff line number Diff line change
Expand Up @@ -263,13 +263,7 @@ defmodule Moon.ComponentsV2.Table do
field =
field_str
|> String.split("+")
|> (fn strs ->
case strs do
[str] -> String.to_atom(str)
[_ | _] -> strs |> Enum.map(&String.to_atom(&1))
_ -> nil
end
end).()
|> atomize_strings

sort_by =
case socket.assigns.sort_by do
Expand All @@ -286,6 +280,14 @@ defmodule Moon.ComponentsV2.Table do
end
end

defp atomize_strings(strs) do
case strs do
[str] -> String.to_atom(str)
[_ | _] -> strs |> Enum.map(&String.to_atom(&1))
_ -> nil
end
end

#
# Helpers
#
Expand Down
18 changes: 8 additions & 10 deletions lib/moon/components/datepicker.ex
Original file line number Diff line number Diff line change
Expand Up @@ -406,16 +406,14 @@ defmodule Moon.Components.Datepicker do
|> format_to_date(with_time)

{start_date, end_date} =
cond do
start_date && is_nil(end_date) && Timex.after?(date, start_date) ->
# Keep start, set end
end_date = if with_time, do: Timex.end_of_day(date), else: date
{start_date, end_date}

true ->
# Set start, reset end
start_date = if with_time, do: Timex.beginning_of_day(date), else: date
{start_date, nil}
if start_date && is_nil(end_date) && Timex.after?(date, start_date) do
# Keep start, set end
end_date = if with_time, do: Timex.end_of_day(date), else: date
{start_date, end_date}
else
# Set start, reset end
start_date = if with_time, do: Timex.beginning_of_day(date), else: date
{start_date, nil}
end

{:noreply,
Expand Down
24 changes: 12 additions & 12 deletions lib/moon/components/datepicker/month.ex
Original file line number Diff line number Diff line change
Expand Up @@ -100,26 +100,26 @@ defmodule Moon.Components.Datepicker.Month do
"bg-goku-100 rounded"

Timex.between?(day, start_date, end_date) ->
cond do
Timex.weekday(day) == week_starts_on -> "bg-goku-100 rounded-l"
Timex.weekday(day) == week_starts_on + 6 -> "bg-goku-100 rounded-r"
true -> "bg-goku-100"
end
week_start_class(day, week_starts_on)

true ->
nil
end
end

defp week_start_class(day, week_starts_on) do
cond do
Timex.weekday(day) == week_starts_on -> "bg-goku-100 rounded-l"
Timex.weekday(day) == week_starts_on + 6 -> "bg-goku-100 rounded-r"
true -> "bg-goku-100"
end
end

defp day_class(_day, nil, _), do: nil

defp day_class(day, start_date, end_date) do
cond do
Timex.to_date(day) in [Timex.to_date(start_date), Timex.to_date(end_date)] ->
"bg-piccolo-100 text-goten-100"

true ->
nil
end
if Timex.to_date(day) in [Timex.to_date(start_date), Timex.to_date(end_date)],
do: "bg-piccolo-100 text-goten-100",
else: nil
end
end
146 changes: 71 additions & 75 deletions lib/moon/components/popover_v2.ex
Original file line number Diff line number Diff line change
Expand Up @@ -48,79 +48,75 @@ defmodule Moon.Components.PopoverV2 do
"""
end

def wrapper_classes(placement) do
case placement do
"top-start" ->
%{
outer: "absolute top-0 left-0",
inner: "transform -translate-y-full pb-2"
}

"top" ->
%{
outer: "absolute left-0 top-0 right-0 flex flex-col items-center",
inner: "transform -translate-y-full pb-2"
}

"top-end" ->
%{
outer: "absolute top-0 right-0",
inner: "transform -translate-y-full pb-2"
}

"right-start" ->
%{
outer: "absolute left-0 top-0 right-0",
inner: "transform translate-x-full pl-2"
}

"right" ->
%{
outer: "absolute left-0 top-0 right-0",
inner: "transform translate-x-full -translate-y-1/2 pl-2"
}

"right-end" ->
%{
outer: "absolute left-0 bottom-0 right-0",
inner: "transform translate-x-full pl-2"
}

"bottom-start" ->
%{
outer: "absolute left-0 bottom-0",
inner: "transform translate-y-full pt-2"
}

"bottom" ->
%{
outer: "absolute left-0 bottom-0 right-0 flex flex-col items-center",
inner: "transform translate-y-full pt-2"
}

"bottom-end" ->
%{
outer: "absolute right-0 bottom-0",
inner: "transform translate-y-full pt-2"
}

"left-start" ->
%{
outer: "absolute left-0 top-0 right-0",
inner: "absolute transform -translate-x-full pr-2"
}

"left" ->
%{
outer: "absolute left-0 bottom-0 right-0",
inner: "absolute transform -translate-x-full -translate-y-1/2 pr-2"
}

"left-end" ->
%{
outer: "absolute left-0 bottom-0 right-0",
inner: "absolute transform -translate-x-full -translate-y-full pr-2"
}
end
end
defp wrapper_classes("top-start"),
do: %{
outer: "absolute top-0 left-0",
inner: "transform -translate-y-full pb-2"
}

defp wrapper_classes("top"),
do: %{
outer: "absolute left-0 top-0 right-0 flex flex-col items-center",
inner: "transform -translate-y-full pb-2"
}

defp wrapper_classes("top-end"),
do: %{
outer: "absolute top-0 right-0",
inner: "transform -translate-y-full pb-2"
}

defp wrapper_classes("right-start"),
do: %{
outer: "absolute left-0 top-0 right-0",
inner: "transform translate-x-full pl-2"
}

defp wrapper_classes("right"),
do: %{
outer: "absolute left-0 top-0 right-0",
inner: "transform translate-x-full -translate-y-1/2 pl-2"
}

defp wrapper_classes("right-end"),
do: %{
outer: "absolute left-0 bottom-0 right-0",
inner: "transform translate-x-full pl-2"
}

defp wrapper_classes("bottom-start"),
do: %{
outer: "absolute left-0 bottom-0",
inner: "transform translate-y-full pt-2"
}

defp wrapper_classes("bottom"),
do: %{
outer: "absolute left-0 bottom-0 right-0 flex flex-col items-center",
inner: "transform translate-y-full pt-2"
}

defp wrapper_classes("bottom-end"),
do: %{
outer: "absolute right-0 bottom-0",
inner: "transform translate-y-full pt-2"
}

defp wrapper_classes("left-start"),
do: %{
outer: "absolute left-0 top-0 right-0",
inner: "absolute transform -translate-x-full pr-2"
}

defp wrapper_classes("left"),
do: %{
outer: "absolute left-0 bottom-0 right-0",
inner: "absolute transform -translate-x-full -translate-y-1/2 pr-2"
}

defp wrapper_classes("left-end"),
do: %{
outer: "absolute left-0 bottom-0 right-0",
inner: "absolute transform -translate-x-full -translate-y-full pr-2"
}
end
2 changes: 1 addition & 1 deletion lib/moon/components/toast_stack.ex
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ defmodule Moon.Components.ToastStack do
"""
end

def show(%Message{} = toast, id) do
def show(toast, id = %Message{}) do
send_update(__MODULE__, id: id, toast: %{toast | id: generate_id()})
end

Expand Down
14 changes: 9 additions & 5 deletions lib/moon/helpers/styled.ex
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@ defmodule Moon.Helpers.Styled do

cond do
String.contains?(x, "color") && y ->
if String.starts_with?(y, "#") do
"#{x}: #{y}"
else
"#{x}: var(--color--#{y})"
end
get_style_with_color(x, y)

x == "is-bold" && y ->
"font-weight: var(--font-face--semibold--font-weight)"
Expand All @@ -41,4 +37,12 @@ defmodule Moon.Helpers.Styled do
|> Enum.filter(fn x -> x end)
|> Enum.join(";")
end

defp get_style_with_color(x, y) do
if String.starts_with?(y, "#") do
"#{x}: #{y}"
else
"#{x}: var(--color--#{y})"
end
end
end
4 changes: 2 additions & 2 deletions lib/moon_web/mock_db/affiliates.ex
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ defmodule MoonWeb.MockDB.Affiliates do
end

def list(
%{
args = %{
filter: %{user: _},
pagination: %{offset: _, limit: _},
sort: _
} = args
}
) do
this_process() |> GenServer.call({:list, args})
end
Expand Down
4 changes: 2 additions & 2 deletions lib/moon_web/mock_db/transactions.ex
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ defmodule MoonWeb.MockDB.Transactions do
end

def list(
%{
args = %{
filter: %{user: _, site: _, currency: _},
pagination: %{offset: _, limit: _}
} = args
}
) do
this_process() |> GenServer.call({:list, args})
end
Expand Down
20 changes: 11 additions & 9 deletions lib/moon_web/mock_db/users.ex
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,7 @@ defmodule MoonWeb.MockDB.Users do

results =
state.all
|> Enum.sort(fn a, b ->
case sort do
%{id: :asc} -> a.id < b.id
%{id: :desc} -> a.id >= b.id
%{username: :asc} -> a.username < b.username
%{username: :desc} -> a.username >= b.username
_ -> true
end
end)
|> Enum.sort(fn a, b -> sort_users(a, b, sort) end)
|> Enum.filter(fn user ->
(Enum.empty?(id) or Enum.member?(id, user.id)) and
(Enum.empty?(site) or Enum.member?(site, user.site)) and
Expand All @@ -91,6 +83,16 @@ defmodule MoonWeb.MockDB.Users do
{:reply, results, state}
end

defp sort_users(a, b, sort) do
case sort do
%{id: :asc} -> a.id < b.id
%{id: :desc} -> a.id >= b.id
%{username: :asc} -> a.username < b.username
%{username: :desc} -> a.username >= b.username
_ -> true
end
end

# helpers
defp this_process do
Process.whereis(@process_name)
Expand Down
Loading

0 comments on commit 83567dc

Please sign in to comment.