diff --git a/src/main/java/net/javahippie/fitpub/controller/ActivitiesViewController.java b/src/main/java/net/javahippie/fitpub/controller/ActivitiesViewController.java index 359f652..78c4ff7 100644 --- a/src/main/java/net/javahippie/fitpub/controller/ActivitiesViewController.java +++ b/src/main/java/net/javahippie/fitpub/controller/ActivitiesViewController.java @@ -1,9 +1,11 @@ package net.javahippie.fitpub.controller; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; /** * Controller for serving activity-related HTML pages @@ -32,8 +34,11 @@ public class ActivitiesViewController { * Show activity detail page */ @GetMapping("/{id}") - public String viewActivity(@PathVariable String id) { + public String viewActivity(@PathVariable String id, @RequestParam String page, Model model) { // The activity data will be loaded via JavaScript API calls + if (page != null) { + model.addAttribute("page", page); + } return "activities/detail"; } diff --git a/src/main/resources/templates/activities/detail.html b/src/main/resources/templates/activities/detail.html index a85d14c..71ae4c8 100644 --- a/src/main/resources/templates/activities/detail.html +++ b/src/main/resources/templates/activities/detail.html @@ -394,7 +394,7 @@
- + Back to Activities
diff --git a/src/main/resources/templates/activities/list.html b/src/main/resources/templates/activities/list.html index fd22b60..d0f2b06 100644 --- a/src/main/resources/templates/activities/list.html +++ b/src/main/resources/templates/activities/list.html @@ -126,7 +126,7 @@ loadingIndicator.classList.add('d-none'); if (data.content && data.content.length > 0) { - renderActivities(data.content); + renderActivities(data.content, data.number + 1); renderPagination(data); activitiesList.classList.remove('d-none'); pagination.classList.remove('d-none'); @@ -147,14 +147,14 @@ } } - function renderActivities(activities) { + function renderActivities(activities, currentPage) { activitiesList.innerHTML = activities.map(activity => `
- ${renderTitleLinkWithHashtags(activity.title, `/activities/${activity.id}`)} + ${renderTitleLinkWithHashtags(activity.title, `/activities/${activity.id}?page=${currentPage}`)}

@@ -195,10 +195,10 @@