global update and global fix

This commit is contained in:
lendry
2026-06-25 23:48:57 +03:00
parent 3880c68d59
commit b0ea87e898
121 changed files with 13759 additions and 663 deletions

View File

@@ -7,11 +7,11 @@ const SELECTED_FAMILY_STORAGE_KEY = 'id-selected-family-group-id';
type FamilyOverlayContextValue = {
openMiniChat: () => void;
openChatRoom: (roomId: string) => void;
openChatWithMember: (memberUserId: string, memberName: string) => void;
openChatWithMember: (memberUserId: string, memberName: string, options?: { isBot?: boolean; botUsername?: string }) => void;
closeMiniChat: () => void;
miniChatOpen: boolean;
pendingRoomId: string | null;
pendingMember: { userId: string; name: string } | null;
pendingMember: { userId: string; name: string; isBot?: boolean; botUsername?: string } | null;
clearPending: () => void;
selectedGroupId: string | null;
setSelectedGroupId: (groupId: string | null) => void;
@@ -22,9 +22,9 @@ const FamilyOverlayContext = createContext<FamilyOverlayContextValue | null>(nul
export function FamilyOverlayProvider({ children }: { children: React.ReactNode }) {
const [miniChatOpen, setMiniChatOpen] = useState(false);
const [pendingRoomId, setPendingRoomId] = useState<string | null>(null);
const [pendingMember, setPendingMember] = useState<{ userId: string; name: string } | null>(null);
const [pendingMember, setPendingMember] = useState<{ userId: string; name: string; isBot?: boolean; botUsername?: string } | null>(null);
const [selectedGroupId, setSelectedGroupIdState] = useState<string | null>(null);
const pendingMemberRef = useRef<{ userId: string; name: string } | null>(null);
const pendingMemberRef = useRef<{ userId: string; name: string; isBot?: boolean; botUsername?: string } | null>(null);
const selectionHydratedRef = useRef(false);
useEffect(() => {
@@ -58,13 +58,16 @@ export function FamilyOverlayProvider({ children }: { children: React.ReactNode
setMiniChatOpen(true);
}, []);
const openChatWithMember = useCallback((memberUserId: string, memberName: string) => {
const payload = { userId: memberUserId, name: memberName };
setPendingMember(payload);
pendingMemberRef.current = payload;
setPendingRoomId(null);
setMiniChatOpen(true);
}, []);
const openChatWithMember = useCallback(
(memberUserId: string, memberName: string, options?: { isBot?: boolean; botUsername?: string }) => {
const payload = { userId: memberUserId, name: memberName, ...options };
setPendingMember(payload);
pendingMemberRef.current = payload;
setPendingRoomId(null);
setMiniChatOpen(true);
},
[]
);
const clearPending = useCallback(() => {
setPendingRoomId(null);