feat: reduce server requests
This commit is contained in:
parent
94064dfa78
commit
69082319a0
|
|
@ -228,7 +228,14 @@ export const AddOrEditWebhook: FC<{
|
|||
},
|
||||
[]
|
||||
);
|
||||
const { data: dataList, isLoading } = useSWR('integrations', integration);
|
||||
const { data: dataList, isLoading } = useSWR('integrations', integration, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
const callBack = useCallback(
|
||||
async (values: any) => {
|
||||
await fetch(data?.id ? `/autopost/${data?.id}` : '/autopost', {
|
||||
|
|
|
|||
|
|
@ -176,8 +176,22 @@ export const CalendarWeekProvider: FC<{
|
|||
return (await fetch('/sets')).json();
|
||||
}, []);
|
||||
|
||||
const { data: sets, mutate } = useSWR('sets', setList);
|
||||
const { data: sign } = useSWR('default-sign', defaultSign);
|
||||
const { data: sets, mutate } = useSWR('sets', setList, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
const { data: sign } = useSWR('default-sign', defaultSign, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
|
||||
const setFiltersWrapper = useCallback(
|
||||
(filters: {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,12 @@ export const useIntegrationList = () => {
|
|||
}, []);
|
||||
|
||||
return useSWR('/integrations/list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
};
|
||||
|
|
@ -32,7 +32,14 @@ export const TagsComponent: FC<{
|
|||
name: string;
|
||||
color: string;
|
||||
}[];
|
||||
}>('tags', loadTags);
|
||||
}>('tags', loadTags, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
const onDelete = useCallback(
|
||||
(tagIndex: number) => {
|
||||
const modify = tagValue.filter((_, i) => i !== tagIndex);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@ export const ContinueProvider: FC = () => {
|
|||
return list;
|
||||
}, []);
|
||||
const { data: integrations } = useSWR('/integrations/list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
const closeModal = useCallback(() => {
|
||||
|
|
|
|||
|
|
@ -160,6 +160,12 @@ export const ConnectChannels: FC = () => {
|
|||
}, []);
|
||||
|
||||
const { data: integrations, mutate } = useSWR('/integrations/list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
|
||||
|
|
@ -223,7 +229,10 @@ export const ConnectChannels: FC = () => {
|
|||
<div className="absolute w-full h-full top-0 start-0 z-[400]">
|
||||
<div className="absolute w-full h-full bg-primary/80 start-0 top-0 z-[200] p-[50px] flex justify-center">
|
||||
<div className="w-[400px]">
|
||||
<ModalWrapperComponent title="" customClose={() => setShowCustom(undefined)}>
|
||||
<ModalWrapperComponent
|
||||
title=""
|
||||
customClose={() => setShowCustom(undefined)}
|
||||
>
|
||||
{showCustom}
|
||||
</ModalWrapperComponent>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -51,6 +51,12 @@ export const PlatformAnalytics = () => {
|
|||
return int.filter((f: any) => allowedIntegrations.includes(f.identifier));
|
||||
}, []);
|
||||
const { data, isLoading } = useSWR('analytics-list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
const sortedIntegrations = useMemo(() => {
|
||||
|
|
|
|||
|
|
@ -34,9 +34,21 @@ export const Plugs = () => {
|
|||
load2,
|
||||
{
|
||||
fallbackData: [],
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
}
|
||||
);
|
||||
const { data, isLoading } = useSWR('analytics-list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,12 @@ export const Sets: FC = () => {
|
|||
}, []);
|
||||
|
||||
const { isLoading, data: integrations } = useSWR('/integrations/list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
|
||||
|
|
@ -75,7 +81,14 @@ export const Sets: FC = () => {
|
|||
return (await fetch('/sets')).json();
|
||||
}, []);
|
||||
|
||||
const { data, mutate } = useSWR('sets', list);
|
||||
const { data, mutate } = useSWR('sets', list, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
|
||||
const addSet = useCallback(
|
||||
(params?: { id?: string; name?: string; content?: string }) => () => {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,12 @@ export const StandaloneModal: FC = () => {
|
|||
data: integrations,
|
||||
mutate,
|
||||
} = useSWR('/integrations/list', load, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
fallbackData: [],
|
||||
});
|
||||
const { isLoading: isLoading2, data } = useSWR('/posts/find-slot', loadDate, {
|
||||
|
|
|
|||
|
|
@ -102,7 +102,14 @@ export const ThirdPartyComponent = () => {
|
|||
return (await fetch('/third-party')).json();
|
||||
}, []);
|
||||
|
||||
const { data, isLoading, mutate } = useSWR('third-party', integrations);
|
||||
const { data, isLoading, mutate } = useSWR('third-party', integrations, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
const [collapseMenu, setCollapseMenu] = useCookie('collapseMenu', '0');
|
||||
|
||||
return (
|
||||
|
|
@ -141,7 +148,11 @@ export const ThirdPartyComponent = () => {
|
|||
</div>
|
||||
<div className="flex flex-col gap-[10px]">
|
||||
<div className="flex-1 flex flex-col gap-[14px]">
|
||||
<div className={clsx('gap-[16px] flex flex-col relative justify-center group/profile hover:bg-boxHover rounded-e-[8px]')}>
|
||||
<div
|
||||
className={clsx(
|
||||
'gap-[16px] flex flex-col relative justify-center group/profile hover:bg-boxHover rounded-e-[8px]'
|
||||
)}
|
||||
>
|
||||
{!isLoading && !data?.length ? (
|
||||
<div>No Integrations Yet</div>
|
||||
) : (
|
||||
|
|
|
|||
|
|
@ -103,7 +103,14 @@ export const ThirdPartyListComponent: FC<{ reload: () => void }> = (props) => {
|
|||
return (await fetch('/third-party/list')).json();
|
||||
}, []);
|
||||
|
||||
const { data } = useSWR('third-party-list', integrationsList);
|
||||
const { data } = useSWR('third-party-list', integrationsList, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
|
||||
const addApiKey = useCallback(
|
||||
(title: string, identifier: string) => () => {
|
||||
|
|
|
|||
|
|
@ -205,7 +205,14 @@ export const ThirdPartyMedia: FC<{
|
|||
);
|
||||
}, []);
|
||||
|
||||
const { data, isLoading, mutate } = useSWR('third-party', thirdParties);
|
||||
const { data, isLoading, mutate } = useSWR('third-party', thirdParties, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
|
||||
if (isLoading || !data.length) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -164,7 +164,14 @@ export const AddOrEditWebhook: FC<{
|
|||
},
|
||||
[]
|
||||
);
|
||||
const { data: dataList, isLoading } = useSWR('integrations', integration);
|
||||
const { data: dataList, isLoading } = useSWR('integrations', integration, {
|
||||
revalidateOnFocus: false,
|
||||
revalidateOnReconnect: false,
|
||||
revalidateIfStale: false,
|
||||
revalidateOnMount: true,
|
||||
refreshWhenHidden: false,
|
||||
refreshWhenOffline: false,
|
||||
});
|
||||
const callBack = useCallback(
|
||||
async (values: any) => {
|
||||
await fetch('/webhooks', {
|
||||
|
|
|
|||
Loading…
Reference in New Issue