Signed-off-by: brookjeynes me@brookjeynes.dev
+7
-6
internal/server/views/partials/comment-feed.templ
+7
-6
internal/server/views/partials/comment-feed.templ
···
17
})
18
}
19
if params.NextPage > 0 {
20
-
<div
21
id="next-feed-segment"
22
hx-get={ templ.SafeURL(fmt.Sprintf("/%s/session/%s/feed?page=%d", params.StudySessionDid, params.StudySessionRkey, params.NextPage)) }
23
-
hx-trigger="revealed"
24
hx-swap="outerHTML"
25
>
26
-
<div class="flex justify-center py-4">
27
-
<i data-lucide="loader-circle" class="w-6 h-6 animate-spin text-text-muted"></i>
28
-
</div>
29
-
</div>
30
}
31
}
···
17
})
18
}
19
if params.NextPage > 0 {
20
+
<button
21
+
type="button"
22
id="next-feed-segment"
23
hx-get={ templ.SafeURL(fmt.Sprintf("/%s/session/%s/feed?page=%d", params.StudySessionDid, params.StudySessionRkey, params.NextPage)) }
24
hx-swap="outerHTML"
25
+
hx-disabled-elt="this"
26
+
class="btn btn-primary w-fit group self-center"
27
>
28
+
Load more
29
+
<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
30
+
</button>
31
}
32
}
+7
-6
internal/server/views/partials/friends-feed.templ
+7
-6
internal/server/views/partials/friends-feed.templ
···
12
})
13
}
14
if params.NextPage > 0 {
15
-
<div
16
id="next-friends-segment"
17
hx-get={ fmt.Sprintf("/friends/feed?mode=%spage=%d", params.FeedMode, params.NextPage) }
18
-
hx-trigger="revealed"
19
hx-swap="outerHTML"
20
>
21
-
<div class="flex justify-center py-4">
22
-
<i data-lucide="loader-circle" class="w-6 h-6 animate-spin text-text-muted"></i>
23
-
</div>
24
-
</div>
25
}
26
</div>
27
if len(params.Feed) == 0 {
···
12
})
13
}
14
if params.NextPage > 0 {
15
+
<button
16
+
type="button"
17
id="next-friends-segment"
18
hx-get={ fmt.Sprintf("/friends/feed?mode=%spage=%d", params.FeedMode, params.NextPage) }
19
hx-swap="outerHTML"
20
+
hx-disabled-elt="this"
21
+
class="btn btn-primary w-fit group self-center"
22
>
23
+
Load more
24
+
<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
25
+
</button>
26
}
27
</div>
28
if len(params.Feed) == 0 {
+7
-6
internal/server/views/partials/notification-feed.templ
+7
-6
internal/server/views/partials/notification-feed.templ
···
11
})
12
}
13
if params.NextPage > 0 {
14
-
<div
15
id="next-notification-segment"
16
hx-get={ templ.SafeURL(fmt.Sprintf("/notification/feed?page=%d", params.NextPage)) }
17
-
hx-trigger="revealed"
18
hx-swap="outerHTML"
19
>
20
-
<div class="flex justify-center py-4">
21
-
<i data-lucide="loader-circle" class="w-6 h-6 animate-spin text-text-muted"></i>
22
-
</div>
23
-
</div>
24
}
25
</div>
26
if len(params.Feed) == 0 {
···
11
})
12
}
13
if params.NextPage > 0 {
14
+
<button
15
+
type="button"
16
id="next-notification-segment"
17
hx-get={ templ.SafeURL(fmt.Sprintf("/notification/feed?page=%d", params.NextPage)) }
18
hx-swap="outerHTML"
19
+
hx-disabled-elt="this"
20
+
class="btn btn-primary w-fit group self-center"
21
>
22
+
Load more
23
+
<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
24
+
</button>
25
}
26
</div>
27
if len(params.Feed) == 0 {
+7
-6
internal/server/views/partials/profile-feed.templ
+7
-6
internal/server/views/partials/profile-feed.templ
···
13
})
14
}
15
if params.NextPage > 0 {
16
-
<div
17
id="next-profile-segment"
18
hx-get={ templ.SafeURL(fmt.Sprintf("/%s/feed?page=%d", params.Profile.Did, params.NextPage)) }
19
-
hx-trigger="revealed"
20
hx-swap="outerHTML"
21
>
22
-
<div class="flex justify-center py-4">
23
-
<i data-lucide="loader-circle" class="w-6 h-6 animate-spin text-text-muted"></i>
24
-
</div>
25
-
</div>
26
}
27
</div>
28
if len(params.Feed) == 0 {
···
13
})
14
}
15
if params.NextPage > 0 {
16
+
<button
17
+
type="button"
18
id="next-profile-segment"
19
hx-get={ templ.SafeURL(fmt.Sprintf("/%s/feed?page=%d", params.Profile.Did, params.NextPage)) }
20
hx-swap="outerHTML"
21
+
hx-disabled-elt="this"
22
+
class="btn btn-primary w-fit group self-center"
23
>
24
+
Load more
25
+
<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
26
+
</button>
27
}
28
</div>
29
if len(params.Feed) == 0 {
+7
-6
internal/server/views/partials/study-session-feed.templ
+7
-6
internal/server/views/partials/study-session-feed.templ
···
19
})
20
}
21
if params.NextPage > 0 {
22
-
<div
23
id="next-feed-segment"
24
hx-get={ templ.SafeURL(fmt.Sprintf("/feed?friends=%v&page=%d", params.IsFriendsFeed, params.NextPage)) }
25
-
hx-trigger="revealed"
26
hx-swap="outerHTML"
27
>
28
-
<div class="flex justify-center py-4">
29
-
<i data-lucide="loader-circle" class="w-6 h-6 animate-spin text-text-muted"></i>
30
-
</div>
31
-
</div>
32
}
33
</div>
34
if len(params.Feed) == 0 {
···
19
})
20
}
21
if params.NextPage > 0 {
22
+
<button
23
+
type="button"
24
id="next-feed-segment"
25
hx-get={ templ.SafeURL(fmt.Sprintf("/feed?friends=%v&page=%d", params.IsFriendsFeed, params.NextPage)) }
26
hx-swap="outerHTML"
27
+
hx-disabled-elt="this"
28
+
class="btn btn-primary w-fit group self-center"
29
>
30
+
Load more
31
+
<i class="w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" data-lucide="loader-circle"></i>
32
+
</button>
33
}
34
</div>
35
if len(params.Feed) == 0 {
History
1 round
0 comments
brookjeynes.dev
submitted
#0
1 commit
expand
collapse
feat(views/partials): replace infinite scroll with "Load more" buttons
Signed-off-by: brookjeynes <me@brookjeynes.dev>
expand 0 comments
pull request successfully merged