diff --git a/appview/pages/templates/search/search.html b/appview/pages/templates/search/search.html new file mode 100644 index 00000000..6ba9d248 --- /dev/null +++ b/appview/pages/templates/search/search.html @@ -0,0 +1,176 @@ +{{ define "title" }}Search{{ end }} + +{{ define "content" }} +

Search

+ +
+
+ {{ template "searchBar" . }} + {{ template "searchResults" . }} +
+ + +
+{{ end }} + +{{ define "searchBar" }} +
+
+ + +
+
+ {{ template "sortOptionsList" . }} +
+
+ +
+
+ {{ template "languageFilters" . }} +
+
+{{ end }} + +{{ define "searchResults" }} +
+ {{ range .Repos }} +
+ {{ template "user/fragments/repoCard" (list $ . true) }} +
+ {{ else }} +
+ No repos found. +
+ {{ end }} +
+ +
+ {{ template "searchStatistics" . }} +
+ + {{if gt .ResultCount .Page.Limit }} + {{ template "fragments/pagination" (dict + "Page" .Page + "TotalCount" .ResultCount + "BasePath" "search" + "QueryParams" (queryParams "q" .FilterQuery "sort" .SortParam) + ) }} + {{ end }} +{{ end }} + +{{ define "searchOptionsPanel" }} +
+
+

+ Sort by +

+ {{ template "sortOptionsList" . }} +
+ +
+

+ Languages +

+ {{ template "languageFilters" . }} +
+ + {{ template "searchStatistics" . }} +
+{{ end }} + +{{ define "sortOptionsList" }} + {{ $currentQuery := .FilterQuery }} + +{{ end }} + +{{ define "languageFilters" }} + {{ $commonLanguages := list "Go" "JavaScript" "TypeScript" "Python" "Rust" "OCaml" "Haskell" "C" "C++" "Ruby" "Swift" }} + +
+ {{ range $commonLanguages }} + {{ $lang := . }} + {{ template "languageFilterChip" (dict "Language" $lang "CurrentQuery" $.FilterQuery) }} + {{ end }} +
+ + +{{ end }} + +{{ define "languageFilterChip" }} + {{ $lang := .Language }} + {{ $currentQuery := .CurrentQuery }} + {{ $langColor := langColor $lang }} + {{ $newQuery := queryParams "q" (printf "language:%s %s" $lang $currentQuery) }} + + + {{ template "repo/fragments/colorBall" (dict "color" $langColor) }} + {{ $lang }} + +{{ end }} + +{{ define "searchStatistics" }} + {{ if gt .ResultCount 0 }} +
+ Returned {{ .ResultCount }} of {{ .DocCount }} repos in {{ .TimeTaken }} +
+ {{ end }} +{{ end }} + +