[WEB-5478] chore: fix types (#8155)

This commit is contained in:
Aaron 2025-11-21 21:52:37 +07:00 committed by GitHub
parent 5cfb9538df
commit 0f4309659a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 369 additions and 240 deletions

View file

@ -60,51 +60,51 @@ export const useRealtimePageEvents = ({
[getUserDetails]
);
const ACTION_HANDLERS = useMemo(function ACTION_HANDLERS() {
return {
archived: ({ pageIds, data }) => {
const ACTION_HANDLERS = useMemo(
() => ({
archived: ({ pageIds, data }: { pageIds: string[]; data: EventToPayloadMap["archived"] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.archive({ archived_at: data.archived_at, shouldSync: false });
});
},
unarchived: ({ pageIds }) => {
unarchived: ({ pageIds }: { pageIds: string[] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.restore({ shouldSync: false });
});
},
locked: ({ pageIds }) => {
locked: ({ pageIds }: { pageIds: string[] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.lock({ shouldSync: false, recursive: false });
});
},
unlocked: ({ pageIds }) => {
unlocked: ({ pageIds }: { pageIds: string[] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.unlock({ shouldSync: false, recursive: false });
});
},
"made-public": ({ pageIds }) => {
"made-public": ({ pageIds }: { pageIds: string[] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.makePublic({ shouldSync: false });
});
},
"made-private": ({ pageIds }) => {
"made-private": ({ pageIds }: { pageIds: string[] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) pageItem.makePrivate({ shouldSync: false });
});
},
deleted: ({ pageIds, data }) => {
deleted: ({ pageIds, data }: { pageIds: string[]; data: EventToPayloadMap["deleted"] }) => {
pageIds.forEach((pageId) => {
const pageItem = getPageById(pageId);
if (pageItem) {
@ -123,7 +123,7 @@ export const useRealtimePageEvents = ({
});
},
property_updated: ({ pageIds, data }) => {
property_updated: ({ pageIds, data }: { pageIds: string[]; data: EventToPayloadMap["property_updated"] }) => {
pageIds.forEach((pageId) => {
const pageInstance = getPageById(pageId);
const { name: updatedName, ...rest } = data;
@ -132,7 +132,7 @@ export const useRealtimePageEvents = ({
});
},
error: ({ pageIds, data }) => {
error: ({ pageIds, data }: { pageIds: string[]; data: EventToPayloadMap["error"] }) => {
const errorType = data.error_type;
const errorMessage = data.error_message || "An error occurred";
const errorCode = data.error_code;
@ -164,8 +164,9 @@ export const useRealtimePageEvents = ({
},
...customRealtimeEventHandlers,
};
});
}),
[getPageById, removePage, page, currentUser, getUserDisplayText, router, handlers, customRealtimeEventHandlers]
);
// The main function that will be returned from this hook
const updatePageProperties = useCallback(
@ -181,7 +182,7 @@ export const useRealtimePageEvents = ({
if (normalizedPageIds.length === 0) return;
// Get the handler for this message type
const handler = ACTION_HANDLERS[actionType];
const handler = ACTION_HANDLERS[actionType] as PageUpdateHandler<T> | undefined;
if (handler) {
// Now TypeScript knows that handler and data match in type