1package event
2
3import (
4 "gno.land/p/zenao/basedao"
5 "gno.land/p/zenao/daocond"
6 "gno.land/p/zenao/daokit"
7 "gno.land/p/zenao/events"
8 zenaov1 "gno.land/p/zenao/zenao/v1"
9 "gno.land/r/demo/profile"
10 "gno.land/r/zenao/eventreg"
11 "gno.land/r/zenao/social_feed"
12)
13
14var (
15 DAO daokit.DAO
16 daoPrivate *basedao.DAOPrivate
17 event *events.Event
18)
19
20func init() {
21 conf := events.Config{
22 Organizers: []string{"g1mvfv0chg625pacmq8f3pwxz4clvnrcg9avwkr2"},
23 Gatekeepers: []string{},
24 Title: "Release",
25 Description: "I'M JUST A LOST GUY – REVEAL PROJECTION FEBRUARY 25, 2025\n\nIs this the life you once imagined?\nDid you choose this path, or did it choose you?\nSometimes, getting lost is the only way to figure things out.\n\nOn February 25, 2025, take a step back and see where the journey leads.\n\n#ImJustALostGuy #ShortFilm #FindingTheWay",
26 ImageURI: "ipfs://bafybeidpd3ydnbxidme65pcyeqnlnjswbh3rgzszifwqik5vnp3j67sl24",
27 StartDate: 1740506400,
28 EndDate: 1740520800,
29 Capacity: 150,
30 GetProfileString: profile.GetStringField,
31 SetProfileString: profile.SetStringField,
32 ZenaoAdminAddr: "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
33 Location: &zenaov1.EventLocation{
34 Address: &zenaov1.AddressCustom{
35 Address: "1 Bd Poissonnière, 75002 Paris",
36 Timezone: "Europe/Paris",
37 },
38 },
39 ParticipationPubkey: "",
40 }
41 event = events.NewEvent(&conf)
42 daoPrivate = event.DAOPrivate
43 DAO = event.DAO
44 eventreg.Register(func() *zenaov1.EventInfo { return event.Info() })
45 social_feed.NewFeed("main", false, IsMember)
46}
47
48// Set public to be used as auth layer for external entities (e.g polls)
49func IsMember(memberId string) bool {
50 return daoPrivate.Members.IsMember(memberId)
51}
52
53func Vote(proposalID uint64, vote daocond.Vote) {
54 DAO.Vote(proposalID, vote)
55}
56
57func Execute(proposalID uint64) {
58 DAO.Execute(proposalID)
59}
60
61func Render(path string) string {
62 return event.Render(path)
63}
event.gno
1.92 Kb · 63 lines