feat: 添加龙虾 favicon 并修复 middleware 路由拦截
- 创建 lib/constants/theme.ts 统一管理颜色和品牌常量 - 重构 icon.tsx 和 apple-icon.tsx 使用共享常量 - 修复 middleware matcher 排除 icon/apple-icon 路由
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { ImageResponse } from "next/og";
|
||||
import { COLORS, BRAND } from "@/lib/constants";
|
||||
|
||||
export const size = { width: 180, height: 180 };
|
||||
export const contentType = "image/png";
|
||||
@@ -13,14 +14,14 @@ export default function AppleIcon() {
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
background: "linear-gradient(135deg, #0a0e1a 0%, #111827 100%)",
|
||||
background: `linear-gradient(135deg, ${COLORS.bgPrimary} 0%, ${COLORS.bgSecondary} 100%)`,
|
||||
borderRadius: "40px",
|
||||
fontSize: 120,
|
||||
}}
|
||||
>
|
||||
🦞
|
||||
{BRAND.emoji}
|
||||
</div>
|
||||
),
|
||||
{ ...size }
|
||||
size
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { ImageResponse } from "next/og";
|
||||
import { COLORS, BRAND } from "@/lib/constants";
|
||||
|
||||
export const size = { width: 64, height: 64 };
|
||||
export const contentType = "image/png";
|
||||
@@ -13,14 +14,14 @@ export default function Icon() {
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
background: "#0a0e1a",
|
||||
background: COLORS.bgPrimary,
|
||||
borderRadius: "14px",
|
||||
fontSize: 44,
|
||||
}}
|
||||
>
|
||||
🦞
|
||||
{BRAND.emoji}
|
||||
</div>
|
||||
),
|
||||
{ ...size }
|
||||
size
|
||||
);
|
||||
}
|
||||
|
||||
1
lib/constants/index.ts
Normal file
1
lib/constants/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./theme";
|
||||
10
lib/constants/theme.ts
Normal file
10
lib/constants/theme.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
// Theme constants shared across app (including ImageResponse which cannot use CSS variables)
|
||||
|
||||
export const COLORS = {
|
||||
bgPrimary: "#0a0e1a",
|
||||
bgSecondary: "#111827",
|
||||
} as const;
|
||||
|
||||
export const BRAND = {
|
||||
emoji: "🦞",
|
||||
} as const;
|
||||
@@ -4,5 +4,5 @@ import { routing } from "./i18n/routing";
|
||||
export default createMiddleware(routing);
|
||||
|
||||
export const config = {
|
||||
matcher: ["/((?!api|_next|_vercel|.*\\..*).*)"],
|
||||
matcher: ["/((?!api|_next|_vercel|icon|apple-icon|.*\\..*).*)"],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user