v0.10.5 added some new permission options

This commit is contained in:
2026-03-20 20:27:44 -04:00
parent f49fd5b885
commit 241d913e0f
11 changed files with 374 additions and 7 deletions

View File

@@ -38,9 +38,11 @@ export default function UserProfilePopup({ user: profileUser, anchorEl, onClose,
popup.style.left = `${left}px`;
}, [anchorEl]);
const [dmError, setDmError] = useState('');
const handleDM = async () => {
if (!onDirectMessage) return;
setStarting(true);
setDmError('');
try {
const { group } = await api.createGroup({
type: 'private',
@@ -50,7 +52,11 @@ export default function UserProfilePopup({ user: profileUser, anchorEl, onClose,
onClose();
onDirectMessage(group);
} catch (e) {
console.error('DM error', e);
if (e.message?.includes('DM_RESTRICTED') || e.message?.includes('not permitted')) {
setDmError('Direct messages with this user are not permitted.');
} else {
console.error('DM error', e);
}
} finally {
setStarting(false);
}
@@ -97,7 +103,10 @@ export default function UserProfilePopup({ user: profileUser, anchorEl, onClose,
</p>
)}
{!isSelf && onDirectMessage && (
profileUser.allow_dm === 0 ? (
{dmError && (
<div style={{ fontSize:12, color:'var(--error)', padding:'4px 0', textAlign:'center' }}>{dmError}</div>
)}
{profileUser.allow_dm === 0 ? (
<p style={{
marginTop: 8,
textAlign: 'center',