diff --git a/src/components/pages/PageMain/Shoutbox/Shoutbox.tsx b/src/components/pages/PageMain/Shoutbox/Shoutbox.tsx index 57930d6..c4d4be0 100644 --- a/src/components/pages/PageMain/Shoutbox/Shoutbox.tsx +++ b/src/components/pages/PageMain/Shoutbox/Shoutbox.tsx @@ -29,19 +29,24 @@ function ShoutboxInner(props: { }) { // eslint-disable-next-line solid/reactivity const [page, setPage] = createSignal(props.initPage) + // eslint-disable-next-line solid/reactivity + const [initData, setInitData] = createSignal(props.initPageData) const shouts = createQuery(() => ({ queryKey: ['shouts', page()], queryFn: () => fetchShouts(page()), + cacheTime: 0, + gcTime: 0, refetchInterval: 30000, placeholderData: keepPreviousData, - initialData: props.initPageData, + initialData: initData, })) const [sending, setSending] = createSignal(false) const onPageClick = (next: boolean) => (e: MouseEvent) => { e.preventDefault() e.stopPropagation() + setInitData(undefined) const newPage = next ? page() + 1 : page() - 1 @@ -89,6 +94,7 @@ function ShoutboxInner(props: { const onSubmit = (e: Event) => { e.preventDefault() setSending(true) + setInitData(undefined) const isPrivate = (form.elements.namedItem('private') as HTMLInputElement).checked fetch('/api/shoutbox', {