# Cut-point for the iOS adaptation
var layout_user = new VerticalLayout(parent=layout)
private var layout_login = new HorizontalLayout(parent=layout_user)
- private var lbl_login_status = new Label(parent=layout_login, text="Welcome".t, size=1.5)
- private var but_login = new Button(parent=layout_login, text="Login or signup".t)
- private var but_preferences = new Button(parent=layout_login, text="Preferences".t)
+ private var but_preferences: nullable Button = null
+ private var but_login: nullable Button = null
private var layout_beers = new VerticalLayout(parent=layout)
var layout_beers_title = new HorizontalLayout(parent=layout_beers)
#private var news_button = new Button(parent=news_header, text="Open website") # TODO
private var news_label = new Label(parent=layout_news, text="Bière en cask le jeudi!")
- init
- do
- for c in [but_login, but_preferences, beer_button, social_button] do
- c.observers.add self
- end
- end
-
redef fun on_resume do refresh
# Refresh content of this page
layout_login.clear
if app.user != null then
# Logged in
- lbl_login_status.parent = layout_login
- but_preferences.parent = layout_login
+ var lbl_login_status = new Label(parent=layout_login, text="Welcome".t, size=1.5)
lbl_login_status.set_welcome
else
- but_login.parent = layout_login
- but_preferences.parent = layout_login
+ self.but_login = new Button(parent=layout_login, text="Login or signup".t)
end
+ self.but_preferences = new Button(parent=layout_login, text="Preferences".t)
# Fill beers
(new ListDiffAction(self, "rest/since?token={app.token}")).start
(new HomeListPeopleAction(self, "rest/friends?token={app.token}")).start
# Check if token is still valid
- (new CheckTokenAction(self, "rest/check_token?token={app.token}")).start
+ if app.token != "none" then (new CheckTokenAction(self, "rest/check_token?token={app.token}")).start
end
redef fun on_event(event)
redef type W: HomeWindow
- redef fun on_load(beers)
+ redef fun on_load(beers, status)
do
window.layout_beers.remove window.beer_list
window.beer_list = new VerticalLayout(parent=window.layout_beers)
redef type W: HomeWindow
- redef fun on_load(users)
+ redef fun on_load(users, status)
do
window.layout_social.remove window.social_list
window.social_list = new VerticalLayout(parent=window.layout_social)
redef type W: HomeWindow
- redef fun on_load(res) do intercept_error(res)
+ redef fun on_load(res, status) do intercept_error(res)
+end
+
+redef class BenitluxHttpRequest
+ redef fun intercept_error(res)
+ do
+ var r = super
+ if res isa BenitluxTokenError then
+ var window = app.window
+ if window isa HomeWindow then window.refresh
+ end
+ return r
+ end
end
# Today's date as a `String`