From 0a0286cfd6d83ff4f51a9119e45403bba125c61a Mon Sep 17 00:00:00 2001
From: Sandro Lutz <code@temparus.ch>
Date: Sun, 3 Dec 2017 03:18:40 +0100
Subject: [PATCH] Hide signup button before event signup has loaded

---
 src/models/event.js       | 5 +++++
 src/views/eventDetails.js | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/models/event.js b/src/models/event.js
index 617ebdda..53b46845 100644
--- a/src/models/event.js
+++ b/src/models/event.js
@@ -24,6 +24,10 @@ export function getCurrentSignup() {
   return this.currentSignup;
 }
 
+export function currentSignupHasLoaded() {
+  return this.currentSignupLoaded;
+}
+
 export function checkCurrentSignup() {
   const queryString = m.buildQueryString({
     where: JSON.stringify({
@@ -40,6 +44,7 @@ export function checkCurrentSignup() {
     } : {},
   }).then((result) => {
     [this.currentSignup] = result._items;
+    this.currentSignupLoaded = true;
     log(this.currentSignup);
   });
 }
diff --git a/src/views/eventDetails.js b/src/views/eventDetails.js
index da6967dc..4bb546f7 100644
--- a/src/views/eventDetails.js
+++ b/src/views/eventDetails.js
@@ -17,7 +17,7 @@ class EventSignupForm {
       return m('div');
     }
     if (isLoggedIn()) {
-      if (typeof events.getCurrentSignup() === 'undefined') {
+      if (events.currentSignupHasLoaded() && typeof events.getCurrentSignup() === 'undefined') {
         return m('button', { onclick() { events.signupCurrent(); } }, 'signup');
       }
     } else if (events.getCurrent().allow_email_signup) {
-- 
GitLab