lyrics

lyrics
git clone git://brookjeynes.dev/bjeynes/lyrics.git
Log | Files | Refs

search.templ (979B)


      1 package search
      2 
      3 import (
      4 	"fmt"
      5 	"lyrics/internal/server/ui/layouts/base"
      6 	"lyrics/internal/server/ui/partials/table"
      7 )
      8 
      9 templ Search(params SearchParams) {
     10 	{{
     11 		var headers []string
     12 		switch params.SearchType {
     13 		case "song":
     14 			headers = append(headers, []string{"title", "latin title", "artist", "release"}...)
     15 		case "release":
     16 			headers = append(headers, []string{"title", "latin title", "artist", "type", "tracks"}...)
     17 		case "artist":
     18 			headers = append(headers, []string{"name", "latin title"}...)
     19 		}
     20 	}}
     21 	@base.Base(base.BaseParams{Title: "search"}) {
     22 		<div class="table-wrapper">
     23 			@table.Table(table.TableParams{
     24 				Headers:     headers,
     25 				TotalPages:  0,
     26 				CurrentPage: params.Page,
     27 			}) {
     28 				<tbody
     29 					hx-get={ fmt.Sprintf("/%s/search?format=table&query=%s&limit=%d&page=%d", params.SearchType, params.Query, params.Limit, params.Page) }
     30 					hx-trigger="load"
     31 					hx-target=".table-wrapper"
     32 					hx-swap="outerHTML"
     33 				></tbody>
     34 			}
     35 		</div>
     36 	}
     37 }