From 5399fc818cf821c75f9f19fd00bf7905ba7fe7e3 Mon Sep 17 00:00:00 2001 From: href Date: Fri, 3 Sep 2021 04:04:21 +0200 Subject: various fixes, web client wip, pubsub events --- lib/lsg_web/components/component.ex | 40 +++++++++++++++++++++++++++++ lib/lsg_web/components/event_component.ex | 36 ++++++++++++++++++++++++++ lib/lsg_web/components/message_component.ex | 10 ++++++++ 3 files changed, 86 insertions(+) create mode 100644 lib/lsg_web/components/component.ex create mode 100644 lib/lsg_web/components/event_component.ex create mode 100644 lib/lsg_web/components/message_component.ex (limited to 'lib/lsg_web/components') diff --git a/lib/lsg_web/components/component.ex b/lib/lsg_web/components/component.ex new file mode 100644 index 0000000..37d75e3 --- /dev/null +++ b/lib/lsg_web/components/component.ex @@ -0,0 +1,40 @@ +defmodule LSGWeb.Component do + use Phoenix.Component + + @date_time_default_format "%F %H:%M" + @date_time_formats %{"time-24-with-seconds" => "%H:%M:%S"} + def naive_date_time_utc(assigns = %{format: format}) do + assigns = assign(assigns, :format, Map.get(@date_time_formats, format, format)) + ~H""" + + """ + end + def naive_date_time_utc(assigns) do + naive_date_time_utc(assign(assigns, :format, "%F %H:%M")) + end + def get_luxon_format("%H:%M:%S"), do: "TIME_24_WITH_SECONDS" + + def nick(assigns = %{self: false}) do + ~H""" + + <%= @nick %> + + """ + end + + def nick(assigns = %{self: true}) do + ~H""" + + You + + """ + end + + +end diff --git a/lib/lsg_web/components/event_component.ex b/lib/lsg_web/components/event_component.ex new file mode 100644 index 0000000..3b9cd3b --- /dev/null +++ b/lib/lsg_web/components/event_component.ex @@ -0,0 +1,36 @@ +defmodule LSGWeb.EventComponent do + use Phoenix.Component + + def content(assigns = %{event: %{type: :quit}}) do + ~H""" + + has quit: + <%= @reason %> + """ + end + + def content(assigns = %{event: %{type: :part}}) do + ~H""" + + has left: + <%= @reason %> + """ + end + + def content(assigns = %{event: %{type: :nick}}) do + ~H""" + <%= @old_nick %> + is now known as + + """ + end + + def content(assigns = %{event: %{type: :join}}) do + ~H""" + + joined + """ + end + + +end diff --git a/lib/lsg_web/components/message_component.ex b/lib/lsg_web/components/message_component.ex new file mode 100644 index 0000000..2381411 --- /dev/null +++ b/lib/lsg_web/components/message_component.ex @@ -0,0 +1,10 @@ +defmodule LSGWeb.MessageComponent do + use Phoenix.Component + + def content(assigns) do + ~H""" +
<%= @text %>
+ """ + end + +end -- cgit v1.2.3