diff options
| -rw-r--r-- | go.mod | 2 | ||||
| -rw-r--r-- | go.sum | 2 | ||||
| -rw-r--r-- | grimtube.go | 37 | ||||
| -rw-r--r-- | static/dark.css | 2 | ||||
| -rw-r--r-- | static/light.css | 1 | ||||
| -rw-r--r-- | templates/index.html | 5 | ||||
| -rw-r--r-- | templates/search.html | 21 |
7 files changed, 56 insertions, 14 deletions
@@ -2,4 +2,4 @@ module grimtube go 1.15 -require git.sr.ht/~ark/ytparser v0.0.0-20210109223427-f650ebfaf23d +require git.sr.ht/~ark/ytparser v0.0.0-20210111153803-1f7191898873 @@ -4,3 +4,5 @@ git.sr.ht/~ark/ytparser v0.0.0-20201202094202-6118566d444e h1:qvd2vpytLzgL+htVvk git.sr.ht/~ark/ytparser v0.0.0-20201202094202-6118566d444e/go.mod h1:/LVNTXoOf1dnQ85TQK3Osw8KK7POmeeqBQUoXivfIPI= git.sr.ht/~ark/ytparser v0.0.0-20210109223427-f650ebfaf23d h1:b4fisCeY0QXQcHec9NuPAzE7W8fhmi2TPtO4a3G92M0= git.sr.ht/~ark/ytparser v0.0.0-20210109223427-f650ebfaf23d/go.mod h1:/LVNTXoOf1dnQ85TQK3Osw8KK7POmeeqBQUoXivfIPI= +git.sr.ht/~ark/ytparser v0.0.0-20210111153803-1f7191898873 h1:wmoBWPmplZfjbYIlyJc69PsgTnZykUISyrLXfEaOBfo= +git.sr.ht/~ark/ytparser v0.0.0-20210111153803-1f7191898873/go.mod h1:/LVNTXoOf1dnQ85TQK3Osw8KK7POmeeqBQUoXivfIPI= diff --git a/grimtube.go b/grimtube.go index 8c27490..86c102a 100644 --- a/grimtube.go +++ b/grimtube.go @@ -41,12 +41,39 @@ func serve(w http.ResponseWriter, templatePath string, data interface{}) { } func index(w http.ResponseWriter, r *http.Request) { - data := struct { - Langs []string - }{ - getLangs(), + term := "" + page := 0 + lang := "" + order := "relevance" + items, err := ytparser.Search("", 0, "", "relevance") + if err != nil { + log.Println(err) + data := struct { + Error error + }{ + err, + } + serve(w, "templates/error.html", data) + } else { + data := struct { + Langs []string + Orders []string + Term string + Order string + Items []ytparser.Item + Page int + Lang string + }{ + getLangs(), + getOrders(), + term, + order, + items, + page, + lang, + } + serve(w, "templates/search.html", data) } - serve(w, "templates/index.html", data) } func search(w http.ResponseWriter, r *http.Request) { diff --git a/static/dark.css b/static/dark.css index aa19a5a..f204117 100644 --- a/static/dark.css +++ b/static/dark.css @@ -35,7 +35,7 @@ tr { td { padding-top: 10px; padding-bottom: 10px; - /*vertical-align: top;*/ + vertical-align: top; } form { diff --git a/static/light.css b/static/light.css index cbf3596..a057273 100644 --- a/static/light.css +++ b/static/light.css @@ -30,6 +30,7 @@ tr { td { padding-top: 10px; padding-bottom: 10px; + vertical-align: top; } form { diff --git a/templates/index.html b/templates/index.html index 434a34f..9191892 100644 --- a/templates/index.html +++ b/templates/index.html @@ -7,5 +7,10 @@ <option> {{.}}</option> {{end}} </select> + <select id="order" name="order"> + {{range .Orders}} + <option>{{.}}</option> + {{end}} + </select> </form> {{end}} diff --git a/templates/search.html b/templates/search.html index dc9318a..8cbf200 100644 --- a/templates/search.html +++ b/templates/search.html @@ -28,17 +28,24 @@ <a href="/embed?id={{.Id}}"><img width=240 src="{{.ThumbUrl}}"></a> </td> <td> - <p><a href="/embed?id={{.Id}}">{{.Title}}</a></p> - <p class="comments"><a href="{{.Url}}">Comments</a></p> - <p class="length">{{.LengthText}}</p> - <p class="published">{{.Published}}</p> + <a href="/embed?id={{.Id}}">{{.Title}}</a> + <br/> + <a href="{{.ChannelUrl}}">{{.ChannelTitle}}</a> | <a href="{{.AtomUrl}}">Atom feed</a> + <br/> + <a href="{{.Url}}">Comments</a> + <br/> + {{.ViewCount}} + <br/> + {{.Published}} </td> <td> - <p><a href="{{.ChannelUrl}}"><span>{{.ChannelTitle}}</span></a></p> + {{.LengthText}} </td> </tr> {{end}} </table> - <a href="/search?term={{.Term}}&page={{dec .Page}}&lang={{.Lang}}">Prev Page</a> | - <a href="/search?term={{.Term}}&page={{inc .Page}}&lang={{.Lang}}">Next Page</a> + {{if ge .Page 0 }} + <a href="/search?term={{.Term}}&page={{dec .Page}}&lang={{.Lang}}">Prev Page</a> | + <a href="/search?term={{.Term}}&page={{inc .Page}}&lang={{.Lang}}">Next Page</a> + {{end}} {{end}} |
