apply default content warning to new posts
This commit is contained in:
parent
889804b2a8
commit
90e71ba413
1 changed files with 22 additions and 0 deletions
|
@ -364,6 +364,28 @@ if (defaultStore.state.keepCw && props.reply && props.reply.cw) {
|
||||||
cw.value = props.reply.cw;
|
cw.value = props.reply.cw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// apply default CW
|
||||||
|
if ($i.defaultCW) {
|
||||||
|
useCw.value = true;
|
||||||
|
|
||||||
|
if (!cw.value || $i.defaultCWPriority === 'default') {
|
||||||
|
cw.value = $i.defaultCW;
|
||||||
|
} else if ($i.defaultCWPriority !== 'parent') {
|
||||||
|
// This is a fancy way of simulating /\bsearch\b/ without a regular expression.
|
||||||
|
// We're checking to see whether the default CW appears inside the existing CW, but *only* if there's word boundaries.
|
||||||
|
const parts = cw.value.split($i.defaultCW);
|
||||||
|
if (parts.length !== 2 || /\w$/.test(parts[0]) || /^\w/.test(parts[1])) {
|
||||||
|
// We need to merge the CWs
|
||||||
|
if ($i.defaultCWPriority === 'defaultParent') {
|
||||||
|
cw.value = `${$i.defaultCW}, ${cw.value}`;
|
||||||
|
} else if ($i.defaultCWPriority === 'parentDefault') {
|
||||||
|
cw.value = `${cw.value}, ${$i.defaultCW}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// else { do nothing, because existing CW takes priority. }
|
||||||
|
}
|
||||||
|
|
||||||
function watchForDraft() {
|
function watchForDraft() {
|
||||||
watch(text, () => saveDraft());
|
watch(text, () => saveDraft());
|
||||||
watch(useCw, () => saveDraft());
|
watch(useCw, () => saveDraft());
|
||||||
|
|
Loading…
Add table
Reference in a new issue