diff --git a/web/src/icons/delete.svg b/web/src/icons/delete.svg
new file mode 100644
index 0000000..a5dfc5c
--- /dev/null
+++ b/web/src/icons/delete.svg
@@ -0,0 +1 @@
+
diff --git a/web/src/icons/lock-clock.svg b/web/src/icons/lock-clock.svg
new file mode 100644
index 0000000..d703df7
--- /dev/null
+++ b/web/src/icons/lock-clock.svg
@@ -0,0 +1 @@
+
diff --git a/web/src/icons/lock.svg b/web/src/icons/lock.svg
new file mode 100644
index 0000000..d4fe312
--- /dev/null
+++ b/web/src/icons/lock.svg
@@ -0,0 +1 @@
+
diff --git a/web/src/ui/timeline/TimelineEvent.css b/web/src/ui/timeline/TimelineEvent.css
index 141c9d3..259b58c 100644
--- a/web/src/ui/timeline/TimelineEvent.css
+++ b/web/src/ui/timeline/TimelineEvent.css
@@ -126,6 +126,26 @@ div.date-separator {
}
}
+div.decryption-error-body {
+ display: flex;
+ align-items: center;
+
+ > svg {
+ height: 20px;
+ color: red;
+ }
+}
+
+div.redacted-body, div.decryption-pending-body {
+ display: flex;
+ align-items: center;
+ color: #888;
+
+ > svg {
+ height: 20px;
+ }
+}
+
div.html-body {
overflow: hidden;
img[data-mx-emoticon] {
diff --git a/web/src/ui/timeline/content/EncryptedBody.tsx b/web/src/ui/timeline/content/EncryptedBody.tsx
index 54d2e61..32da177 100644
--- a/web/src/ui/timeline/content/EncryptedBody.tsx
+++ b/web/src/ui/timeline/content/EncryptedBody.tsx
@@ -14,12 +14,14 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see