Goal for this part
Add a sign-in screen. On success, store the current user in memory and show a home pane that reflects librarian vs member. Sign out returns to the login form.
Concepts: desktop sessions
Unlike web apps, there is no cookie. The “session” is simply an object on the application instance until the user signs out or closes the window. Still hash passwords and use a generic failure message.
How to run it and what you should see
Sign in as Grace, then Ada. Confirm the role label changes. Try a wrong password and expect a single generic error.