Improved annimations
This commit is contained in:
parent
6d1a924d53
commit
6099b72570
@ -26,6 +26,7 @@ func main() {
|
||||
r := mux.NewRouter()
|
||||
r.HandleFunc("/", h.Home).Methods(http.MethodGet)
|
||||
r.HandleFunc("/movies/{search}", h.Search).Methods(http.MethodGet)
|
||||
r.HandleFunc("/movies/category/{category}", h.Category).Methods(http.MethodGet)
|
||||
r.HandleFunc("/movie/{id}", h.Movie).Methods(http.MethodGet)
|
||||
r.HandleFunc("/torrent/{id}", h.Torrents).Methods(http.MethodGet)
|
||||
r.HandleFunc("/watch/{movie}", h.Serve).Methods(http.MethodGet)
|
||||
|
@ -138,22 +138,58 @@ func (h *Handler) Movie(w http.ResponseWriter, r *http.Request) {
|
||||
t.Execute(w, md)
|
||||
}
|
||||
|
||||
func (h *Handler) Category(w http.ResponseWriter, r *http.Request) {
|
||||
category := mux.Vars(r)["category"]
|
||||
res, err := h.yts.List(&ytsclient.ListParams{Genre: ytsclient.Genre(category), Limit: 50, Page: 1})
|
||||
if err != nil {
|
||||
sendError(w, err)
|
||||
}
|
||||
mm := map[string]Movie{}
|
||||
for _, m := range res {
|
||||
mm[m.Title] = Movie{
|
||||
Link: fmt.Sprintf("/movie/%d", m.ID),
|
||||
Cover: m.MediumCoverImage,
|
||||
}
|
||||
}
|
||||
d := struct {
|
||||
Category string
|
||||
Movies map[string]Movie
|
||||
}{
|
||||
Category: category,
|
||||
Movies: mm,
|
||||
}
|
||||
t := templates.ListTemplate()
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
w.WriteHeader(200)
|
||||
t.Execute(w, d)
|
||||
}
|
||||
|
||||
func (h *Handler) Search(writer http.ResponseWriter, request *http.Request) {
|
||||
vars := mux.Vars(request)
|
||||
s := vars["search"]
|
||||
ms, err := h.yts.Search(s, &ytsclient.ListParams{Quality: ytsclient.Quality1080p})
|
||||
res, err := h.yts.Search(s, &ytsclient.ListParams{Quality: ytsclient.Quality1080p})
|
||||
if err != nil {
|
||||
sendError(writer, err)
|
||||
return
|
||||
}
|
||||
html := "<ul>"
|
||||
for _, m := range ms {
|
||||
html += fmt.Sprintf("<li><a href=\"/movie/%d\">%s</a></li>", m.ID, m.Title)
|
||||
mm := map[string]Movie{}
|
||||
for _, m := range res {
|
||||
mm[m.Title] = Movie{
|
||||
Link: fmt.Sprintf("/movie/%d", m.ID),
|
||||
Cover: m.MediumCoverImage,
|
||||
}
|
||||
}
|
||||
html += "</ul>"
|
||||
d := struct {
|
||||
Category string
|
||||
Movies map[string]Movie
|
||||
}{
|
||||
Category: fmt.Sprintf("Search: %s", s),
|
||||
Movies: mm,
|
||||
}
|
||||
t := templates.ListTemplate()
|
||||
writer.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
writer.WriteHeader(200)
|
||||
fmt.Fprint(writer, html)
|
||||
t.Execute(writer, d)
|
||||
}
|
||||
|
||||
func (h *Handler) Torrents(writer http.ResponseWriter, request *http.Request) {
|
||||
|
@ -122,20 +122,21 @@
|
||||
width: 130px;
|
||||
}
|
||||
.row__inner:hover {
|
||||
-webkit-transform: translate3d(-10.724999999999994px, 0, 0);
|
||||
transform: translate3d(-10.724999999999994px, 0, 0);
|
||||
/*-webkit-transform: translate3d(-10.724999999999994px, 0, 0);*/
|
||||
/*transform: translate3d(-10.724999999999994px, 0, 0);*/
|
||||
}
|
||||
.row__inner:hover .tile {
|
||||
opacity: 0.6;
|
||||
}
|
||||
.row__inner:hover .tile:hover {
|
||||
-webkit-transform: scale(1.15);
|
||||
transform: scale(1.15);
|
||||
-webkit-transform: scale(1.15) translate3d(-11px, 0, 0);
|
||||
transform: scale(1.15) translate3d(-11px, 0, 0);
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
}
|
||||
.tile:hover ~ .tile {
|
||||
-webkit-transform: translate3d(21.44999999999999px, 0, 0);
|
||||
transform: translate3d(21.44999999999999px, 0, 0);
|
||||
/*-webkit-transform: translate3d(21.44999999999999px, 0, 0);*/
|
||||
/*transform: translate3d(21.44999999999999px, 0, 0);*/
|
||||
}
|
||||
.category-title {
|
||||
margin: 0;
|
||||
|
@ -57,7 +57,6 @@
|
||||
display: inline-block;
|
||||
width: 143px;
|
||||
height: 201px;
|
||||
margin-right: 10px;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
transition: 450ms all;
|
||||
@ -126,22 +125,22 @@
|
||||
width: 130px;
|
||||
}
|
||||
.row__inner:hover {
|
||||
-webkit-transform: translate3d(-10.724999999999994px, 0, 0);
|
||||
transform: translate3d(-10.724999999999994px, 0, 0);
|
||||
/*-webkit-transform: translate3d(-10.724999999999994px, 0, 0);*/
|
||||
/*transform: translate3d(-10.724999999999994px, 0, 0);*/
|
||||
}
|
||||
.row__inner:hover .tile {
|
||||
opacity: 0.6;
|
||||
z-index: 1;
|
||||
}
|
||||
.row__inner:hover .tile:hover {
|
||||
-webkit-transform: scale(1.15);
|
||||
transform: scale(1.15);
|
||||
-webkit-transform: scale(1.15) translate3d(-11px, 0, 0);
|
||||
transform: scale(1.15) translate3d(-11px, 0, 0);
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
}
|
||||
.tile:hover ~ .tile {
|
||||
-webkit-transform: translate3d(21.44999999999999px, 0, 0);
|
||||
transform: translate3d(21.44999999999999px, 0, 0);
|
||||
/*-webkit-transform: translate3d(-21.44999999999999px, 0, 0);*/
|
||||
/*transform: translate3d(-21.44999999999999px, 0, 0);*/
|
||||
}
|
||||
.category-title {
|
||||
margin: 0;
|
||||
|
@ -11,7 +11,7 @@
|
||||
height: 70px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 2;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
a:link,
|
||||
|
@ -16,7 +16,20 @@ func HomeTemplate() *template.Template {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
t, err = t.Parse(box.String("nav.html"))
|
||||
//t, err = t.ParseFiles("./static/index.html", "./static/nav.html")
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
func ListTemplate() *template.Template {
|
||||
t := template.New("list.html")
|
||||
var err error
|
||||
t, err = t.Parse(box.String("list.html"))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
t, err = t.Parse(box.String("nav.html"))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
@ -31,7 +44,6 @@ func MovieTemplate() *template.Template {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
t, err = t.Parse(box.String("nav.html"))
|
||||
//t, err = t.ParseFiles("./static/movie.html", "./static/nav.html")
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
@ -42,7 +54,6 @@ func WatchTemplate() *template.Template {
|
||||
t := template.New(box.String("watch.html"))
|
||||
var err error
|
||||
t, err = t.Parse(box.String("watch.html"))
|
||||
//t, err = t.ParseFiles("./static/watch.html")
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user