From ce6f6a984b374b189141116433ced80dfa0c2aae Mon Sep 17 00:00:00 2001
From: Quentin Gliech <quentingliech@gmail.com>
Date: Thu, 13 Feb 2020 20:00:03 +0100
Subject: webui: move pages components

---
 webui/src/pages/bug/Bug.tsx | 98 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)
 create mode 100644 webui/src/pages/bug/Bug.tsx

(limited to 'webui/src/pages/bug/Bug.tsx')

diff --git a/webui/src/pages/bug/Bug.tsx b/webui/src/pages/bug/Bug.tsx
new file mode 100644
index 00000000..998c9528
--- /dev/null
+++ b/webui/src/pages/bug/Bug.tsx
@@ -0,0 +1,98 @@
+import React from 'react';
+
+import Typography from '@material-ui/core/Typography/Typography';
+import { makeStyles } from '@material-ui/core/styles';
+
+import Author from 'src/components/Author';
+import Date from 'src/components/Date';
+import Label from 'src/components/Label';
+
+import { BugFragment } from './Bug.generated';
+import CommentForm from './CommentForm';
+import TimelineQuery from './TimelineQuery';
+
+const useStyles = makeStyles(theme => ({
+  main: {
+    maxWidth: 800,
+    margin: 'auto',
+    marginTop: theme.spacing(4),
+  },
+  header: {
+    marginLeft: theme.spacing(1) + 40,
+  },
+  title: {
+    ...theme.typography.h5,
+  },
+  id: {
+    ...theme.typography.subtitle1,
+    marginLeft: theme.spacing(1),
+  },
+  container: {
+    display: 'flex',
+    marginBottom: theme.spacing(1),
+  },
+  timeline: {
+    flex: 1,
+    marginTop: theme.spacing(2),
+    marginRight: theme.spacing(2),
+    minWidth: 0,
+  },
+  sidebar: {
+    marginTop: theme.spacing(2),
+    flex: '0 0 200px',
+  },
+  labelList: {
+    listStyle: 'none',
+    padding: 0,
+    margin: 0,
+  },
+  label: {
+    marginTop: theme.spacing(1),
+    marginBottom: theme.spacing(1),
+    '& > *': {
+      display: 'block',
+    },
+  },
+}));
+
+type Props = {
+  bug: BugFragment;
+};
+
+function Bug({ bug }: Props) {
+  const classes = useStyles();
+  return (
+    <main className={classes.main}>
+      <div className={classes.header}>
+        <span className={classes.title}>{bug.title}</span>
+        <span className={classes.id}>{bug.humanId}</span>
+
+        <Typography color={'textSecondary'}>
+          <Author author={bug.author} />
+          {' opened this bug '}
+          <Date date={bug.createdAt} />
+        </Typography>
+      </div>
+
+      <div className={classes.container}>
+        <div className={classes.timeline}>
+          <TimelineQuery id={bug.id} />
+        </div>
+        <div className={classes.sidebar}>
+          <Typography variant={'subtitle1'}>Labels</Typography>
+          <ul className={classes.labelList}>
+            {bug.labels.map(l => (
+              <li className={classes.label} key={l.name}>
+                <Label label={l} key={l.name} />
+              </li>
+            ))}
+          </ul>
+        </div>
+      </div>
+
+      <CommentForm bugId={bug.id} />
+    </main>
+  );
+}
+
+export default Bug;
-- 
cgit 


From 86a35f182975167ffe836f6d5f63260828dbca58 Mon Sep 17 00:00:00 2001
From: Michael Muré <batolettre@gmail.com>
Date: Sun, 16 Feb 2020 02:51:27 +0100
Subject: webui: more styling on the bug page

---
 webui/src/pages/bug/Bug.tsx | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

(limited to 'webui/src/pages/bug/Bug.tsx')

diff --git a/webui/src/pages/bug/Bug.tsx b/webui/src/pages/bug/Bug.tsx
index 998c9528..3c4bb63b 100644
--- a/webui/src/pages/bug/Bug.tsx
+++ b/webui/src/pages/bug/Bug.tsx
@@ -13,7 +13,7 @@ import TimelineQuery from './TimelineQuery';
 
 const useStyles = makeStyles(theme => ({
   main: {
-    maxWidth: 800,
+    maxWidth: 1000,
     margin: 'auto',
     marginTop: theme.spacing(4),
   },
@@ -41,6 +41,9 @@ const useStyles = makeStyles(theme => ({
     marginTop: theme.spacing(2),
     flex: '0 0 200px',
   },
+  sidebarTitle: {
+    fontWeight: 'bold',
+  },
   labelList: {
     listStyle: 'none',
     padding: 0,
@@ -53,6 +56,12 @@ const useStyles = makeStyles(theme => ({
       display: 'block',
     },
   },
+  noLabel: {
+    ...theme.typography.body2,
+  },
+  commentForm: {
+    marginLeft: 48,
+  },
 }));
 
 type Props = {
@@ -77,10 +86,16 @@ function Bug({ bug }: Props) {
       <div className={classes.container}>
         <div className={classes.timeline}>
           <TimelineQuery id={bug.id} />
+          <div className={classes.commentForm}>
+            <CommentForm bugId={bug.id} />
+          </div>
         </div>
         <div className={classes.sidebar}>
-          <Typography variant={'subtitle1'}>Labels</Typography>
+          <span className={classes.sidebarTitle}>Labels</span>
           <ul className={classes.labelList}>
+            {bug.labels.length === 0 && (
+              <span className={classes.noLabel}>None yet</span>
+            )}
             {bug.labels.map(l => (
               <li className={classes.label} key={l.name}>
                 <Label label={l} key={l.name} />
@@ -89,8 +104,6 @@ function Bug({ bug }: Props) {
           </ul>
         </div>
       </div>
-
-      <CommentForm bugId={bug.id} />
     </main>
   );
 }
-- 
cgit 

