github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/libkb/homestate.go (about)

     1  package libkb
     2  
     3  import (
     4  	"github.com/keybase/client/go/protocol/keybase1"
     5  )
     6  
     7  type HomeTodoMap map[keybase1.HomeScreenTodoType]int
     8  type HomeItemMap map[keybase1.HomeScreenItemType]HomeTodoMap
     9  
    10  type HomeStateBody struct {
    11  	Version              int           `json:"version"`
    12  	BadgeCountMap        HomeItemMap   `json:"badge_count_map"`
    13  	LastViewedTime       keybase1.Time `json:"last_viewed_time"`
    14  	AnnouncementsVersion int           `json:"announcements_version"`
    15  }
    16  
    17  func (a *HomeStateBody) LessThan(b HomeStateBody) bool {
    18  	if a == nil {
    19  		return true
    20  	}
    21  	if a.Version < b.Version {
    22  		return true
    23  	}
    24  	if a.Version == b.Version && a.LastViewedTime < b.LastViewedTime {
    25  		return true
    26  	}
    27  	if a.AnnouncementsVersion < b.AnnouncementsVersion {
    28  		return true
    29  	}
    30  	return false
    31  }