From 38fba52839795e451857694005273161b3488bd4 Mon Sep 17 00:00:00 2001 From: Kiwi Date: Fri, 26 Oct 2018 19:56:35 +0200 Subject: [PATCH] [next] Show reply information (#2020) * feat: Implement replyTo * feat: use full size buttons on small screens * feat: show full size buttons in edit form on small screens --- package-lock.json | 6 +- package.json | 2 +- .../comments/components/EditCommentForm.tsx | 55 +- .../stream/tabs/comments/components/RTE.css | 2 + .../stream/tabs/comments/components/RTE.tsx | 1 + .../comments/components/ReplyCommentForm.tsx | 56 +- .../tabs/comments/components/ReplyTo.css | 15 + .../tabs/comments/components/ReplyTo.spec.tsx | 14 + .../tabs/comments/components/ReplyTo.tsx | 30 ++ .../__snapshots__/RTE.spec.tsx.snap | 1 + .../__snapshots__/ReplyTo.spec.tsx.snap | 24 + .../ReplyCommentFormContainer.spec.tsx | 18 + .../containers/ReplyCommentFormContainer.tsx | 6 + .../ReplyCommentFormContainer.spec.tsx.snap | 2 + .../__snapshots__/editComment.spec.tsx.snap | 504 +++++++++--------- .../__snapshots__/loadMore.spec.tsx.snap | 104 ++-- .../__snapshots__/permalinkView.spec.tsx.snap | 52 +- ...permalinkViewCommentNotFound.spec.tsx.snap | 52 +- .../__snapshots__/postComment.spec.tsx.snap | 150 +++--- .../postLocalReply.spec.tsx.snap | 358 +++++++------ .../__snapshots__/postReply.spec.tsx.snap | 358 +++++++------ .../__snapshots__/renderReplies.spec.tsx.snap | 52 +- .../__snapshots__/renderStream.spec.tsx.snap | 52 +- .../showAllReplies.spec.tsx.snap | 104 ++-- .../showConversation.spec.tsx.snap | 52 +- src/locales/en-US/stream.ftl | 1 + 26 files changed, 1152 insertions(+), 919 deletions(-) create mode 100644 src/core/client/stream/tabs/comments/components/ReplyTo.css create mode 100644 src/core/client/stream/tabs/comments/components/ReplyTo.spec.tsx create mode 100644 src/core/client/stream/tabs/comments/components/ReplyTo.tsx create mode 100644 src/core/client/stream/tabs/comments/components/__snapshots__/ReplyTo.spec.tsx.snap diff --git a/package-lock.json b/package-lock.json index 463987534..ea0df219f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1342,9 +1342,9 @@ } }, "@coralproject/rte": { - "version": "0.10.12", - "resolved": "https://registry.npmjs.org/@coralproject/rte/-/rte-0.10.12.tgz", - "integrity": "sha512-w7UWe6u+TNoPtFcWvyjYkV7eaAE4ccTOYrhdWPsDfM34ZDRq+bM5eiiAMcUVHizvHgsUzFWoN2qjOo+jSfIjCw==", + "version": "0.10.13", + "resolved": "https://registry.npmjs.org/@coralproject/rte/-/rte-0.10.13.tgz", + "integrity": "sha512-YlKErdrGD3xMPWjObKIa0hmqG2n9F1sbemZrnWwBCzC5xt+ktkTynAXfHo+tsyKquJLZVtFISP8+A717tMl8wg==", "dev": true, "requires": { "bowser": "^1.0.0", diff --git a/package.json b/package.json index b7fa391ce..d03269e3d 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@babel/polyfill": "7.0.0-beta.49", "@babel/preset-env": "7.0.0-beta.49", "@babel/preset-react": "7.0.0-beta.49", - "@coralproject/rte": "^0.10.12", + "@coralproject/rte": "^0.10.13", "@types/bcryptjs": "^2.4.1", "@types/bull": "^3.3.16", "@types/bunyan": "^1.8.4", diff --git a/src/core/client/stream/tabs/comments/components/EditCommentForm.tsx b/src/core/client/stream/tabs/comments/components/EditCommentForm.tsx index 69176c2b7..cedf6846e 100644 --- a/src/core/client/stream/tabs/comments/components/EditCommentForm.tsx +++ b/src/core/client/stream/tabs/comments/components/EditCommentForm.tsx @@ -16,6 +16,7 @@ import { Button, Flex, HorizontalGutter, + MatchMedia, Message, MessageIcon, RelativeTime, @@ -128,28 +129,38 @@ const EditCommentForm: StatelessComponent = props => { ) : ( - <> - - - - - - - + + {matches => ( + <> + + + + + + + + )} + )} diff --git a/src/core/client/stream/tabs/comments/components/RTE.css b/src/core/client/stream/tabs/comments/components/RTE.css index c0ed9f4fc..1cbb04e08 100644 --- a/src/core/client/stream/tabs/comments/components/RTE.css +++ b/src/core/client/stream/tabs/comments/components/RTE.css @@ -1,9 +1,11 @@ .content { composes: root from "talk-stream/shared/htmlContent.css"; + border: 1px solid var(--palette-grey-main); } .toolbar { background-color: var(--palette-common-white); + border: 1px solid var(--palette-grey-main); } .placeholder { diff --git a/src/core/client/stream/tabs/comments/components/RTE.tsx b/src/core/client/stream/tabs/comments/components/RTE.tsx index f98eea872..507b8a5f1 100644 --- a/src/core/client/stream/tabs/comments/components/RTE.tsx +++ b/src/core/client/stream/tabs/comments/components/RTE.tsx @@ -102,6 +102,7 @@ const RTE: StatelessComponent = props => { placeholder={placeholder} features={features} ref={forwardRef} + toolbarPosition="bottom" {...rest} /> diff --git a/src/core/client/stream/tabs/comments/components/ReplyCommentForm.tsx b/src/core/client/stream/tabs/comments/components/ReplyCommentForm.tsx index cc18c6382..2d44c860c 100644 --- a/src/core/client/stream/tabs/comments/components/ReplyCommentForm.tsx +++ b/src/core/client/stream/tabs/comments/components/ReplyCommentForm.tsx @@ -16,9 +16,11 @@ import { Button, Flex, HorizontalGutter, + MatchMedia, Typography, } from "talk-ui/components"; +import ReplyTo from "./ReplyTo"; import RTE from "./RTE"; interface FormProps { @@ -33,6 +35,7 @@ export interface ReplyCommentFormProps { onChange?: (state: FormState) => void; initialValues?: FormProps; rteRef?: Ref; + parentUsername: string | null; } const ReplyCommentForm: StatelessComponent = props => { @@ -56,6 +59,9 @@ const ReplyCommentForm: StatelessComponent = props => { Write a reply + {props.parentUsername && ( + + )} = props => { )} - - - - - - - - + + + + + + + + )} + )} diff --git a/src/core/client/stream/tabs/comments/components/ReplyTo.css b/src/core/client/stream/tabs/comments/components/ReplyTo.css new file mode 100644 index 000000000..2b831bcf2 --- /dev/null +++ b/src/core/client/stream/tabs/comments/components/ReplyTo.css @@ -0,0 +1,15 @@ +.root { + padding: calc(0.5 * var(--spacing-unit)); + color: var(--palette-grey-dark); + background-color: var(--palette-grey-lightest); + border: 1px solid var(--palette-grey-main); + border-bottom: 0; +} + +.text { + color: var(--palette-grey-dark); +} + +.username { + color: var(--palette-grey-darkest); +} diff --git a/src/core/client/stream/tabs/comments/components/ReplyTo.spec.tsx b/src/core/client/stream/tabs/comments/components/ReplyTo.spec.tsx new file mode 100644 index 000000000..44f987cc6 --- /dev/null +++ b/src/core/client/stream/tabs/comments/components/ReplyTo.spec.tsx @@ -0,0 +1,14 @@ +import { shallow } from "enzyme"; +import React from "react"; + +import { PropTypesOf } from "talk-framework/types"; + +import ReplyTo from "./ReplyTo"; + +it("renders correctly", () => { + const props: PropTypesOf = { + username: "ParentAuthor", + }; + const wrapper = shallow(); + expect(wrapper).toMatchSnapshot(); +}); diff --git a/src/core/client/stream/tabs/comments/components/ReplyTo.tsx b/src/core/client/stream/tabs/comments/components/ReplyTo.tsx new file mode 100644 index 000000000..90112d6e2 --- /dev/null +++ b/src/core/client/stream/tabs/comments/components/ReplyTo.tsx @@ -0,0 +1,30 @@ +import { Localized } from "fluent-react/compat"; +import React, { StatelessComponent } from "react"; + +import { Flex, Icon, Typography } from "talk-ui/components"; +import styles from "./ReplyTo.css"; + +interface Props { + username: string; +} + +const ReplyTo: StatelessComponent = ({ username }) => { + const Username = () => ( + + {username} + + ); + + return ( + + reply{" "} + }> + + {"Replying to: "} + + + + ); +}; + +export default ReplyTo; diff --git a/src/core/client/stream/tabs/comments/components/__snapshots__/RTE.spec.tsx.snap b/src/core/client/stream/tabs/comments/components/__snapshots__/RTE.spec.tsx.snap index 7c91ecaa8..0b7cf0cce 100644 --- a/src/core/client/stream/tabs/comments/components/__snapshots__/RTE.spec.tsx.snap +++ b/src/core/client/stream/tabs/comments/components/__snapshots__/RTE.spec.tsx.snap @@ -64,6 +64,7 @@ exports[`renders correctly 1`] = ` placeholderClassNameDisabled="" toolbarClassName="RTE-toolbar" toolbarClassNameDisabled="" + toolbarPosition="bottom" value="Hello world" /> diff --git a/src/core/client/stream/tabs/comments/components/__snapshots__/ReplyTo.spec.tsx.snap b/src/core/client/stream/tabs/comments/components/__snapshots__/ReplyTo.spec.tsx.snap new file mode 100644 index 000000000..d08f9007f --- /dev/null +++ b/src/core/client/stream/tabs/comments/components/__snapshots__/ReplyTo.spec.tsx.snap @@ -0,0 +1,24 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders correctly 1`] = ` + + + reply + + + } + > + + Replying to: <username></username> + + + +`; diff --git a/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.spec.tsx b/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.spec.tsx index 25a90d517..f2bcef6c1 100644 --- a/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.spec.tsx +++ b/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.spec.tsx @@ -25,6 +25,9 @@ it("renders correctly", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), autofocus: false, @@ -44,6 +47,9 @@ it("renders with initialValues", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), autofocus: false, @@ -68,6 +74,9 @@ it("save values", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), autofocus: false, @@ -104,6 +113,9 @@ it("creates a comment", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), onClose: onCloseStub, @@ -142,6 +154,9 @@ it("closes on cancel", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), onClose: onCloseStub, @@ -177,6 +192,9 @@ it("autofocuses", async () => { }, comment: { id: "comment-id", + author: { + username: "Joe", + }, }, sessionStorage: createPromisifiedStorage(), autofocus: true, diff --git a/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.tsx b/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.tsx index a634d2776..27c8f0ca1 100644 --- a/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.tsx +++ b/src/core/client/stream/tabs/comments/containers/ReplyCommentFormContainer.tsx @@ -115,6 +115,9 @@ export class ReplyCommentFormContainer extends Component { initialValues={this.state.initialValues} onCancel={this.handleOnCancel} rteRef={this.handleRTERef} + parentUsername={ + this.props.comment.author && this.props.comment.author.username + } /> ); } @@ -134,6 +137,9 @@ const enhanced = withContext(({ sessionStorage, browserInfo }) => ({ comment: graphql` fragment ReplyCommentFormContainer_comment on Comment { id + author { + username + } } `, })(ReplyCommentFormContainer) diff --git a/src/core/client/stream/tabs/comments/containers/__snapshots__/ReplyCommentFormContainer.spec.tsx.snap b/src/core/client/stream/tabs/comments/containers/__snapshots__/ReplyCommentFormContainer.spec.tsx.snap index 6f87c3a0a..bd1ab75ff 100644 --- a/src/core/client/stream/tabs/comments/containers/__snapshots__/ReplyCommentFormContainer.spec.tsx.snap +++ b/src/core/client/stream/tabs/comments/containers/__snapshots__/ReplyCommentFormContainer.spec.tsx.snap @@ -6,6 +6,7 @@ exports[`renders correctly 1`] = ` onCancel={[Function]} onChange={[Function]} onSubmit={[Function]} + parentUsername="Joe" rteRef={[Function]} /> `; @@ -21,6 +22,7 @@ exports[`renders with initialValues 1`] = ` onCancel={[Function]} onChange={[Function]} onSubmit={[Function]} + parentUsername="Joe" rteRef={[Function]} /> `; diff --git a/src/core/client/stream/test/comments/__snapshots__/editComment.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/editComment.spec.tsx.snap index 7a62d4e30..8d606219b 100644 --- a/src/core/client/stream/test/comments/__snapshots__/editComment.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/editComment.spec.tsx.snap @@ -125,7 +125,33 @@ exports[`cancel edit: edit canceled 1`] = ` className="" > +
+
- -
@@ -638,7 +638,33 @@ exports[`edit a comment: edit form 1`] = ` className="" > +
+
- -
@@ -793,7 +793,27 @@ exports[`edit a comment: edit form 1`] = ` className="" >
+
-
@@ -1174,7 +1174,33 @@ exports[`edit a comment: optimistic response 1`] = ` className="" > +
+
- -
@@ -1329,7 +1329,27 @@ exports[`edit a comment: optimistic response 1`] = ` className="" >
+
-
@@ -1710,7 +1710,33 @@ exports[`edit a comment: render stream 1`] = ` className="" > +
+
- -
@@ -2223,7 +2223,33 @@ exports[`edit a comment: server response 1`] = ` className="" > +
+
- -
@@ -2745,7 +2745,33 @@ exports[`shows expiry message: edit form closed 1`] = ` className="" > +
+
- -
@@ -3258,7 +3258,33 @@ exports[`shows expiry message: edit time expired 1`] = ` className="" > +
+
- -
@@ -3413,7 +3413,27 @@ exports[`shows expiry message: edit time expired 1`] = ` className="" >
+
-
diff --git a/src/core/client/stream/test/comments/__snapshots__/loadMore.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/loadMore.spec.tsx.snap index 7c9ab0f3a..6cbdf0852 100644 --- a/src/core/client/stream/test/comments/__snapshots__/loadMore.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/loadMore.spec.tsx.snap @@ -84,7 +84,32 @@ exports[`loads more comments 1`] = ` className="" > +
+
- -
@@ -646,7 +646,32 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/permalinkView.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/permalinkView.spec.tsx.snap index b8e21121c..ee62b5cc6 100644 --- a/src/core/client/stream/test/comments/__snapshots__/permalinkView.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/permalinkView.spec.tsx.snap @@ -891,7 +891,32 @@ exports[`show all comments 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/permalinkViewCommentNotFound.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/permalinkViewCommentNotFound.spec.tsx.snap index b1a83ba02..bde03fd75 100644 --- a/src/core/client/stream/test/comments/__snapshots__/permalinkViewCommentNotFound.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/permalinkViewCommentNotFound.spec.tsx.snap @@ -194,7 +194,32 @@ exports[`show all comments 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/postComment.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/postComment.spec.tsx.snap index 1473b25ab..6e6676d4a 100644 --- a/src/core/client/stream/test/comments/__snapshots__/postComment.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/postComment.spec.tsx.snap @@ -125,7 +125,27 @@ exports[`post a comment: optimistic response 1`] = ` className="" >
Hello world!", + } + } + disabled={true} + id="comments-postCommentForm-field" + onBlur={[Function]} + onChange={[Function]} + onCut={[Function]} + onFocus={[Function]} + onInput={[Function]} + onKeyDown={[Function]} + onPaste={[Function]} + onSelect={[Function]} + /> +
-
Hello world!", - } - } - disabled={true} - id="comments-postCommentForm-field" - onBlur={[Function]} - onChange={[Function]} - onCut={[Function]} - onFocus={[Function]} - onInput={[Function]} - onKeyDown={[Function]} - onPaste={[Function]} - onSelect={[Function]} - />
@@ -758,7 +758,33 @@ exports[`post a comment: server response 1`] = ` className="" > +
+
- -
@@ -1381,7 +1381,33 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/postLocalReply.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/postLocalReply.spec.tsx.snap index 62db67d06..860a55c52 100644 --- a/src/core/client/stream/test/comments/__snapshots__/postLocalReply.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/postLocalReply.spec.tsx.snap @@ -125,7 +125,33 @@ exports[`post a reply: open reply form 1`] = ` className="" > +
+
- -
@@ -1044,12 +1044,61 @@ exports[`post a reply: open reply form 1`] = ` > Write a reply +
+ + +   + + + Replying to: + + Markus + + +
+
+
- -
@@ -1299,7 +1322,33 @@ exports[`post a reply: optimistic response 1`] = ` className="" > +
+
- -
@@ -2218,12 +2241,55 @@ exports[`post a reply: optimistic response 1`] = ` > Write a reply +
+ + +   + + + Replying to: + + Markus + + +
Hello world!", + } + } + disabled={true} + id="comments-replyCommentForm-rte-comment-with-deepest-replies-5" + onBlur={[Function]} + onChange={[Function]} + onCut={[Function]} + onFocus={[Function]} + onInput={[Function]} + onKeyDown={[Function]} + onPaste={[Function]} + onSelect={[Function]} + /> +
-
Hello world!", - } - } - disabled={true} - id="comments-replyCommentForm-rte-comment-with-deepest-replies-5" - onBlur={[Function]} - onChange={[Function]} - onCut={[Function]} - onFocus={[Function]} - onInput={[Function]} - onKeyDown={[Function]} - onPaste={[Function]} - onSelect={[Function]} - />
@@ -2599,7 +2645,33 @@ exports[`post a reply: server response 1`] = ` className="" > +
+
- -
@@ -3762,7 +3808,33 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/postReply.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/postReply.spec.tsx.snap index 0e3da2d17..f4341ca95 100644 --- a/src/core/client/stream/test/comments/__snapshots__/postReply.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/postReply.spec.tsx.snap @@ -125,7 +125,33 @@ exports[`post a reply: open reply form 1`] = ` className="" > +
+
- -
@@ -378,12 +378,61 @@ exports[`post a reply: open reply form 1`] = ` > Write a reply +
+ + +   + + + Replying to: + + Markus + + +
+
+
- -
@@ -749,7 +772,33 @@ exports[`post a reply: optimistic response 1`] = ` className="" > +
+
- -
@@ -1002,12 +1025,55 @@ exports[`post a reply: optimistic response 1`] = ` > Write a reply +
+ + +   + + + Replying to: + + Markus + + +
Hello world!", + } + } + disabled={true} + id="comments-replyCommentForm-rte-comment-0" + onBlur={[Function]} + onChange={[Function]} + onCut={[Function]} + onFocus={[Function]} + onInput={[Function]} + onKeyDown={[Function]} + onPaste={[Function]} + onSelect={[Function]} + /> +
-
Hello world!", - } - } - disabled={true} - id="comments-replyCommentForm-rte-comment-0" - onBlur={[Function]} - onChange={[Function]} - onCut={[Function]} - onFocus={[Function]} - onInput={[Function]} - onKeyDown={[Function]} - onPaste={[Function]} - onSelect={[Function]} - />
@@ -1515,7 +1561,33 @@ exports[`post a reply: server response 1`] = ` className="" > +
+
- -
@@ -2144,7 +2190,33 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/renderReplies.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/renderReplies.spec.tsx.snap index 4d217e57b..d93f13749 100644 --- a/src/core/client/stream/test/comments/__snapshots__/renderReplies.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/renderReplies.spec.tsx.snap @@ -84,7 +84,32 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/renderStream.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/renderStream.spec.tsx.snap index b4d957e06..fa4efd937 100644 --- a/src/core/client/stream/test/comments/__snapshots__/renderStream.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/renderStream.spec.tsx.snap @@ -84,7 +84,32 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/showAllReplies.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/showAllReplies.spec.tsx.snap index e4438231d..531e75b6f 100644 --- a/src/core/client/stream/test/comments/__snapshots__/showAllReplies.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/showAllReplies.spec.tsx.snap @@ -84,7 +84,32 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
@@ -550,7 +550,32 @@ exports[`show all replies 1`] = ` className="" > +
+
- -
diff --git a/src/core/client/stream/test/comments/__snapshots__/showConversation.spec.tsx.snap b/src/core/client/stream/test/comments/__snapshots__/showConversation.spec.tsx.snap index e1c2bcef1..093d79ae4 100644 --- a/src/core/client/stream/test/comments/__snapshots__/showConversation.spec.tsx.snap +++ b/src/core/client/stream/test/comments/__snapshots__/showConversation.spec.tsx.snap @@ -84,7 +84,32 @@ exports[`renders comment stream 1`] = ` className="" > +
+
- -
diff --git a/src/locales/en-US/stream.ftl b/src/locales/en-US/stream.ftl index 2ad6524f9..e007ad0f8 100644 --- a/src/locales/en-US/stream.ftl +++ b/src/locales/en-US/stream.ftl @@ -85,6 +85,7 @@ comments-conversationThread-showHiddenComments = comments-permalinkView-currentViewing = You are currently viewing a comments-permalinkView-singleConversation = SINGLE CONVERSATION comments-inReplyTo = In reply to +comments-replyTo = Replying to: ## Profile Tab profile-historyComment-viewConversation = View Conversation