kurihada 08eb55ca41 feat: 添加分享结果卡片功能,形成用户增长闭环
- 新增 ShareCardModal 组件,支持餐厅匹配和盲盒契约两种分享卡片
- 卡片包含品牌标识、匹配结果、餐厅/想法详情、二维码
- 使用 html-to-image 生成高清 PNG,支持保存图片和 Web Share API 分享
- 餐厅图片通过 canvas 转 data URL 处理跨域
- 集成到 MatchResult(极速救场)和 BlindBox reveal(周末契约)
2026-02-26 13:50:38 +08:00

NoWhatever — 别说随便

像 Tinder 一样滑卡片,和朋友一起决定去哪吃!解决聚餐时"随便都行"的纠结痛点,无需下载 App,用完即走。

Tech Stack

  • Next.js (App Router) + React + TypeScript
  • Tailwind CSS — Utility-first styling
  • Framer Motion — Physics-based swipe & drag animations
  • Lucide React — Icon library

Getting Started

npm install
npm run dev

Open http://localhost:3000 in your browser (best viewed on mobile viewport).

Project Structure

src/
├── app/
│   ├── globals.css        # Global styles (mobile-first, no scroll)
│   ├── layout.tsx         # Root layout with viewport meta
│   └── page.tsx           # Main entry page
├── components/
│   ├── TopNav.tsx         # Navigation bar with room info
│   ├── RestaurantCard.tsx # Restaurant display card
│   ├── SwipeableCard.tsx  # Framer Motion drag/swipe logic
│   ├── SwipeDeck.tsx      # Card stack orchestrator
│   ├── ActionButtons.tsx  # Nope / Like action buttons
│   └── MatchResult.tsx    # Match celebration screen
└── types/
    └── index.ts           # TypeScript type definitions
S
Description
No description provided
Readme 7.6 MiB
Languages
TypeScript 99%
CSS 0.3%
JavaScript 0.3%
Dockerfile 0.2%
Shell 0.2%