Skip to content

Commit ed8754a

Browse files
FEATURE: Turn paragraphs into speech turns (see #224).
Co-authored-by: Sidqui-Youssef <[email protected]>
1 parent 2c89cae commit ed8754a

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

frontend/src/components/EditableText.jsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ import DiscreeteDropdown from './DiscreeteDropdown';
66
import PictureUploadAction from '../menu-items/PictureUploadAction';
77
import {v4 as uuid} from 'uuid';
88

9+
function boldSpeakerNames(text) {
10+
return text.split('\n').map(line => {
11+
const match = line.match(/^([A-Z][a-zA-ZéèêîïÉÈÊÎÏ\-']+)\s*:/);
12+
if (match) {
13+
const name = match[1];
14+
return line.replace(name, `**${name}**`);
15+
}
16+
return line;
17+
}).join('\n');
18+
}
19+
920
function EditableText({id, text, rubric, isPartOf, links, fragment, setFragment, setHighlightedText, setSelectedText, rawEditMode, setRawEditMode, backend, setLastUpdate}) {
1021
const [beingEdited, setBeingEdited] = useState(false);
1122
const [editedDocument, setEditedDocument] = useState();
@@ -92,6 +103,7 @@ function EditableText({id, text, rubric, isPartOf, links, fragment, setFragment,
92103
let text = (rubric && !rawEditMode)
93104
? editedDocument.text.replace(PASSAGE, `{${rubric}} ${parsedText}`)
94105
: editedText;
106+
95107
backend.putDocument({ ...editedDocument, text })
96108
.then(x => setLastUpdate(x.rev))
97109
.then(() => setHighlightedText())
@@ -105,7 +117,7 @@ function EditableText({id, text, rubric, isPartOf, links, fragment, setFragment,
105117
<div className="editable content position-relative" title="Edit content...">
106118
<div className="formatted-text" onClick={handleClick}>
107119
<FormattedText {...{setHighlightedText, setSelectedText}}>
108-
{text || '&nbsp;'}
120+
{boldSpeakerNames(text || '&nbsp;')}
109121
</FormattedText>
110122
</div>
111123
<DiscreeteDropdown>
@@ -122,4 +134,4 @@ function EditableText({id, text, rubric, isPartOf, links, fragment, setFragment,
122134
);
123135
}
124136

125-
export default EditableText;
137+
export default EditableText;

0 commit comments

Comments
 (0)