import type { NormalizedStatus as Status } from '@/reducers/statuses'; import type { Settings } from '@/schemas/frontend-settings'; const shouldFilter = ( status: Pick, columnSettings: Settings['timelines'][''], ) => { const fallback = { reblog: true, reply: true, direct: false, }; const shows = { reblog: status.reblog_id !== null, reply: status.in_reply_to_id !== null, direct: status.visibility === 'direct', }; return Object.entries(shows).some( ([key, value]) => !(columnSettings?.shows || fallback)[key as 'reblog' | 'reply' | 'direct'] && value, ); }; export { shouldFilter };