feat: add real-time notification system and fix admin login bug
- Fix login: role field was missing from session (admin page inaccessible)
- Add onlineUsers map in socket/state.ts to track connected users
- Join personal user:${id} socket room on connect for targeted notifications
- Emit friendRequestReceived/friendRequestAccepted socket events from friends controller
- Add sendGameInvite socket event handler on server
- New NotificationContext: global socket provider for registered users
- New NotificationPanel: bell icon with unread badge and dropdown in header
- Friends page: inline game invite input per friend with sendGameInvite
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -222,7 +222,8 @@ export const loginUser = async (req: Request, res: Response) => {
|
||||
email: users[0].email,
|
||||
wins: users[0].wins,
|
||||
losses: users[0].losses,
|
||||
draws: users[0].draws
|
||||
draws: users[0].draws,
|
||||
role: users[0].role
|
||||
};
|
||||
req.session.save(() => {
|
||||
res.status(200).json(req.session.user);
|
||||
|
||||
Reference in New Issue
Block a user