43 lines
1.2 KiB
GDScript
43 lines
1.2 KiB
GDScript
extends Control
|
|
|
|
onready var tab_container: TabContainer = $"%TabContainer"
|
|
|
|
func _ready() -> void:
|
|
visible = false
|
|
Fade.fade_out(0.4)
|
|
yield(Fade, "fade_finished")
|
|
visible = true
|
|
yield(get_tree(), "idle_frame")
|
|
grab_focus()
|
|
Fade.fade_in(0.4)
|
|
if not Ngio.keys_loaded:
|
|
tab_container.current_tab = 2
|
|
return
|
|
if Ngio.session.user == null and not Ngio.session.passport_url.empty():
|
|
var passport_url = Ngio.session.passport_url
|
|
# try to open in browser
|
|
OS.shell_open(passport_url)
|
|
# try to copy to clipboard
|
|
OS.clipboard = passport_url
|
|
if OS.has_clipboard():
|
|
$"%Clipboard".modulate.a = 1.0
|
|
_await_result()
|
|
elif Ngio.session.user != null:
|
|
tab_container.current_tab = 1
|
|
else:
|
|
tab_container.current_tab = 2
|
|
|
|
func _gui_input(event: InputEvent) -> void:
|
|
if event.is_action_pressed("ui_cancel"):
|
|
if tab_container.current_tab == 0:
|
|
Ngio.request_execute("App.endSession")
|
|
queue_free()
|
|
elif event.is_action_pressed("ui_accept") and tab_container.current_tab != 0:
|
|
queue_free()
|
|
|
|
func _await_result() -> void:
|
|
var success = yield(Ngio.passport_check(), "completed")
|
|
if success:
|
|
tab_container.current_tab = 1
|
|
else:
|
|
tab_container.current_tab = 2
|