Commit Graph
9 Commits
Author SHA1 Message Date
bigcode 05440ffb5b feat: 服务器迁移后的全量演进(依赖升级/安全审计/设计统一/截图/SEO 底座化)
在原仓库历史之上同步本服务器上的全部演进:

- 迁移至新服务器并重建 PG 数据库 + ddnc 开发域名绑定
- 全部依赖升级至最新(Next 16.3.5 / React 19.3 / better-auth 1.7.5 / Drizzle 0.45 / TS 7),
  overrides 消除已知 CVE,安全审计 19 项发现全部修复闭环
- 设计统一:各站宽度 token(--container + site-container)、classic hero 重设计、
  头部换行修复、页面过渡与 View Transitions
- 截图功能:api.adx9.com 截图服务接入(ow=800 本地化 webp、cf=1、去重/限流/占位图)
- SEO 底座化:canonical/hreflang/sitemap/JSON-LD/robots 全部收进 core,新站自动继承
- 加载体验:五站五形态路由骨架(data-theme 切换、shimmer 微光、延迟淡入)+
  过滤 useTransition 交叉淡入淡出(card-enter 错峰入场)
- 构建:experimental.cpus 限流防 PG 连接打满;清理死组件链
2026-09-15 18:19:53 +08:00
AI Directory Platform 0eed5183b2 feat: 本地 codex 为五站生成品牌 logo 与 favicon
- 每站独立的 SVG 品牌资产(public/icon.svg favicon + public/logo.svg 横版
  lockup),由本地 codex CLI 按各站设计语言手工矢量绘制:
  · AI Stack:海军蓝渐变 + 层叠方块(SaaS)
  · LaunchAI:橙渐变 + 上升火箭(社区)
  · The AI Ledger:墨黑方形 + 衬线 L + 双细线(报纸)
  · DevAI.tools:深底绿色 >_ 终端提示符(CLI)
  · findai:紫底放大镜 + 光点(极简搜索)
- header 品牌区:字母方块 → 生成的 icon.svg 图标(img)
- 生成器:public 目录纳入重建保留清单(codex 品牌资产不再被清空),
  favicon 改为已存在则不覆盖
- 验证:10 个 SVG XML 有效、五站 header 图标全部加载、favicon 200
2026-09-10 12:09:41 +00:00
AI Directory Platform e382f2d4c4 fix: header 控件区布局抖动清零(CLS 修复)
- ModeToggle:旧实现在 isClient 前完全不渲染(SSR 无按钮 → hydrate 后
  凭空多出 40px)。改为恒渲染固定 40px 按钮:挂载前显示 Sun 占位图标,
  挂载后切换当前主题图标(动画保留)
- UserMenu:isPending 时渲染 24px 小圆(与终态 135px 差距大)。改为
  与未登录终态同尺寸骨架:Sign in 透明文字(带 muted 底色块)+
  Sign Up 半透明胶囊,右缘与终态精确对齐,占位色跟随各站主题
- SSR HTML 验证:首帧即含 Toggle theme 占位按钮 / Select language /
  UserMenu aria-hidden 骨架(curl 实证)
- 逐帧截图验收:commit 时刻与 hydrate 后 header 右上角布局一致;
  Language/Toggle x 坐标全程稳定
2026-09-10 09:29:17 +00:00
AI Directory Platform 442ce3a003 fix: 五站双模式色彩系统(浅/深各 10 组合全部可读)+ 硬编码色清零
- 五站各定义完整浅色+深色两套 token(background/foreground/card/secondary/
  muted/border/input/primary/ring),data-theme 挂 <html>(覆盖全部路由),
  .dark 由 next-themes 切换按钮驱动;devai-tools 默认深色(env 可配)
- 根因修复:data-theme 双重挂载(html + AuthLayout/ThemeChrome)导致
  auth 子树被浅色 token 覆盖、深色不可读 —— 只保留 html 一处
- FormShell 硬编码色清零:gradient 白卡片→bg-card、minimal 白底/灰输入/
  紫按钮→token、editorial 纸白/neutral→token、terminal 深色内联→token
  (深浅自动适配,形态保持)
- FormLabel 硬编码 #9393A3 → text-muted-foreground
- 修复 data-theme double-mount 后 label 深字深底不可读(用户报告的问题)
- 回归:10 组合(5 站×浅深)label 对比度全部达标;五站 mock 登录全部 OK
2026-09-10 03:39:19 +00:00
AI Directory Platform 3fddde470b feat: 五站五种登录页设计(去 shadcn 默认味)+ 语言路由确认
- FormShell 重写为六种布局变体,五站各用一种:
  · AI Stack  = glass      深蓝渐变全屏 + 玻璃拟态浮动卡片
  · LaunchAI  = gradient   橙色渐变全屏 + 白色大圆角卡片
  · The AI Ledger = editorial 报纸头版:双细线报头(日期/品牌/标语衬线居中)
                            + 下划线输入 + 方角大写 tracking 黑按钮
  · DevAI.tools = terminal 深色终端窗口(三色标题栏 + $ devai.tools auth --login)
                            + 等宽输入 + 绿底黑字命令按钮
  · findai    = minimal    纯白居中 + 大圆角浅灰输入 + 紫色按钮
