Changed groups collection listRule and viewRule from member-only to
any authenticated user, so users can find and join groups. Also
improved registration error messages with Chinese validation feedback.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Extract PocketBase validation errors (duplicate email/username/password)
and display them in Chinese. Also improve login error message.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Use @element-plus/icons-vue components for consistent, scalable vector
icons across sidebar navigation, section headers, ratings, and buttons.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Game library: add/delete games per group, JSON/CSV import/export, favorites, star ratings & comments
- Fix team session creation: add creator to members array, handle null currentGroup
- Fix image loading: rename SVG files from .png to .svg extensions
- Add PocketBase migrations for game_comments and game_favorites collections
- Remove seed data script
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Seed 33 popular games across 5 platforms via admin API script
- Add GameDetailDialog with game info and quick-team button
- Update GamesLibrary with game card click to open detail dialog
- Update Home hot games to open detail dialog instead of navigating
- Rewrite invitation accept: frontend auto-joins team + updates status
- Add user status reset on team dissolution (endGame)
- Add start game / dissolve buttons to TeamSessionPanel lifecycle
- Integrate realtime subscriptions in GroupView and Layout
- Add notification store realtime invitation listener
- Add placeholder images for game covers and avatars
- Remove Go hooks, add JS hooks placeholder + Docker mount
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Remove VITE_PB_URL=/api from Dockerfile (SDK auto-appends /api)
- Fix nginx proxy_pass to keep /api/ prefix for PocketBase
- Update pocketbase.ts fallback to window.location.origin
- Update PocketBase proxy target to port 8090
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Fix teamSessions → team_sessions to match PocketBase collection name
- Replace <a @click> with <router-link> in Login and Register views
- Update PocketBase default URL and vite proxy target
- Comment out docker-compose user directive for permission fix
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Primary: emerald green (#059669), accent: deep purple (#7c3aed)
- Light backgrounds: #f0fdf4 page, #ffffff cards
- Login/Register: light gradient bg, white card, Element Plus inputs
- NotFound: matching light theme
- All pages follow via CSS variables
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Replace unsafe type assertions with safe AuthRecord() method
- Remove unused 'strings' import
- Remove unused ServeEvent struct and binding
- Use proper error response methods (apis.NewForbiddenError)
- Use app.Subscriptions().Broadcast() instead of Realtime()
- Fix hook signatures to return error instead of next function
Add PocketBase hooks for group management and real-time notifications:
- Groups collection with owner/members permissions
- Team Sessions with group member verification
- Invitations with real-time notifications
- Helper functions for group ownership and membership checks
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Pin PocketBase image to v0.22.4 instead of latest
- Add healthcheck to docker-compose.yml
- Add environment variables documentation to README.md
- Add development and production environment sections
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>