From a2721971ba82a6ba0e735bd06cf555a4c1bca84e Mon Sep 17 00:00:00 2001
From: Quentin Gliech <quentingliech@gmail.com>
Date: Mon, 3 Feb 2020 23:08:26 +0100
Subject: webui: generate TS types for graphql queries

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

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

diff --git a/webui/src/bug/Bug.tsx b/webui/src/bug/Bug.tsx
new file mode 100644
index 00000000..75b6ffff
--- /dev/null
+++ b/webui/src/bug/Bug.tsx
@@ -0,0 +1,92 @@
+import { makeStyles } from '@material-ui/core/styles';
+import Typography from '@material-ui/core/Typography/Typography';
+import React from 'react';
+import Author from '../Author';
+import Date from '../Date';
+import TimelineQuery from './TimelineQuery';
+import Label from '../Label';
+import { BugFragment } from './Bug.generated';
+
+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>
+    </main>
+  );
+}
+
+export default Bug;
-- 
cgit 


From 6a502c145bd8f2e2e1a9c0b103c11f0433c60737 Mon Sep 17 00:00:00 2001
From: Quentin Gliech <quentingliech@gmail.com>
Date: Tue, 4 Feb 2020 20:57:43 +0100
Subject: webui: convert bug list to typescript

---
 webui/src/bug/Bug.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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

diff --git a/webui/src/bug/Bug.tsx b/webui/src/bug/Bug.tsx
index 75b6ffff..3685b506 100644
--- a/webui/src/bug/Bug.tsx
+++ b/webui/src/bug/Bug.tsx
@@ -52,7 +52,7 @@ const useStyles = makeStyles(theme => ({
 }));
 
 type Props = {
-  bug: BugFragment
+  bug: BugFragment;
 };
 
 function Bug({ bug }: Props) {
-- 
cgit 


From 9ddcb4b09215f942cb7889f9756d426ad3c90253 Mon Sep 17 00:00:00 2001
From: Quentin Gliech <quentingliech@gmail.com>
Date: Tue, 11 Feb 2020 20:54:01 +0100
Subject: webui: force import order

---
 webui/src/bug/Bug.tsx | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

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

diff --git a/webui/src/bug/Bug.tsx b/webui/src/bug/Bug.tsx
index 3685b506..f4029a5f 100644
--- a/webui/src/bug/Bug.tsx
+++ b/webui/src/bug/Bug.tsx
@@ -1,11 +1,13 @@
-import { makeStyles } from '@material-ui/core/styles';
 import Typography from '@material-ui/core/Typography/Typography';
+import { makeStyles } from '@material-ui/core/styles';
 import React from 'react';
+
 import Author from '../Author';
 import Date from '../Date';
-import TimelineQuery from './TimelineQuery';
 import Label from '../Label';
+
 import { BugFragment } from './Bug.generated';
+import TimelineQuery from './TimelineQuery';
 
 const useStyles = makeStyles(theme => ({
   main: {
-- 
cgit 

