diff --git a/src/lichess/tournament.ts b/src/lichess/tournament.ts
index 05551db93..18d0dea76 100644
--- a/src/lichess/tournament.ts
+++ b/src/lichess/tournament.ts
@@ -5,5 +5,5 @@ export function isIn(data: Tournament): boolean {
}
export function previouslyJoined(data: Tournament): boolean {
- return data.me != null
+ return !!data.me
}
diff --git a/src/ui/tournament/detail/joinForm.tsx b/src/ui/tournament/detail/joinForm.tsx
index 1c7d113ce..61252a856 100644
--- a/src/ui/tournament/detail/joinForm.tsx
+++ b/src/ui/tournament/detail/joinForm.tsx
@@ -5,6 +5,7 @@ import router from '../../../router'
import TournamentCtrl from './TournamentCtrl'
import formWidgets from '../../shared/form'
import settings from '../../../settings'
+import * as helper from '../../helper'
let isOpen = false
let tournamentCtrl: TournamentCtrl
@@ -52,7 +53,7 @@ function renderForm() {
diff --git a/src/ui/tournament/detail/tournamentView.tsx b/src/ui/tournament/detail/tournamentView.tsx
index 8f0dc3559..c0f74cc20 100644
--- a/src/ui/tournament/detail/tournamentView.tsx
+++ b/src/ui/tournament/detail/tournamentView.tsx
@@ -75,7 +75,7 @@ export function renderFooter(ctrl: TournamentCtrl): Mithril.Child {
}
: h.fragment({key: 'noChat'}, [])
}
- { ctrl.hasJoined ? withdrawButton(ctrl, t) : joinButton(ctrl, t) }
+ { ctrl.hasJoined ? withdrawButton(ctrl) : joinButton(ctrl) }
)
}
@@ -181,7 +181,8 @@ function tournamentSpotlightInfo(spotlight: Spotlight) {
)
}
-function joinButton(ctrl: TournamentCtrl, t: Tournament) {
+function joinButton(ctrl: TournamentCtrl) {
+ const t = ctrl.tournament
if (!session.isConnected() ||
t.isFinished ||
settings.game.supportedVariants.indexOf(t.variant) < 0 ||
@@ -189,9 +190,9 @@ function joinButton(ctrl: TournamentCtrl, t: Tournament) {
(t.teamBattle && t.teamBattle.joinWith.length === 0)) {
return h.fragment({key: 'noJoinButton'}, [])
}
- const action = ((t.private || t.teamBattle) && !previouslyJoined(t)) ?
- () => joinForm.open(ctrl) :
- () => ctrl.join()
+ const action = () => ((ctrl.tournament.private || ctrl.tournament.teamBattle) && !previouslyJoined(ctrl.tournament)) ?
+ joinForm.open(ctrl) :
+ ctrl.join()
return (