- 输入框/标签/社交按钮按 data-theme 形态变化(auth 路由注入 data-theme)
- 修复 FormShell 各变体根元素缺 w-full(被 auth flex 容器挤压成 1/3 宽)
- 回归:五站构建 OK / mock 登录 OK
2026-09-09 20:06:10 +00:00
AI Directory Platform 6baf0246d2 feat: 深度设计五站视觉语言 + 语言路由修复
- 语言路由:localeDetection 关闭,/ 固定英文、/zh 固定中文,URL 决定语言
  (不再按 cookie/Accept-Language 自动跳转;语言切换器显式切换不受影响)
- 五站独立视觉语言(data-theme 驱动的设计系统层):
  · AI Stack:深蓝渐变 Hero + 统计条 + 卡片左色条 hover(专业 SaaS)
  · LaunchAI:橙色渐变 Banner + 斜切底边 + 暖白底(活力社区)
  · The AI Ledger:黑色报头日期条 + 衬线字体 + 直角 + 双细线 + 报纸排版(媒体)
  · DevAI.tools:全站深色 + 等宽字体 + 终端 Hero + 扫描线纹理 + 系统状态条(终端)
  · findai:纯白极简 + 紫色聚焦光圈 + 无界卡片(搜索引擎)
- 修复 :first-of-type 误伤(hero 样式收敛到专用 class)
2026-09-09 19:22:58 +00:00
AI Directory Platform 5cc4195d68 fix: 语言切换全面修复 —— 品牌层/主题首页/详情区块/404 全量 i18n(zh 矩阵 13/13)
- 站点品牌双语:每站 brandZh(品牌名/标语/hero/导航/页脚/搜索占位)由生成器写入
  站点 messages 的 zh 覆盖;SiteChrome 改为 async getTranslations 按语言渲染
- 五套主题首页接线 siteHome/hero 命名空间(新增 wire-theme-i18n.py 一次性接线脚本,
  仅处理组件函数体、hook 自动插入、hero 用 th 命名空间)
- 详情页 Use cases/Good for/FAQ/reviewCta、用例与合集索引与详情、提交页、
  对比页、Alternatives 表头与 FAQ 全部走 next-intl
- 404 双语言:locale 内走 next-intl,根级按 Accept-Language
- 修复 zh.json 中 84 处 zhXxx 旁挂键归位 + en.json 残留清理(i18n 694 键一致)
- 回归:/zh 下 13 页全中文无英文残留、无横向溢出;五站 /zh lang=zh 全部正确
2026-09-09 16:59:52 +00:00
AI Directory Platform 14af0aaa3a feat: 四项体验修复(字号/品牌登录模板/第三方登录/免邮箱验证)
① 全局字号提升一档:body 基准 16.8px,14 个核心组件 99 处 text-xs/text-sm 放大
② 五站五套登录模板:FormShell 品牌分栏布局(左品牌色侧栏+右表单),
   每站独立 accent(近黑/橙红/纸墨棕/终端绿/紫),站点字标替换 Toolso.AI Logo;
   AuthLayout 简化为容器,布局职责下沉 FormShell
③ 第三方登录按钮:未配置 OAuth 凭据时显示 Google/GitHub 按钮,
   走 /api/auth/mock-social 一键创建演示 session(生产配置凭据后自动 403 切真实流程);
   按钮重设计为全宽方形(替换胶囊 Button)
④ 开发阶段免邮箱验证:better-auth databaseHooks 注册即 emailVerified=true,
   sendOnSignUp 仅生产开启;注册成功直接回跳原页面(跳过 check-email)

回归验证:字号 16.8px / 五站品牌色各异 / mock 登录闭环(投票→登录→回原页)/
注册免验证直接进站(emailVerified=t + 跳首页)全部 PASS
2026-09-09 06:02:16 +00:00
AI Directory Platform 4a1a034386 refactor: 主题系统 → monorepo 五个独立网站
- packages/core: @aidir/core 底座库(src/pages 页面组件体 1:1 镜像路由树 / kit 站点外壳工厂 / content/blog / scripts)
- sites/: 5 个独立 Next.js 网站(ai-stack / launchai / the-ai-ledger / devai-tools / findai)
  - 每站独立 package.json / next.config / tailwind / messages / .env / 构建
  - src/app 约 56 个薄路由文件(re-export 底座页面 + 内联路由段配置 revalidate/dynamic)
  - src/site/brand.tsx 站点配置 + src/site/home.tsx 站点首页(createMarketingLayout / createHomePage 工厂)
- generate-site.mjs: 站点生成器(新增网站 = SITES 加条目,零 Core 修改)
- start-all-sites.sh: 一键启动 3001-3005
- next-config.mjs: 底座统一 Next 配置工厂(next-intl + MDX + standalone)
- 五站共享同一套 PostgreSQL / Better Auth / Admin(设计文档 §42)
- 验证: 5 站 build OK / typecheck OK / 55 路由冒烟 200 / 品牌-内容-截图 差异确认 / 登录-投票-重复检测 e2e PASS
2026-09-08 19:19:33 +00:00