package event import ( zenaov1 "gno.land/p/zenao/zenao/v1" "gno.land/p/zenao/events" "gno.land/p/zenao/basedao" "gno.land/p/zenao/daokit" "gno.land/p/zenao/daocond" "gno.land/r/demo/profile" "gno.land/r/zenao/eventreg" "gno.land/r/zenao/social_feed" ) var ( DAO daokit.DAO localDAO daokit.DAO event *events.Event // XXX: needed for backward compatibility with frontend queries feedId string // XXX: workaround for "unexpected zero object id" issue ) func init() { // XXX: workaround for "unexpected zero object id" issue feedId = social_feed.NewFeed(cross, "main", false, feedAuth) } func init() { conf := events.Config{ Organizers: []string{"gno.land/r/zenao/users/u9"}, Gatekeepers: []string{}, Title: "Ciné Meetup", Description: "Le ciné meetup est un évènement mensuel de networking rassemblant les passionnés de cinéma et d'audiovisuel.\nQue vous soyez acteur, technicien, réalisateur, scénariste, producteur, venez profiter de nos soirées rencontres pour partager vos expériences, demander des conseils, vous faire de nouveaux contacts professionnels et compléter vos équipes pour de futurs projets\nQue vous soyez un professionnel chevronné ou un débutant, vous êtes tous les bienvenus aux Ciné Meetups.", ImageURI: "ipfs://bafybeidy2ewnk3a3kkelpfbusdiwnyy4g6c5ra6qi3ibvzdald6kkcle2e", StartDate: 1740592800, EndDate: 1740610800, Capacity: 30, Discoverable: true, GetProfileString: profile.GetStringField, SetProfileString: profile.SetStringField, ZenaoAdminAddr: "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm", Location: &zenaov1.EventLocation{ Address: &zenaov1.AddressCustom{ Address: "Paris - Le Bistrot des Cinéastes", Timezone: "Europe/Paris", }, }, ParticipationPubkey: "", CrossFn: crossFn, SetImplemFn: setImplem, FeedId: feedId, PrivateVarName: "event", } event = events.NewEvent(&conf) eventreg.Register(cross, func() *zenaov1.EventInfo { return event.Info() }) } func Vote(_ realm, proposalID uint64, vote daocond.Vote) { localDAO.Vote(proposalID, vote) } func Execute(_ realm, proposalID uint64) { localDAO.Execute(proposalID) } func Render(path string) string { return localDAO.Render(path) } func feedAuth() (string, bool) { caller := event.DAOPrivate.CallerID() // XXX: this should be upgradable return caller, basedao.MustGetMembersViewExtension(localDAO).IsMember(caller) } func crossFn(_ realm, cb func()) { cb() } func setImplem(newLocalDAO daokit.DAO, newDAO daokit.DAO) { localDAO, DAO = newLocalDAO, newDAO }