Skip to content

Commit 0a7804b

Browse files
committed
Submit types filter form to put query in URL
1 parent 935df02 commit 0a7804b

2 files changed

Lines changed: 13 additions & 9 deletions

File tree

lib/components_guide_web/controllers/research_controller.ex

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,32 +24,36 @@ defmodule ComponentsGuideWeb.ResearchController do
2424
end)
2525
end
2626

27-
def show(conn, %{"section" => "dom-types"}) do
27+
def show(conn, %{"section" => "dom-types"} = params) do
2828
url = "https://cdn.jsdelivr.net/npm/typescript@4.7.4/lib/lib.dom.d.ts"
2929
{:ok, source} = ComponentsGuide.Research.Source.text_at(url)
3030
results = process_typescript_source(source)
3131

32+
query = Map.get(params, "q", "")
33+
3234
conn
3335
|> assign(:page_title, "Search DOM Types")
34-
|> render("typescript.html", results: results)
36+
|> render("typescript.html", results: results, query: query)
3537
end
3638

37-
def show(conn, %{"section" => "css-types"}) do
39+
def show(conn, %{"section" => "css-types"} = params) do
3840
url = "https://cdn.jsdelivr.net/npm/csstype@3.1.0/index.d.ts"
3941
{:ok, source} = ComponentsGuide.Research.Source.text_at(url)
40-
IO.inspect(source)
4142
results = process_typescript_source(source)
42-
IO.inspect(results)
43+
44+
query = Map.get(params, "q", "")
4345

4446
conn
4547
|> assign(:page_title, "Search CSS Types")
46-
|> render("typescript.html", results: results)
48+
|> render("typescript.html", results: results, query: query)
4749
end
4850

49-
def show(conn, %{"section" => "react-types"}) do
51+
def show(conn, %{"section" => "react-types"} = params) do
5052
url = "https://cdn.jsdelivr.net/npm/@types/react@18.0.18/index.d.ts"
5153
{:ok, source} = ComponentsGuide.Research.Source.text_at(url)
5254

55+
query = Map.get(params, "q", "")
56+
5357
source =
5458
source
5559
|> String.replace("declare namespace React {", "", global: false)
@@ -60,7 +64,7 @@ defmodule ComponentsGuideWeb.ResearchController do
6064

6165
conn
6266
|> assign(:page_title, "Search React Types")
63-
|> render("typescript.html", results: results)
67+
|> render("typescript.html", results: results, query: query)
6468
end
6569

6670
# TODO: add Tailwind search e.g. "ml-4" or "ml-[5rem]" and see what is produced

lib/components_guide_web/templates/research/typescript.html.heex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ code[class*="language-"], pre[class*="language-"] {
2323

2424
<view-source-filter>
2525
<form role="search" id="filter-results" class="mb-8">
26-
<input name="q" type="search" placeholder="Filter types" class="text-white bg-gray-800 border-gray-700 rounded">
26+
<input name="q" type="search" value={assigns[:query]} placeholder="Filter types" class="text-white bg-gray-800 border-gray-700 rounded">
2727
</form>
2828
</view-source-filter>
2929

0 commit comments

Comments
 (0)