2022-05-15 17:30:40 +02:00
|
|
|
import { expandSpoilers } from 'flavours/glitch/util/initial_state';
|
|
|
|
|
2018-08-28 17:16:30 +02:00
|
|
|
export function autoUnfoldCW (settings, status) {
|
2022-05-15 17:30:40 +02:00
|
|
|
if (!expandSpoilers) {
|
2018-08-28 17:16:30 +02:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
const rawRegex = settings.getIn(['content_warnings', 'filter']);
|
2018-10-12 23:12:39 +02:00
|
|
|
|
|
|
|
if (!rawRegex) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2018-08-28 17:16:30 +02:00
|
|
|
let regex = null;
|
|
|
|
|
|
|
|
try {
|
|
|
|
regex = rawRegex && new RegExp(rawRegex.trim(), 'i');
|
|
|
|
} catch (e) {
|
|
|
|
// Bad regex, don't affect filters
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!(status && regex)) {
|
|
|
|
return undefined;
|
|
|
|
}
|
|
|
|
return !regex.test(status.get('spoiler_text'));
|
|
|
|
}
|