github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/r/demo/memeland/memeland.gno (about)

     1  package memeland
     2  
     3  import (
     4  	"std"
     5  	"time"
     6  
     7  	"gno.land/p/demo/memeland"
     8  )
     9  
    10  var m *memeland.Memeland
    11  
    12  func init() {
    13  	m = memeland.NewMemeland()
    14  	m.TransferOwnership("g125em6arxsnj49vx35f0n0z34putv5ty3376fg5")
    15  }
    16  
    17  func PostMeme(data string, timestamp int64) string {
    18  	return m.PostMeme(data, timestamp)
    19  }
    20  
    21  func Upvote(id string) string {
    22  	return m.Upvote(id)
    23  }
    24  
    25  func GetPostsInRange(startTimestamp, endTimestamp int64, page, pageSize int, sortBy string) string {
    26  	return m.GetPostsInRange(startTimestamp, endTimestamp, page, pageSize, sortBy)
    27  }
    28  
    29  func RemovePost(id string) string {
    30  	return m.RemovePost(id)
    31  }
    32  
    33  func GetOwner() std.Address {
    34  	return m.Owner()
    35  }
    36  
    37  func TransferOwnership(newOwner std.Address) {
    38  	if err := m.TransferOwnership(newOwner); err != nil {
    39  		panic(err)
    40  	}
    41  }
    42  
    43  func Render(path string) string {
    44  	numOfMemes := int(m.MemeCounter)
    45  	if numOfMemes == 0 {
    46  		return "No memes posted yet! :/"
    47  	}
    48  
    49  	// Default render is get Posts since year 2000 to now
    50  	return m.GetPostsInRange(0, time.Now().Unix(), 1, 10, "DATE_CREATED")
    51  }