Skip to content

Commit

Permalink
Fix #677 [deploy-site]
Browse files Browse the repository at this point in the history
  • Loading branch information
bencroker committed Feb 19, 2025
1 parent 03d36e8 commit a9c8e6e
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 40 deletions.
13 changes: 1 addition & 12 deletions site/routes_home.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,6 @@ func setupHome(router chi.Router, signals sessions.Store, ns *embeddednats.Serve
router.Route("/api", func(apiRouter chi.Router) {

apiRouter.Get("/search", func(w http.ResponseWriter, r *http.Request) {
fromHeaderValue := r.Header.Get(SearchFromHeaderKey)
isFromHeader := false
if fromHeaderValue == "true" {
isFromHeader = true
}

signals := &SiteSearchSignals{}

if err := datastar.ReadSignals(r, signals); err != nil {
Expand Down Expand Up @@ -203,12 +197,7 @@ func setupHome(router chi.Router, signals sessions.Store, ns *embeddednats.Serve
signals.SearchFetching = false
signals.OpenSearchResults = true

if isFromHeader {
datastar.NewSSE(w, r).MergeFragmentTempl(HeaderSiteSearch(signals, results))
} else {
datastar.NewSSE(w, r).MergeFragmentTempl(DrawerSiteSearch(signals, results))
}

datastar.NewSSE(w, r).MergeFragmentTempl(SiteSearchResults(signals, results))
})
apiRouter.Route("/todos", func(todosRouter chi.Router) {
todosRouter.Get("/", func(w http.ResponseWriter, r *http.Request) {
Expand Down
61 changes: 33 additions & 28 deletions site/shared.templ
Original file line number Diff line number Diff line change
Expand Up @@ -152,36 +152,42 @@ templ SiteSearch(signals *SiteSearchSignals, searchResults []SearchResult, fromH
@sseIndicator("searchFetching")
</div>
</div>
<ul
class={
"search-results",
"w-[90vw]",
"lg:w-full",
"relative",
"lg:absolute",
templ.KV("lg:-left-full", len(searchResults) > 0)
}
data-on-click__outside="$openSearchResults ? $openSearchResults = false : null"
data-on-keydown__window="evt.key == 'Escape' && $openSearchResults ? $openSearchResults = false : null"
data-show="$openSearchResults">
if len(searchResults) > 0 {
for _, result := range searchResults {
<li>
<a href={templ.SafeURL(result.ID)}>
<h3 class="border-b-1">{result.Title}</h3>
<div class="text-sm">
@templ.Raw(result.Fragment)
</div>
</a>
</li>
}
} else {
<p>No results found.</p>
}
</ul>
@SiteSearchResults(signals, searchResults)
</div>
}

templ SiteSearchResults(signals *SiteSearchSignals, searchResults []SearchResult) {
<ul
id="site_search_results"
class={
"search-results",
"w-[90vw]",
"lg:w-full",
"relative",
"lg:absolute",
templ.KV("lg:-left-full", len(searchResults) > 0)
}
data-signals={templ.JSONString(signals)}
data-on-click__outside="$openSearchResults ? $openSearchResults = false : null"
data-on-keydown__window="evt.key == 'Escape' && $openSearchResults ? $openSearchResults = false : null"
data-show="$openSearchResults">
if len(searchResults) > 0 {
for _, result := range searchResults {
<li>
<a href={templ.SafeURL(result.ID)}>
<h3 class="border-b-1">{result.Title}</h3>
<div class="text-sm">
@templ.Raw(result.Fragment)
</div>
</a>
</li>
}
} else {
<p>No results found.</p>
}
</ul>
}

templ HeaderSiteSearch(signals *SiteSearchSignals, searchResults []SearchResult) {
<div id="header_site_search" class="hidden lg:flex lg:gap-4 relative z-10">
@SiteSearch(&SiteSearchSignals{
Expand All @@ -202,7 +208,6 @@ templ DrawerSiteSearch(signals *SiteSearchSignals, searchResults []SearchResult)
</div>
}


templ header(r *http.Request) {
<div class="navbar bg-base-200">
<div class="flex justify-between w-full gap-4">
Expand Down

0 comments on commit a9c8e6e

Please sign in to comment.