2022-05-16 00:30:40 +09:00
|
|
|
import { expandSpoilers } from 'flavours/glitch/util/initial_state';
|
|
|
|
|
2018-08-29 00:16:30 +09:00
|
|
|
export function autoUnfoldCW (settings, status) {
|
2022-05-16 00:30:40 +09:00
|
|
|
if (!expandSpoilers) {
|
2018-08-29 00:16:30 +09:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
const rawRegex = settings.getIn(['content_warnings', 'filter']);
|
2018-10-13 06:12:39 +09:00
|
|
|
|
|
|
|
if (!rawRegex) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2018-08-29 00:16:30 +09: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'));
|
|
|
|
}
|