mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
fix(board-buttons): hide catalog controls on flash upload boards
Flash boards do not use catalog view, so hide catalog links and OP search without leaving empty bracket placeholders in desktop board controls.
This commit is contained in:
@@ -13,6 +13,7 @@ import {
|
||||
isDirectoryListRoute,
|
||||
isDirectoryRoute,
|
||||
isFeedRoute,
|
||||
isFlashBoardRoute,
|
||||
isLegacyBoardModQueueRoute,
|
||||
isModQueueRoute,
|
||||
isPendingPostRoute,
|
||||
@@ -33,6 +34,7 @@ const communities = [
|
||||
title: '/mu/ - Music',
|
||||
},
|
||||
{ address: 'random.eth', directoryCode: 'b', title: 'Random' },
|
||||
{ address: 'flash-posting.bso', directoryCode: 'f', title: '/f/ - Flash' },
|
||||
];
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -66,6 +68,11 @@ describe('directory mapping helpers', () => {
|
||||
expect(isDirectoryRoute('business.eth', communities)).toBe(false);
|
||||
expect(isDirectoryBoard('biz', communities)).toBe(true);
|
||||
expect(isDirectoryBoard('business.eth', communities)).toBe(false);
|
||||
|
||||
expect(isFlashBoardRoute('f', communities)).toBe(true);
|
||||
expect(isFlashBoardRoute('flash-posting.bso', communities)).toBe(true);
|
||||
expect(isFlashBoardRoute('mu', communities)).toBe(false);
|
||||
expect(isFlashBoardRoute('music-posting.bso', communities)).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { DirectoryCommunity, findDirectoryByAddress, normalizeBoardAddress } from '../../hooks/use-directories';
|
||||
import { isFlashDirectory, isFlashDirectoryCode } from '../flash-tags';
|
||||
import { getEffectiveTimeFilterName, getSearchWithTimeFilter } from './time-filter-utils';
|
||||
|
||||
/**
|
||||
@@ -122,6 +123,17 @@ export const isDirectoryRoute = (boardIdentifier: string, communities: Directory
|
||||
return directoryToAddress.has(boardIdentifier);
|
||||
};
|
||||
|
||||
/** True when the board route segment refers to a flash (/f/) upload directory board. */
|
||||
export const isFlashBoardRoute = (boardIdentifier: string | undefined, communities: DirectoryCommunity[]): boolean => {
|
||||
if (isFlashDirectoryCode(boardIdentifier)) {
|
||||
return true;
|
||||
}
|
||||
if (!boardIdentifier) {
|
||||
return false;
|
||||
}
|
||||
return isFlashDirectory(findDirectoryByAddress(communities, boardIdentifier));
|
||||
};
|
||||
|
||||
/** @deprecated Use {@link isDirectoryRoute} */
|
||||
export const isDirectoryBoard = isDirectoryRoute;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user