diff --git a/src/components/common/messaging/MessageBox.tsx b/src/components/common/messaging/MessageBox.tsx
index e122b089f2ffabb8b2d4b607d4ff251d5f81ff8f..404e48e19bb3c644e9d4e5f91312eddcd01af431 100644
--- a/src/components/common/messaging/MessageBox.tsx
+++ b/src/components/common/messaging/MessageBox.tsx
@@ -1,5 +1,6 @@
 import { ulid } from "ulid";
 import { Text } from "preact-i18n";
+import Tooltip from "../Tooltip";
 import { Channel } from "revolt.js";
 import styled from "styled-components";
 import { defer } from "../../../lib/defer";
@@ -28,6 +29,7 @@ import { ShieldX } from "@styled-icons/boxicons-regular";
 
 import ReplyBar from "./bars/ReplyBar";
 import FilePreview from './bars/FilePreview';
+import { Styleshare } from "@styled-icons/simple-icons";
 
 type Props = WithDispatcher & {
     channel: Channel;
@@ -88,7 +90,9 @@ function MessageBox({ channel, draft, dispatcher }: Props) {
         return (
             <Base>
                 <Blocked>
-                    <ShieldX size={22}/>
+                    <Tooltip content={<div>Permissions Required<div>Send messages</div></div>} placement="top">
+                        <ShieldX size={22}/>
+                    </Tooltip>
                     <Text id="app.main.channel.misc.no_sending" />
                 </Blocked>
             </Base>
diff --git a/src/pages/settings/server/Invites.tsx b/src/pages/settings/server/Invites.tsx
index 1b37235740150f5f4b669d090b3a420674d1edff..a80c07c342ac0b0694966de8491fb1fd3fcba0e0 100644
--- a/src/pages/settings/server/Invites.tsx
+++ b/src/pages/settings/server/Invites.tsx
@@ -1,3 +1,4 @@
+import { Text } from "preact-i18n";
 import styles from './Panes.module.scss';
 import { XCircle } from "@styled-icons/boxicons-regular";
 import { useEffect, useState } from "preact/hooks";
@@ -27,6 +28,12 @@ export function Invites({ server }: Props) {
 
     return (
         <div className={styles.invites}>
+            <div className={styles.subtitle}>
+                <span>Invite Code</span>
+                <span>Invitor</span>
+                <span>Channel</span>
+                <span>Revoke</span>
+            </div>
             { typeof invites === 'undefined' && <Preloader type="ring" /> }
             {
                 invites?.map(
diff --git a/src/pages/settings/server/Panes.module.scss b/src/pages/settings/server/Panes.module.scss
index 7f518a68b2c8ffcb2cae32b48b9c30d687607a27..ba25ba08e2a329a336198447906234411dadc079 100644
--- a/src/pages/settings/server/Panes.module.scss
+++ b/src/pages/settings/server/Panes.module.scss
@@ -18,9 +18,18 @@
     display: flex;
     flex-direction: column;
 
+    .subtitle {
+        display: flex;
+        justify-content: space-between;
+        font-size: 13px;
+        text-transform: uppercase;
+        color: var(--secondary-foreground);
+        font-weight: 700;
+    }
+
     .invite {
         gap: 8px;
-        padding: 8px;
+        padding: 10px;
         display: flex;
         align-items: center;
         flex-direction: row;