diff --git a/core/lib/canary_web/live/dev/keywords_live.ex b/core/lib/canary_web/live/dev/keywords_live.ex index 1da42ed2..ed74183f 100644 --- a/core/lib/canary_web/live/dev/keywords_live.ex +++ b/core/lib/canary_web/live/dev/keywords_live.ex @@ -2,6 +2,8 @@ defmodule CanaryWeb.Dev.KeywordsLive do use CanaryWeb, :live_view alias PrimerLive.Component, as: Primer + require Ash.Query + @impl true def render(assigns) do ~H""" @@ -9,9 +11,22 @@ defmodule CanaryWeb.Dev.KeywordsLive do
- + + <:header> - <%= length(@current_source.overview.keywords) %> Keywords +
+ <%= length(@current_source.overview.keywords) %> Keywords + + + + +
<:row :for={word <- @current_source.overview.keywords}> <%= word %> @@ -23,15 +38,18 @@ defmodule CanaryWeb.Dev.KeywordsLive do @impl true def mount(_params, _session, socket) do - sources = Canary.Sources.Source |> Ash.read!() + sources = + Canary.Sources.Source + |> Ash.Query.filter(not is_nil(overview)) + |> Ash.read!() + source_names = sources |> Enum.map(& &1.name) - current_source = sources |> Enum.at(0) socket = socket |> assign(sources: sources) |> assign(source_names: source_names) - |> assign(current_source: current_source) + |> assign(current_source: nil) {:ok, socket} end @@ -48,4 +66,9 @@ defmodule CanaryWeb.Dev.KeywordsLive do {:noreply, socket} end + + defp keywords_for_copy(keywords) do + rendered = keywords |> Enum.map(&"\"#{&1}\"") |> Enum.join(",") + "[#{rendered}]" + end end