webui/src/pages/bug/.Bug.tsx.swp 🔗
Sascha created
webui/src/pages/bug/.Bug.tsx.swp | 0
webui/src/pages/bug/.TimelineQuery.tsx.swp | 0
webui/src/pages/bug/Bug.tsx | 2 +-
webui/src/pages/bug/Message.tsx | 13 ++++++++++++-
webui/src/pages/bug/Timeline.tsx | 8 +++++---
webui/src/pages/bug/TimelineQuery.tsx | 9 +++++----
6 files changed, 23 insertions(+), 9 deletions(-)
@@ -78,7 +78,7 @@ function Bug({ bug }: Props) {
<div className={classes.container}>
<div className={classes.timeline}>
- <TimelineQuery id={bug.id} />
+ <TimelineQuery bug={bug} />
<IfLoggedIn>
{() => (
<div className={classes.commentForm}>
@@ -9,7 +9,10 @@ import EditIcon from '@material-ui/icons/Edit';
import Author, { Avatar } from 'src/components/Author';
import Content from 'src/components/Content';
import Date from 'src/components/Date';
+import IfLoggedIn from 'src/components/IfLoggedIn/IfLoggedIn';
+import { BugFragment } from './Bug.generated';
+import CommentForm from './CommentForm';
import { AddCommentFragment } from './MessageCommentFragment.generated';
import { CreateFragment } from './MessageCreateFragment.generated';
@@ -65,10 +68,11 @@ const useStyles = makeStyles((theme) => ({
}));
type Props = {
+ bug: BugFragment;
op: AddCommentFragment | CreateFragment;
};
-function Message({ op }: Props) {
+function Message({ bug, op }: Props) {
const classes = useStyles();
const editComment = (id: String) => {
@@ -101,6 +105,13 @@ function Message({ op }: Props) {
<Content markdown={op.message} />
</section>
</Paper>
+ <IfLoggedIn>
+ {() => (
+ <div>
+ <CommentForm bug={bug} />
+ </div>
+ )}
+ </IfLoggedIn>
</article>
);
}
@@ -2,6 +2,7 @@ import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
+import { BugFragment } from './Bug.generated';
import LabelChange from './LabelChange';
import Message from './Message';
import SetStatus from './SetStatus';
@@ -18,9 +19,10 @@ const useStyles = makeStyles((theme) => ({
type Props = {
ops: Array<TimelineItemFragment>;
+ bug: BugFragment;
};
-function Timeline({ ops }: Props) {
+function Timeline({ bug, ops }: Props) {
const classes = useStyles();
return (
@@ -28,9 +30,9 @@ function Timeline({ ops }: Props) {
{ops.map((op, index) => {
switch (op.__typename) {
case 'CreateTimelineItem':
- return <Message key={index} op={op} />;
+ return <Message key={index} op={op} bug={bug} />;
case 'AddCommentTimelineItem':
- return <Message key={index} op={op} />;
+ return <Message key={index} op={op} bug={bug} />;
case 'LabelChangeTimelineItem':
return <LabelChange key={index} op={op} />;
case 'SetTitleTimelineItem':
@@ -2,17 +2,18 @@ import React from 'react';
import CircularProgress from '@material-ui/core/CircularProgress';
+import { BugFragment } from './Bug.generated';
import Timeline from './Timeline';
import { useTimelineQuery } from './TimelineQuery.generated';
type Props = {
- id: string;
+ bug: BugFragment;
};
-const TimelineQuery = ({ id }: Props) => {
+const TimelineQuery = ({ bug }: Props) => {
const { loading, error, data } = useTimelineQuery({
variables: {
- id,
+ id: bug.id,
first: 100,
},
});
@@ -25,7 +26,7 @@ const TimelineQuery = ({ id }: Props) => {
return null;
}
- return <Timeline ops={nodes} />;
+ return <Timeline ops={nodes} bug={bug} />;
};
export default TimelineQuery;