v0.10.7 UI rule changes

This commit is contained in:
2026-03-21 11:55:50 -04:00
parent 82a521f12c
commit e0e800012c
9 changed files with 81 additions and 11 deletions

View File

@@ -198,14 +198,16 @@ export default function GroupInfoModal({ group, onClose, onUpdated, onBack }) {
<div key={m.id} className="flex items-center" style={{ gap: 10, padding: '6px 0' }}>
<Avatar user={m} size="sm" />
<span className="flex-1 text-sm">{m.name}</span>
{m.id === group.owner_id && <span className="text-xs" style={{ color: 'var(--text-tertiary)' }}>Owner</span>}
{canManage && m.id !== group.owner_id && (
{m.status === 'deleted' && <span className="text-xs" style={{ color: 'var(--error)', marginRight: 4 }}>Deleted</span>}
{m.id === group.owner_id && m.status !== 'deleted' && <span className="text-xs" style={{ color: 'var(--text-tertiary)' }}>Owner</span>}
{/* Allow removal if: canManage + not owner, OR admin + deleted orphan */}
{(( canManage && m.id !== group.owner_id) || (isAdmin && m.status === 'deleted')) && (
<button
onClick={() => handleRemove(m)}
title="Remove"
style={{ background: 'none', border: 'none', cursor: 'pointer', color: 'var(--text-tertiary)', padding: '2px 4px', borderRadius: 4, lineHeight: 1, transition: 'color var(--transition)' }}
title={m.status === 'deleted' ? 'Remove orphaned member' : 'Remove'}
style={{ background: 'none', border: 'none', cursor: 'pointer', color: m.status === 'deleted' ? 'var(--error)' : 'var(--text-tertiary)', padding: '2px 4px', borderRadius: 4, lineHeight: 1, transition: 'color var(--transition)' }}
onMouseEnter={e => e.currentTarget.style.color = 'var(--error)'}
onMouseLeave={e => e.currentTarget.style.color = 'var(--text-tertiary)'}
onMouseLeave={e => e.currentTarget.style.color = m.status === 'deleted' ? 'var(--error)' : 'var(--text-tertiary)'}
>
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5">
<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>