Menu

nexty-flux-kontext 版本更新

提示

  • 本章是 nexty-flux-kontext 仓库的版本更新记录。
  • 版本号请查看 package.json 文件的 version 字段

1.1.0

优化用户权益获取链路,并实现可靠的 SSG 方案。

优化与修复

  1. AuthProvider.tsx 里调用 useSearchParams 下移到登录组件,保持 layout 服务端渲染,查看更新记录
  • 更新 components/providers/AuthProvider.tsx
  • 更新 app/[locale]/login/LoginPage.tsx
  • 更新 app/[locale]/login/page.tsx
  1. 原有的用户权益获取链路复杂,对新手不够友好,且会影响 SSG,所以针对权益获取与使用的方式进行优化,查看更新记录1更新记录2
  • 安装依赖 swr: pnpm i swr
  • 更新 app/[locale]/layout.tsx
  • 更新 actions/usage/benefits.ts,添加客户端获取用户权益的方法 getClientUserBenefits
  • 新增 hooks/useUserBenefits.ts,共享用户权益请求、更新方法和数据状态
  • 更新 app/[locale]/pricing/FlashSaleBanner.tsx,由原来调用 @/stores/benefitsStore 修改为调用 @/hooks/useUserBenefits,两个文件提供的方法名一样,所以该文件里其他代码无需修改
  • 更新 components/layout/CurrentUserBenefitsDisplay.tsx,由原来调用 @/stores/benefitsStore 修改为调用 @/hooks/useUserBenefits,两个文件提供的方法名一样,所以该文件里其他代码无需修改
  • 更新 components/header/UserInfo.tsx
  • 更新 app/[locale]/(gen-image)/flux-kontext-pro/FluxKontextProClient.tsx,使用新的乐观更新方法 optimisticDeduct 和重新获取数据的方法 mutate(revalidateBenefits)
  • 更新 app/[locale]/(gen-image)/multi-image-kontext-pro/MultiImageKontextProClient.tsx,同上
  • 更新 app/[locale]/payment/success/page.tsx,使用重新获取数据的方法 mutate(revalidateBenefits) 立即更新权益
  • 删除 components/layout/BenefitsErrorBoundary.tsx
  • 删除 components/providers/BenefitsInitializer.tsx
  • 删除 components/providers/BenefitsProvider.tsx
  • 删除 stores/benefitsStore.ts

二开的功能,无论新增积分或者扣除积分,都应当调用 mutate(revalidateBenefits) 立即同步数据库的积分。

  1. 修复 SSG 实现,查看更新记录
  • 更新 app/[locale]/layout.tsx
  • 更新 app/[locale]/blogs/[slug]/page.tsx,从 params 取出 locale,而不是使用 getLocale()

1.1.1

修复

  1. GoogleOneTap 判断环境变量是否填写,查看更新记录1更新记录2
  • components/auth/GoogleOneTap.tsx

1.1.2

优化

  1. 登录按钮、支付按钮重定向到登录页,携带页面路径到 URL,用于登录后重定向,查看更新记录
  • components/pricing/PricingCTA.tsx

修复

  1. 修复 URL 参数 next 为空字符串时无法登录的问题,该 bug 由 2.3.0 修改 LoginForm.tsx 引起,本次变更做了兜底处理。查看更新记录
  • app/auth/callback/route.ts
  • app/auth/confirm/route.ts

1.2.0

升级数据库操作方式

  1. Supabase 操作升级,支持命令操作

优化

  1. 更新布局,Dashboard 使用 Shadcn Sidebar 组件重构左右布局,其他页面保持原有的上中下布局,查看更新记录
  • 执行 pnpm dlx shadcn@latest add sidebar
  • 创建文件夹 app/[locale]/(basic-layout),新增文件 app/[locale]/(basic-layout)/layout.tsx
  • app/[locale] 文件夹下,除了 app/[localte]/layout.tsxapp/[locale]/(protected),其他文件和文件夹全部移入 app/[localte]/(basic-layout)
  • 更新 app/[locale]/layout.tsx,删除其中的 HeaderFooter 引用,删除 <main> 标签(不要删除 <main> 里面的 childeen)
  • 新增 app/[locale]/(protected)/dashboard/DashboardSidebar.tsx
  • 新增 components/header/SidebarInsetHeader.tsx
  • 更新 app/[locale]/(protected)/dashboard/layout.tsx,使用新的 Sidebar
  • i18n/message/en/common.jsoni18n/message/en/common.jsoni18n/message/en/common.jsonUserMenusAdminMenus 新增目录 icon
  • 删除 app/[locale]/(protected)/dashboard/Sidebar.tsx
  • 删除 app/[locale]/(protected)/dashboard/MobileSidebar.tsx
  • 组件样式优化:
    • components/header/UserInfo.tsx
    • components/header/UserAvatar.tsx
    • components/header/MobileMenu.tsx
    • components/header/HeaderLinks.tsx
    • components/header/Header.tsx

新增

  1. 添加管理员 overview 页面,查看更新记录
  • 执行 pnpm dlx shadcn@latest add chart
  • 迁移新 sql 文件:supabase/migrations/20250813040158_create_order_stats_function.sql, supabase/migrations/20250813041245_create_daily_growth_stats_function.sql,查看更新方法
  • 新增 Server Actions actions/overview
  • 新增页面 app/[locale]/(protected)/dashboard/(admin)/overview
  • 更新 lib/supabase/middleware.ts,将 /dashboard/overview 添加到管理员权限页面
  • 更新 lib/utils.ts,新增数字格式化方法
  • 更新多语言包
    • 编辑目录:i18n/messages/en/common.json, i18n/messages/ja/common.json, i18n/messages/zh/common.json,新增新页面的目录项
    • 新增新页面语言包: i18n/messages/en/Dashboard/Admin/Overview.json, i18n/messages/ja/Dashboard/Admin/Overview.json, i18n/messages/zh/Dashboard/Admin/Overview.json
    • 编辑 i18n/request.ts,导入新页面语言包
  1. 添加管理员查看 orders 页面,查看更新记录
  • 新增 Server Actions actions/orders
  • 新增页面 app/[locale]/(protected)/dashboard/(admin)/orders
  • 更新 lib/supabase/middleware.ts,将 /dashboard/orders 添加到管理员权限页面
  • 更新多语言包
    • 编辑目录:i18n/messages/en/common.json, i18n/messages/ja/common.json, i18n/messages/zh/common.json,新增新页面的目录项
    • 新增新页面语言包: i18n/messages/en/Dashboard/Admin/Orders.json, i18n/messages/ja/Dashboard/Admin/Orders.json, i18n/messages/zh/Dashboard/Admin/Orders.json
    • 编辑 i18n/request.ts,导入新页面语言包

修复

  1. 修复移动端样式问题,查看更新记录
  • 更新 components/sectionBG/index.tsx,修复移动端宽度超出的问题

1.2.1

修复

  1. 修改谷歌模型环境变量和模型标识
  • .env.example
  • app/api/ai/replicate/flux-kontent/submit/prompt-optimizer.ts
  • app/api/admin/translate/route.ts

1.2.2

修复

  1. 修复 auth 表同步数据到 users 表的触发器

1.2.3

修复

  1. 修复一次性付款使用 100% 优惠码无法处理权益升级的问题,查看更新记录
  • lib/stripe/webhook-handlers.ts
  • app/api/payment/verify-success/route.ts

优化

进行一些样式和细节优化

1.2.4

修复

  1. 更新认证重定向URL,使用站点URL而非源URL,查看更新记录
  • app/auth/callback/route.ts
  • app/auth/confirm/route.ts