diff --git a/package.json b/package.json
index 5b75232510..a0ad8a9af6 100644
--- a/package.json
+++ b/package.json
@@ -75,6 +75,7 @@
"react-dnd-html5-backend": "^2.1.2",
"react-dom": "^15.6.0",
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
+ "react-sticky": "^6.0.1",
"sanitize-html": "^1.11.1",
"text-encoding-utf-8": "^1.0.1",
"ua-parser-js": "^0.7.10",
diff --git a/src/components/views/messages/DateSeparator.js b/src/components/views/messages/DateSeparator.js
index 84d63dd5ff..4dd60b1f42 100644
--- a/src/components/views/messages/DateSeparator.js
+++ b/src/components/views/messages/DateSeparator.js
@@ -17,6 +17,7 @@ limitations under the License.
import React from 'react';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import DateUtils from 'matrix-react-sdk/lib/DateUtils';
+import { Sticky } from 'react-sticky';
function getdaysArray() {
return [
@@ -53,7 +54,17 @@ module.exports = React.createClass({
}
return (
-
{ label }
+
+ {({style, isSticky, wasSticky, distanceFromTop}) => {
+ return (
+
+
{ label }
+
+ );
+ }}
+
);
- }
+ },
});
diff --git a/src/skins/vector/css/vector-web/views/messages/_DateSeparator.scss b/src/skins/vector/css/vector-web/views/messages/_DateSeparator.scss
index f676d24bef..5b36359e35 100644
--- a/src/skins/vector/css/vector-web/views/messages/_DateSeparator.scss
+++ b/src/skins/vector/css/vector-web/views/messages/_DateSeparator.scss
@@ -16,10 +16,26 @@ limitations under the License.
.mx_DateSeparator {
clear: both;
- margin-top: 32px;
- margin-bottom: 8px;
+ margin-top: 0px;
+ margin-bottom: 0px;
margin-left: 63px;
+ padding-top: 5px;
padding-bottom: 6px;
border-bottom: 1px solid $primary-hairline-color;
}
+.mx_DateSeparator_container {
+ margin-top: 27px;
+ margin-bottom: 8px;
+ background-color: $primary-bg-color;
+ z-index: 3;
+}
+
+.mx_DateSeparator_container_sticky {
+ position: relative;
+ border-bottom: 1px solid $primary-hairline-color;
+}
+
+.mx_DateSeparator_container_sticky .mx_DateSeparator {
+ border: 0px;
+}