feat: support Chinese nickname in registration

- User input "昵称" stored in `name` field (supports Chinese)
- `username` auto-generated (PocketBase requires ASCII)
- Password rules displayed inline with real-time validation
- All UI displays prefer `name` over `username`

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
congsh
2026-04-18 13:01:41 +08:00
parent 262f946a4e
commit 5cec2101af
13 changed files with 191 additions and 74 deletions
@@ -130,13 +130,13 @@ async function onJoinRequestResponded(requestId: string) {
<div v-for="member in members" :key="member.id" class="member-row">
<img :src="member.avatar || '/default-avatar.svg'" class="member-avatar" alt="" />
<div class="member-info">
<span class="member-name">{{ member.username }}</span>
<span class="member-name">{{ member.name || member.username }}</span>
<span v-if="member.id === group.owner" class="owner-badge">群主</span>
</div>
<button
v-if="isOwner && member.id !== group.owner && member.id !== userStore.userId"
class="remove-btn"
@click="removeMember(member.id, member.username)"
@click="removeMember(member.id, member.name || member.username)"
>
移除
</button>