shithub: hell

Download patch

ref: dc12017f82c0df2d816a36c78546188976d120cf
parent: 9ab6febaf561d60c49f62f003245e80340873ffc
author: penny <penny@limitedideas.org>
date: Wed Sep 24 13:28:30 EDT 2025

working StatusLoader pagination!

--- a/pages.go
+++ b/pages.go
@@ -15,6 +15,8 @@
 type Page struct {
 	loader StatusLoader
 	index int
+	itembuffer *[]PageItem
+	
 }
 type NotificationPages struct {
 	hc *Hellclient
@@ -37,33 +39,47 @@
 	}
 	
 	fmt.Printf("%+v\n", noticeData.page)
-	notices = reverseArray(notices)
 	noticeArray := noticeData.hc.RenderNotificationsArray(notices)
-	
 	var itemArray []PageItem
 	for i, _ := range noticeArray {
 		item := PageItem{itemtext: noticeArray[i]}
 		itemArray = append(itemArray, item)
 	}
-	
+	noticeData.page.MinID = ""
 	return &itemArray
 }
 
 
 func (page *Page) String() string {
-	items := page.loader.Load(5)
 	var sb strings.Builder
-	
-	for i, _ := range *items {
-		sb.WriteString((*items)[i].itemtext)
+	if page.itembuffer == nil {
+		page.itembuffer = &[]PageItem{}
 	}
+	if len(*page.itembuffer) < (page.index + 5) {
+		*page.itembuffer = append(*page.itembuffer, *page.loader.Load(20)...)
+
+	}
+	var items []PageItem
+	if len(*page.itembuffer) >= page.index {
+		items = (*page.itembuffer)[page.index:]
+	}
+
+	if len(items) > 5 {
+		items = items[:5]
+	}
+	reverseditems := reverseArray(items)
+	for i, _ := range reverseditems {
+		sb.WriteString(reverseditems[i].itemtext)
+	}
 	return sb.String()
 }
 
 func (page *Page) Next() {
+	page.index = page.index + 5
 }
 
 func (page *Page) Prev() {
+	page.index = page.index - 5
 }
 
 func (page *Page) Current() int {
--