extends Control signal room_selected(title: String, id: String) @onready var _main: Main = get_tree().get_current_scene() @onready var _rooms_menu := $RoomsMenu var _rooms : Array[RoomEntity] = [] func _ready(): _connect_signals() await get_tree().create_timer(0.1, false).timeout _load_rooms() func _load_rooms(): var room_repo = _main.get_room_repo() if room_repo.get_selected_room(): return _rooms_menu.clear() var rooms = await room_repo.list_rooms() for room in rooms: _rooms.append(room) _rooms_menu.add_item(room.title) if len(rooms) < 0: print('Not enough rooms') func _connect_signals(): _rooms_menu.item_clicked.connect(_on_room_selected) func _on_room_selected(idx, text): room_selected.emit(_rooms[idx].title, _rooms[idx].id) _main.go_to_previous_page(true) func update(): _rooms_menu.deselect_all()