61 lines
2.4 KiB
TypeScript
61 lines
2.4 KiB
TypeScript
// Metro module 15521 (f15522).
|
|
import { useRef, useCallback } from "react";
|
|
import SearchMessageStore from "../../SearchMessageStore";
|
|
import SearchQueryStore from "../stores/SearchQueryStore";
|
|
import { SEARCH_MESSAGE_TAB_SENTINEL } from "../../SearchConstants";
|
|
import { useStateFromStores } from "../../../../_bundle/Module589";
|
|
import { getSearchTabFetchId } from "../../SearchUtils";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import ToastActionCreators from "../../../toast/native/ToastActionCreators";
|
|
import Module8346 from "../../../../_bundle/Module8346";
|
|
export function useMessageSearchErrorScreen({ searchContext, tab, hasListItems }) {
|
|
let content, ref;
|
|
content = void 0;
|
|
ref = void 0;
|
|
const stateFromStores = useStateFromStores([SearchQueryStore, SearchMessageStore], () => SearchMessageStore.getError(getSearchTabFetchId(searchContext, tab, SearchQueryStore.getSearchResultsQuery(searchContext))));
|
|
let r19 = stateFromStores == null ? void 0 : stateFromStores.getAnyErrorMessage();
|
|
if (r19 == null) {
|
|
r19 = intl.string(t.uvDZBZ);
|
|
}
|
|
content = r19;
|
|
ref = useRef(null);
|
|
return {
|
|
hasError: stateFromStores != null,
|
|
errorText: content,
|
|
isErrorFullscreen: stateFromStores != null && !hasListItems,
|
|
isErrorToast: stateFromStores != null && hasListItems,
|
|
showErrorToast: useCallback(() => {
|
|
if (stateFromStores !== ref.current) {
|
|
ToastActionCreators.open({
|
|
key: "SEARCH_ERROR_TOAST",
|
|
icon: Module8346,
|
|
content
|
|
});
|
|
ref.current = stateFromStores;
|
|
}
|
|
}, [stateFromStores, content])
|
|
};
|
|
}
|
|
export function useMessageTabCountsErrorText({ searchContext: searchContext2 }) {
|
|
return useStateFromStores([SearchQueryStore, SearchMessageStore], () => {
|
|
const searchTabFetchId = getSearchTabFetchId(searchContext2, SEARCH_MESSAGE_TAB_SENTINEL, SearchQueryStore.getSearchResultsQuery(searchContext2));
|
|
if (SearchMessageStore.getIsInitialFetchComplete(searchTabFetchId)) {
|
|
if (SearchMessageStore.getTotalCount(searchTabFetchId) != null) {
|
|
return null;
|
|
}
|
|
const error = SearchMessageStore.getError(searchTabFetchId);
|
|
const r2 = error == null;
|
|
let r23 = null;
|
|
if (!r2) {
|
|
let r25 = error.getAnyErrorMessage();
|
|
if (r25 == null) {
|
|
r25 = intl.string(t.uvDZBZ);
|
|
}
|
|
r23 = r25;
|
|
}
|
|
return r23;
|
|
}
|
|
return null;
|
|
});
|
|
}
|