mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
fix(feeds): force infinite scroll on multiboards and canonicalize page URLs
This commit is contained in:
@@ -416,7 +416,9 @@ export const MobileBoardButtons = () => {
|
||||
|
||||
const { filteredCount, searchText } = useCatalogFiltersStore();
|
||||
const enableInfiniteScroll = useFeedViewSettingsStore((state) => state.enableInfiniteScroll);
|
||||
const showBottomButton = (isInCatalogView || isInPostView || isInPendingPostPage) && !enableInfiniteScroll;
|
||||
const isMultiboard = isInAllView || isInSubscriptionsView || isInModView;
|
||||
const effectiveInfiniteScroll = isMultiboard || enableInfiniteScroll;
|
||||
const showBottomButton = (isInCatalogView || isInPostView || isInPendingPostPage) && !effectiveInfiniteScroll;
|
||||
|
||||
// Check if we should show the vote button (only for directory boards)
|
||||
const directories = useDirectories();
|
||||
@@ -539,7 +541,9 @@ export const DesktopBoardButtons = () => {
|
||||
|
||||
const { filteredCount, searchText } = useCatalogFiltersStore();
|
||||
const enableInfiniteScroll = useFeedViewSettingsStore((state) => state.enableInfiniteScroll);
|
||||
const showBottomButton = (isInCatalogView || isInPostView || isInPendingPostPage) && !enableInfiniteScroll;
|
||||
const isMultiboard = isInAllView || isInSubscriptionsView || isInModView;
|
||||
const effectiveInfiniteScroll = isMultiboard || enableInfiniteScroll;
|
||||
const showBottomButton = (isInCatalogView || isInPostView || isInPendingPostPage) && !effectiveInfiniteScroll;
|
||||
|
||||
// Check if we should show the vote button (only for directory boards)
|
||||
const directories = useDirectories();
|
||||
|
||||
@@ -72,6 +72,11 @@ describe('InterfaceSettings', () => {
|
||||
setItemSpy.mockRestore();
|
||||
});
|
||||
|
||||
it('renders enable_infinite_scroll_tip under the infinite scroll checkbox', () => {
|
||||
render(createElement(InterfaceSettings));
|
||||
expect(container.textContent).toMatch(/enable_infinite_scroll_tip/i);
|
||||
});
|
||||
|
||||
it('renders enable_infinite_scroll checkbox unchecked by default', () => {
|
||||
render(createElement(InterfaceSettings));
|
||||
const label = Array.from(container.querySelectorAll('label')).find((l) => l.textContent?.toLowerCase().includes('enable_infinite_scroll'));
|
||||
|
||||
@@ -153,6 +153,7 @@ const InterfaceSettings = () => {
|
||||
<input type='checkbox' checked={enableInfiniteScroll} onChange={(e) => setEnableInfiniteScroll(e.target.checked)} />
|
||||
{capitalize(t('enable_infinite_scroll'))}
|
||||
</label>
|
||||
<div className={styles.settingTip}>{capitalize(t('enable_infinite_scroll_tip'))}</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user