---
tags: client-archief
---
# UI - Client interaction
Structure to be implemented by Henri
Add list of available chatrooms and update them
Add list of users in the current chatroom
1. Creation of ChatClient
2. startlogin() :
- start websocket and await
- Roept requestLogin() of requestNewUser()
- Als logged in : client.setProfile()
- requestChatrooms() & showLimbo()
3. showlimbo() :
- chatrooms opvragen in client (requestChatrooms)
- commands ingeven : processInput() : eventueel showChatroom() oproepen bij change room
4. showChatroom() :
- currentRoom opvragen in client
- huidige users in chatroom opvragen (requestChatroomParticipants)
- commands of message ingeven : processInput() : eventueel showLimbo() of startLogin()
- In alle UI functies : keyPress event roept methode client.onKeyPress() op.
- showLimbo() wordt opgeroepen bij elke chatroomupdate van de server & niet in chatroom
- Bij processInput('\logout ...') moet de websocket afgesloten worden & moet de startlogin() opgeroepen worden, => logout() construeren..
- Bij bij processInput('\delete-profile ...') ook logout() oproepen.
- if not logged in => in processInput() negeren/error geven.
- boolean allowedBiometricData => nieuwe command allow-biometric-info toggles de boolean naar true => bij elke message enkel keystrokes meegeven als deze boolean op true staat