simoleo89
|
9f3cd9bd46
|
Split useFriends into state + actions via useBetween singleton
useFriends backs ~16 consumers with a friend-list state (5 useStates +
6 message-event listeners) plus 4 imperative entry points
(requestFriend, requestResponse, followFriend, updateRelationship).
Same singleton-filter pattern as useNotification / useWiredTools /
useTranslation.
- useFriendsStore (internal, was useFriendsState) — the previous body
untouched.
- useFriendsState (public, read-only) — friends arrays, settings,
derived onlineFriends / offlineFriends, getFriend lookup,
canRequestFriend guard, plus setDismissedRequestIds (UI-local 'hide
banner' state).
- useFriendsActions (public, imperative) — requestFriend,
requestResponse, followFriend, updateRelationship.
- useFriends (deprecated shim) — composes both, preserving the
historical full-shape return.
|
2026-05-11 23:00:39 +02:00 |
|