From c51fb8cc8b850b4915e083d0dd2c30d79f8b632e Mon Sep 17 00:00:00 2001 From: Gabriel Arakaki Giovanini Date: Sun, 13 Aug 2023 21:36:42 +0200 Subject: feat: Add (yet again) crude album implementation This is a initial UI album implementation. This should cover the most basic album navigation. This is still plenty to do :) --- pkg/view/media.go | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'pkg/view/media.go') diff --git a/pkg/view/media.go b/pkg/view/media.go index c7d84ec..3124119 100644 --- a/pkg/view/media.go +++ b/pkg/view/media.go @@ -17,12 +17,14 @@ type ( } ) -func getPagination(w http.ResponseWriter, r *http.Request) *repository.Pagination { +func getPagination(r *http.Request) *repository.Pagination { var ( - size int - page int - sizeStr = r.FormValue("size") - pageStr = r.FormValue("page") + size int + page int + albumID *uint + sizeStr = r.FormValue("size") + pageStr = r.FormValue("page") + albumIDStr = r.FormValue("albumId") ) if sizeStr == "" { @@ -41,9 +43,17 @@ func getPagination(w http.ResponseWriter, r *http.Request) *repository.Paginatio page = p } + if albumIDStr == "" { + page = 0 + } else if p, err := strconv.Atoi(albumIDStr); err == nil { + id := uint(p) + albumID = &id + } + return &repository.Pagination{ - Page: page, - Size: size, + Page: page, + Size: size, + AlbumID: albumID, } } @@ -60,7 +70,7 @@ func NewMediaView( } func (self *MediaView) Index(w http.ResponseWriter, r *http.Request) error { - p := getPagination(w, r) + p := getPagination(r) token := ext.GetTokenFromCtx(w, r) userPath, err := self.userRepository.GetPathFromUserID(r.Context(), token.UserID) -- cgit v1.2.3