diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 398060e7..0c75527b 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1421,6 +1421,30 @@
"@babel/runtime": "^7.4.4"
}
},
+ "@material-ui/lab": {
+ "version": "4.0.0-alpha.57",
+ "resolved": "https://registry.npmjs.org/@material-ui/lab/-/lab-4.0.0-alpha.57.tgz",
+ "integrity": "sha512-qo/IuIQOmEKtzmRD2E4Aa6DB4A87kmY6h0uYhjUmrrgmEAgbbw9etXpWPVXuRK6AGIQCjFzV6WO2i21m1R4FCw==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.2",
+ "clsx": "^1.0.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ },
+ "dependencies": {
+ "@material-ui/utils": {
+ "version": "4.11.2",
+ "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.2.tgz",
+ "integrity": "sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ }
+ }
+ }
+ },
"@material-ui/styles": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.10.0.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index b4cbfd3a..f047d6e2 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -10,6 +10,7 @@
"@grpc/proto-loader": "~0.5.4",
"@material-ui/core": "^4.3.0",
"@material-ui/icons": "^4.2.1",
+ "@material-ui/lab": "^4.0.0-alpha.57",
"@material-ui/styles": "^4.3.0",
"apexcharts": "^3.22.2",
"async": "~1.5.2",
diff --git a/frontend/src/pages/squeak/Squeak.js b/frontend/src/pages/squeak/Squeak.js
index 9c5748fc..97b1ae99 100644
--- a/frontend/src/pages/squeak/Squeak.js
+++ b/frontend/src/pages/squeak/Squeak.js
@@ -8,6 +8,16 @@ import {
Box,
} from "@material-ui/core";
+import Timeline from '@material-ui/lab/Timeline';
+import TimelineItem from '@material-ui/lab/TimelineItem';
+import TimelineSeparator from '@material-ui/lab/TimelineSeparator';
+import TimelineConnector from '@material-ui/lab/TimelineConnector';
+import TimelineContent from '@material-ui/lab/TimelineContent';
+import TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';
+import TimelineDot from '@material-ui/lab/TimelineDot';
+
+import FaceIcon from '@material-ui/icons/Face';
+
// styles
import useStyles from "./styles";
@@ -89,80 +99,132 @@ export default function SqueakPage() {
)
}
return (
-
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
function AncestorsContent() {
return (
-
+ <>
{ancestorSqueaks.slice(0, -1)
//.reverse()
.map(ancestorSqueak =>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)}
-
+ >
+ )
+ }
+
+ function CurrentSqueakContent() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
function RepliesContent() {
console.log("replySqueaks: " + replySqueaks);
return (
-
+ <>
{replySqueaks
.map(replySqueak =>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)}
-
+ >
)
}
function SqueakContent() {
return (
- <>
+
+
{UnkownReplyToContent()}
{AncestorsContent()}
-
-
-
-
+ {CurrentSqueakContent()}
{RepliesContent()}
- >
+
+
)
}
diff --git a/frontend/src/pages/squeak/styles.js b/frontend/src/pages/squeak/styles.js
index 976accde..248c1ae5 100644
--- a/frontend/src/pages/squeak/styles.js
+++ b/frontend/src/pages/squeak/styles.js
@@ -12,4 +12,8 @@ export default makeStyles(theme => ({
text: {
marginBottom: theme.spacing(2),
},
+ oppositeContent: {
+ // TODO: adjust this value accordingly
+ flex: 0.0
+ }
}));
diff --git a/frontend/src/pages/squeakaddress/SqueakAddress.js b/frontend/src/pages/squeakaddress/SqueakAddress.js
index 6e6d7704..50bff007 100644
--- a/frontend/src/pages/squeakaddress/SqueakAddress.js
+++ b/frontend/src/pages/squeakaddress/SqueakAddress.js
@@ -16,6 +16,16 @@ import Widget from "../../components/Widget";
import SqueakThreadItem from "../../components/SqueakThreadItem";
import CreateContactProfileDialog from "../../components/CreateContactProfileDialog";
+import Timeline from '@material-ui/lab/Timeline';
+import TimelineItem from '@material-ui/lab/TimelineItem';
+import TimelineSeparator from '@material-ui/lab/TimelineSeparator';
+import TimelineConnector from '@material-ui/lab/TimelineConnector';
+import TimelineContent from '@material-ui/lab/TimelineContent';
+import TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';
+import TimelineDot from '@material-ui/lab/TimelineDot';
+
+import FaceIcon from '@material-ui/icons/Face';
+
import {
getSqueakProfileByAddressRequest,
getAddressSqueakDisplaysRequest,
@@ -99,17 +109,29 @@ export default function SqueakAddressPage() {
<>
{squeaks.map(squeak =>
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)}
>
diff --git a/frontend/src/pages/squeakaddress/styles.js b/frontend/src/pages/squeakaddress/styles.js
index 976accde..1921f812 100644
--- a/frontend/src/pages/squeakaddress/styles.js
+++ b/frontend/src/pages/squeakaddress/styles.js
@@ -12,4 +12,8 @@ export default makeStyles(theme => ({
text: {
marginBottom: theme.spacing(2),
},
+ oppositeContent: {
+ // TODO: adjust this value accordingly
+ flex: 0.0
+ }
}));
diff --git a/frontend/src/pages/timeline/Timeline.js b/frontend/src/pages/timeline/Timeline.js
index 3c5911ea..2dc72db0 100644
--- a/frontend/src/pages/timeline/Timeline.js
+++ b/frontend/src/pages/timeline/Timeline.js
@@ -23,6 +23,16 @@ import {
} from "recharts";
import EditIcon from '@material-ui/icons/Edit';
+import Timeline from '@material-ui/lab/Timeline';
+import TimelineItem from '@material-ui/lab/TimelineItem';
+import TimelineSeparator from '@material-ui/lab/TimelineSeparator';
+import TimelineConnector from '@material-ui/lab/TimelineConnector';
+import TimelineContent from '@material-ui/lab/TimelineContent';
+import TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';
+import TimelineDot from '@material-ui/lab/TimelineDot';
+
+import FaceIcon from '@material-ui/icons/Face';
+
// styles
import useStyles from "./styles";
@@ -98,17 +108,29 @@ export default function TimelinePage() {
<>
{squeaks.map(squeak =>
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)}
>
diff --git a/frontend/src/pages/timeline/styles.js b/frontend/src/pages/timeline/styles.js
index 92fd73df..878fa3e1 100644
--- a/frontend/src/pages/timeline/styles.js
+++ b/frontend/src/pages/timeline/styles.js
@@ -17,4 +17,8 @@ export default makeStyles(theme => ({
bottom: theme.spacing(4),
right: theme.spacing(4),
},
+ oppositeContent: {
+ // TODO: adjust this value accordingly
+ flex: 0.0
+ }
}));