diff --git a/src/components/generic-accounts.css b/src/components/generic-accounts.css
index ab82ee97..ec27ebe7 100644
--- a/src/components/generic-accounts.css
+++ b/src/components/generic-accounts.css
@@ -17,6 +17,21 @@
       );
       filter: saturate(0.5);
     }
+
+    &:is(a) {
+      pointer-events: auto;
+      display: block;
+      text-decoration: none;
+      color: inherit;
+
+      &:hover {
+        border-color: var(--outline-hover-color);
+      }
+
+      .status {
+        filter: none;
+      }
+    }
   }
 
   .accounts-list {
diff --git a/src/components/generic-accounts.jsx b/src/components/generic-accounts.jsx
index 1b502a94..478ee403 100644
--- a/src/components/generic-accounts.jsx
+++ b/src/components/generic-accounts.jsx
@@ -11,6 +11,7 @@ import useLocationChange from '../utils/useLocationChange';
 
 import AccountBlock from './account-block';
 import Icon from './icon';
+import Link from './link';
 import Loader from './loader';
 import Status from './status';
 
@@ -143,9 +144,12 @@ export default function GenericAccounts({
       </header>
       <main>
         {post && (
-          <div class="post-preview">
+          <Link
+            to={`/${instance || currentInstance}/s/${post.id}`}
+            class="post-preview"
+          >
             <Status status={post} size="s" readOnly />
-          </div>
+          </Link>
         )}
         {accounts.length > 0 ? (
           <>