Browse Source

Update DirectMessageController

Daniel Supernault 4 years ago
parent
commit
4b90b1e0df

+ 2 - 1
app/Http/Controllers/DirectMessageController.php

@@ -307,6 +307,7 @@ class DirectMessageController extends Controller
 				'media' => $s->status->firstMedia() ? $s->status->firstMedia()->url() : null,
 				'timeAgo' => $s->created_at->diffForHumans(null,null,true),
 				'seen' => $s->read_at != null,
+				'reportId' => (string) $s->status_id,
 				'meta' => json_decode($s->meta,true)
 			];
 		});
@@ -589,7 +590,7 @@ class DirectMessageController extends Controller
 	{
 		$profile = $dm->author;
 		$url = $dm->recipient->inbox_url;
-		
+
 		$body = [
 			'@context' => [
 				'https://www.w3.org/ns/activitystreams',

+ 34 - 1
resources/assets/js/components/DirectMessage.vue

@@ -378,6 +378,14 @@
 					objDiv.scrollTop = objDiv.scrollHeight;
 				}, 300);
 			});
+
+			let options = localStorage.getItem('px_dm_options');
+			if(options) {
+				options = JSON.parse(options);
+				this.hideAvatars = options.hideAvatars;
+				this.hideTimestamps = options.hideTimestamps;
+				this.largerText = options.largerText;
+			}
 		},
 
 		watch: {
@@ -397,6 +405,21 @@
 				}
 				this.mutedNotifications = v;
 			},
+
+			hideAvatars: function(v) {
+				this.hideAvatars = v;
+				this.updateOptions();
+			},
+
+			hideTimestamps: function(v) {
+				this.hideTimestamps = v;
+				this.updateOptions();
+			},
+
+			largerText: function(v) {
+				this.largerText = v;
+				this.updateOptions();
+			},
 		},
 
 		updated() {
@@ -470,7 +493,7 @@
 
 			reportMessage() {
 				this.closeCtxMenu();
-				let url = '/i/report?type=post&id=' + this.ctxContext.id;
+				let url = '/i/report?type=post&id=' + this.ctxContext.reportId;
 				window.location.href = url;
 				return;
 			},
@@ -642,6 +665,16 @@
 
 			showOptions() {
 				this.page = 'options';
+			},
+
+			updateOptions() {
+				let options = {
+					v: 1,
+					hideAvatars: this.hideAvatars,
+					hideTimestamps: this.hideTimestamps,
+					largerText: this.largerText
+				}
+				window.localStorage.setItem('px_dm_options', JSON.stringify(options));
 			}
 		}
 	}