v0.5.0 UI and new message rules
This commit is contained in:
@@ -57,8 +57,12 @@ export default function NewChatModal({ onClose, onCreated }) {
|
||||
};
|
||||
}
|
||||
|
||||
const { group } = await api.createGroup(payload);
|
||||
toast(isDirect ? 'Direct message started!' : `${tab === 'public' ? 'Public message' : 'Group message'} created!`, 'success');
|
||||
const { group, duplicate } = await api.createGroup(payload);
|
||||
if (duplicate) {
|
||||
toast('A group with these members already exists — opening it now.', 'info');
|
||||
} else {
|
||||
toast(isDirect ? 'Direct message started!' : `${tab === 'public' ? 'Public message' : 'Group message'} created!`, 'success');
|
||||
}
|
||||
onCreated(group);
|
||||
} catch (e) {
|
||||
toast(e.message, 'error');
|
||||
@@ -89,8 +93,8 @@ export default function NewChatModal({ onClose, onCreated }) {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Message Name — hidden for direct (1-user) messages */}
|
||||
{!isDirect && (
|
||||
{/* Message Name — only shown when needed: public always, private only when 2+ members selected */}
|
||||
{(tab === 'public' || (tab === 'private' && selected.length > 1)) && (
|
||||
<div className="flex-col gap-2" style={{ marginBottom: 16 }}>
|
||||
<label className="text-sm font-medium" style={{ color: 'var(--text-secondary)' }}>Message Name</label>
|
||||
<input
|
||||
@@ -98,7 +102,6 @@ export default function NewChatModal({ onClose, onCreated }) {
|
||||
value={name}
|
||||
onChange={e => setName(e.target.value)}
|
||||
placeholder={namePlaceholder}
|
||||
autoFocus={tab === 'public'}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
@@ -118,7 +121,7 @@ export default function NewChatModal({ onClose, onCreated }) {
|
||||
<label className="text-sm font-medium" style={{ color: 'var(--text-secondary)' }}>
|
||||
{isDirect ? 'Direct Message with' : 'Add Members'}
|
||||
</label>
|
||||
<input className="input" placeholder="Search users..." value={search} onChange={e => setSearch(e.target.value)} autoFocus />
|
||||
<input className="input" placeholder="Search users..." value={search} onChange={e => setSearch(e.target.value)} />
|
||||
</div>
|
||||
|
||||
{selected.length > 0 && (
|
||||
|
||||
Reference in New Issue
Block a user