export type AppStatus = 'live' | 'pending' | 'tbd'

export interface App {
  slug: string
  name: string
  description: string
  url: string
  status: AppStatus
}

export const apps: App[] = [
  {
    slug: 'cube',
    name: 'cube',
    description: '你正在看的这个门户。cube 平台本身的入口。',
    url: 'https://cube.famzheng.me',
    status: 'live',
  },
  {
    slug: 'portfolio',
    name: 'portfolio',
    description: '投资组合追踪。从 oci 迁移中（原 portfolio.oci.euphon.net）。',
    url: 'https://portfolio.famzheng.me',
    status: 'pending',
  },
  {
    slug: 'repo-vis',
    name: 'repo-vis',
    description: 'git 仓库可视化。从 oci 迁移中。',
    url: 'https://repo-vis.famzheng.me',
    status: 'pending',
  },
  {
    slug: 'simpleasm',
    name: 'simpleasm',
    description: '汇编教学小游戏。',
    url: 'https://asm.famzheng.me',
    status: 'live',
  },
  {
    slug: 'music',
    name: 'music',
    description: '听歌 + 练琴 曲目管理。243 首曲库（从 oci 旧 guitar 迁过来）+ 自动抓 yopu 吉他/功能谱 + LLM 灵感推荐。',
    url: 'https://music.famzheng.me',
    status: 'live',
  },
  {
    slug: 'pyroblem',
    name: 'pyroblem',
    description: '详情待补。',
    url: 'https://pyroblem.famzheng.me',
    status: 'tbd',
  },
  {
    slug: 'werewolf',
    name: 'werewolf',
    description: '狼人杀单机发牌器。一台手机轮流传，30 个角色、4x 偏好加权、配置历史本地记忆。从 partiverse 移植。',
    url: 'https://werewolf.famzheng.me',
    status: 'live',
  },
  {
    slug: 'articulate',
    name: 'articulate',
    description: '中英猜词派对游戏（Articulate）。15 个主题词库 + 3 档难度 + 已看词跨场记忆。从 partiverse 移植。',
    url: 'https://articulate.famzheng.me',
    status: 'live',
  },
  {
    slug: 'karaoke',
    name: 'karaoke',
    description: '卡拉OK 点歌单本地管理。增删改排 + YouTube 一键搜，10 秒撤销。从 partiverse 移植。',
    url: 'https://karaoke.famzheng.me',
    status: 'live',
  },
  {
    slug: 'notes',
    name: 'notes',
    description: '录音 → ASR 转写 → LLM 生成会议纪要。Sidebar + content；passphrase 鉴权。',
    url: 'https://notes.famzheng.me',
    status: 'live',
  },
]
