diff --git a/handlers.go b/handlers.go index 9b28831..0920714 100644 --- a/handlers.go +++ b/handlers.go @@ -255,6 +255,20 @@ func videosHandler(c echo.Context) error { return c.Render(http.StatusOK, "videos.html", map[string]interface{}{"videos": videos}) } +func videoHandler(c echo.Context) error { + id, _ := strconv.Atoi(c.Param("id")) + var video Video + if err := db.First(&video, id).Error; err != nil { + return c.Redirect(http.StatusSeeOther, "/videos") + } + + return c.Render(http.StatusOK, "video.html", + map[string]interface{}{ + "video": video, + "downloadDir": getDownloadDir(), + }) +} + func videoCancelHandler(c echo.Context) error { id, _ := strconv.Atoi(c.Param("id")) var video Video diff --git a/main.go b/main.go index 4548d73..0cad359 100644 --- a/main.go +++ b/main.go @@ -90,6 +90,7 @@ func main() { e.GET("/download", downloadHandler, authMiddleware) e.POST("/download", downloadPostHandler, authMiddleware) e.GET("/videos", videosHandler, authMiddleware) + e.GET("/video/:id", videoHandler, authMiddleware) e.POST("/video/:id/cancel", videoCancelHandler, authMiddleware) e.POST("/video/:id/restart", videoRestartHandler, authMiddleware) e.POST("/video/:id/delete", videoDeleteHandler, authMiddleware) @@ -97,7 +98,6 @@ func main() { staticGroup := e.Group("/downloads") staticGroup.Use(authMiddleware) staticGroup.Static("/", getDownloadDir()) - // e.Static("/downloads", getDownloadDir()) store.Options = &sessions.Options{ diff --git a/templates/video.html b/templates/video.html new file mode 100644 index 0000000..96e80cd --- /dev/null +++ b/templates/video.html @@ -0,0 +1,21 @@ + + + +
+