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