Commit Graph

18 Commits

Author SHA1 Message Date
kurihada 12279117f3 feat: 全局主题切换(浅色/深色/跟随系统)
- CSS 变量驱动的主题系统,所有颜色响应 data-theme 属性
- 新增语义化色彩 heading/secondary/tertiary,替换硬编码 text-white/text-gray-*
- 右上角三态主题按钮(自动/浅色/深色),全局可用无需登录
- layout.tsx 内联脚本防闪烁
- 修复个人中心页面溢出无法滚动
2026-02-26 15:15:32 +08:00
kurihada 7aa6c7f792 feat: 全局用户头像徽章,所有页面右上角统一显示
- 新增 GlobalUserBadge 组件,固定在右上角,已登录显示头像+用户名,未登录显示登录按钮
- 通过 layout.tsx 全局挂载,仅在个人中心页隐藏
- userId.ts 登录/登出时派发 nowhatever_auth 事件,组件实时响应
- 移除各页面重复的用户指示器(首页、极速救场、周末契约大厅、个人中心顶栏退出按钮)
- TopNav 右侧留出空间避免与全局徽章重叠
- 头像徽章采用暗色主题风格(bg-surface/80)
2026-02-26 14:42:40 +08:00
kurihada 1e7851fdb5 feat: 首页添加用户登录状态指示器
- 已登录:右上角显示头像 + 用户名,点击进入个人中心
- 未登录:右上角显示"登录"按钮,点击弹出注册/登录弹窗
2026-02-26 14:22:13 +08:00
kurihada 14b0aaece4 feat: 盲盒房间体系重构 — 强制登录、独立房间、用户归属
- 新增 BlindBoxRoom/BlindBoxMember 模型,BlindBoxIdea 增加 userId/drawnById
- 新增房间 API(创建/加入/列表/详情),所有盲盒 API 增加认证和成员校验
- 新建盲盒大厅页面(三层引导式设计:未登录氛围页/首次创建引导/房间列表)
- 新建盲盒房间页面(成员校验/邀请分享/用户归属展示/自动聚焦)
- 首页删除契约画廊和 localStorage 盲盒逻辑,周末契约跳转到 /blindbox
- 清理旧路由 /room/[id]/blindbox
- 提取共享工具 src/lib/blindbox.ts(错误响应/房间号生成/成员校验)
- AuthModal 支持 defaultTab 参数
- 更新项目规范:新项目原则、代码优雅和复用优先
2026-02-26 12:25:32 +08:00
kurihada 7d51f5200d feat: 新增周末契约盲盒功能,首页重构为双模式入口
- 新增 BlindBoxIdea 数据模型及 migration
- 新增盲盒 API (提交想法/查询/抽取)
- 新增周末契约盲盒页面 (动效震动+彩带开奖)
- 原首页功能拆分至 /panic 路由
- 首页重构为极速救场 + 周末契约双卡片入口
2026-02-26 11:27:10 +08:00
kurihada 45b31e9319 ui: 压缩首页布局适配小屏手机
- Logo 与标题改为横排显示
- 缩小图标和间距,整体高度减少
- 确保创建房间按钮在小屏上可见
2026-02-25 14:37:00 +08:00
kurihada cc7f6d55a7 feat: 添加品牌 Logo、favicon、Apple Touch Icon 和 OG 分享图
- 新增 icon.png (96x96) 和 apple-icon.png (180x180) 作为浏览器/iOS 图标
- 新增 opengraph-image.png 用于微信等社交媒体分享预览
- 新增 BrandLogo SVG 组件,首页标题上方展示品牌图标
2026-02-25 11:58:05 +08:00
kurihada c86a6c0909 feat: 新增「喝什么」场景,支持奶茶/咖啡/酒吧等饮品店搜索
引入场景系统(SceneType),首页增加「吃什么」「喝什么」切换 Tab,
不同场景使用不同的高德 POI 类型、热门标签、价格区间和全链路文案。
场景信息存储在房间数据中,邀请/分享/匹配结果等页面自动适配。
2026-02-25 01:12:44 +08:00
kurihada 6866b70278 feat: 优化定位体验——反向地理编码显示地名,定位失败明确提示
- 新增 /api/location/regeo 接口,通过高德逆地理编码将 GPS 坐标转为地名
- 页面加载时自动定位,成功后显示"当前位置:浦东新区 xxx"
- 定位失败/权限被拒时显示明确提示+重试按钮,不再静默默认上海
- 无可用位置时阻止创建房间,引导用户手动搜索选择地点
2026-02-25 00:53:50 +08:00
kurihada 04c7b547aa feat: 用户名密码登录注册系统
- 新增 /api/auth/register 和 /api/auth/login 接口,使用 bcryptjs 哈希密码
- User 模型改为 username + passwordHash,id 自动生成 cuid
- 新增 AuthModal 组件(登录/注册双标签页),替换旧的 ProfileSetupModal
- 重写 /profile 页面:支持修改用户名、密码、头像、绑定邮箱、退出登录
- /api/user PUT 支持密码修改(需验证当前密码)和用户名唯一性校验
- 游客模式保留,右上角显示"登录"按钮;登录后显示头像和用户名
- 全局 nickname -> username 重命名(types、SwipeDeck、RoomManageModal、buildRoomStatus)
- 新增 logout() 清除登录态并重新生成游客 UUID
2026-02-25 00:21:03 +08:00
kurihada a28f4405e9 feat: 美食类型改为输入框+热门推荐,移除顶部 logo
- 菜系选择从固定标签改为自由输入框,支持任意关键词搜索
- 输入框下方展示热门推荐标签(火锅、日料、烧烤等),点击自动填入
- 筛选卡片内顺序调整为:美食 > 距离 > 人均
- 移除顶部绿色图标 logo,页面直接从标题开始
2026-02-24 23:03:28 +08:00
kurihada 43d3ff0fa3 fix: 移除静默 fallback 数据,API 失败时明确提示用户 2026-02-24 21:16:55 +08:00
kurihada 07ffe42176 feat: 房间创建者管理权限——锁定房间、踢人、结束投票 2026-02-24 21:01:24 +08:00
kurihada d83e5ec6c4 feat: 创建房间时支持自定义筛选条件(距离/人均/菜系)
替换硬编码搜索参数,用户可选择距离范围(1/3/5km)、
人均价格区间(50以下/50-100/100+)和菜系偏好(火锅、
日料、烧烤等),直接提升推荐质量。
2026-02-24 18:29:38 +08:00
kurihada 059c009a8b feat: 首页增加 3 步玩法图示,降低新用户认知门槛
在 slogan 与操作区之间加入"创建房间 → 各自滑卡 → 匹配结果"的极简流程说明,
帮助新用户快速理解核心机制。同时将布局改为 min-h-dvh 以适配小屏滚动。
2026-02-24 18:12:29 +08:00
kurihada 4e2d11f0a5 feat: 支持创建房间时指定位置搜索餐厅
新增位置搜索框,通过高德输入提示 API 提供地点联想,
用户可选择指定位置或使用默认当前定位来查询周边餐厅。
2026-02-24 18:06:48 +08:00
kurihada 77d15f29e3 fix: 修复竞态条件、重置逻辑、无匹配终态等关键问题
- 用 Prisma $transaction 实现 atomicUpdateRoom,防止并发写入覆盖
- 新增 POST /api/room/[id]/reset 端点,修复"再来一轮"按钮死循环
- 新增 swipeCounts 字段追踪滑动进度,检测"无人匹配"终态
- 着陆页 handleCreate 增加 res.ok 检查,防止跳转到无效房间
- 匹配或无匹配后停止轮询,减少无效请求
2026-02-24 17:04:16 +08:00
kurihada d87d30ccc0 feat: 实现 NoWhatever 别说随便餐厅决策 Web App
- Framer Motion 卡片滑动 UI,带物理阻尼动画
- 多人房间系统,4位房间号 + SWR 实时轮询
- 高德地图 POI v5 API 搜索附近餐厅
- Web Share API 一键邀请,剪贴板降级方案
- SQLite/Prisma 持久化存储
- 移动端优先响应式设计 (Tailwind CSS)
2026-02-24 16:49:43 +08:00