feat: 添加品牌 Logo、favicon、Apple Touch Icon 和 OG 分享图

- 新增 icon.png (96x96) 和 apple-icon.png (180x180) 作为浏览器/iOS 图标
- 新增 opengraph-image.png 用于微信等社交媒体分享预览
- 新增 BrandLogo SVG 组件,首页标题上方展示品牌图标
This commit is contained in:
2026-02-25 11:58:05 +08:00
parent 079feddf0e
commit cc7f6d55a7
5 changed files with 40 additions and 1 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 KiB

+3 -1
View File
@@ -7,6 +7,7 @@ import { Plus, LogIn, Loader2, MapPin, Navigation, X, Users, Heart, Sparkles, Ch
import { getUserId, getCachedProfile, getCachedPreferences } from "@/lib/userId";
import { getAvatarBg } from "@/lib/avatars";
import AuthModal from "@/components/AuthModal";
import BrandLogo from "@/components/BrandLogo";
import { SCENES, getSceneConfig } from "@/lib/sceneConfig";
import type { UserProfile, SceneType } from "@/types";
@@ -283,7 +284,8 @@ export default function LandingPage() {
animate={{ y: 0, opacity: 1 }}
transition={{ duration: 0.5 }}
>
<h1 className="text-3xl font-black tracking-tight text-zinc-900">
<BrandLogo size={56} />
<h1 className="mt-2.5 text-3xl font-black tracking-tight text-zinc-900">
NoWhatever
</h1>
<p className="mt-0.5 text-sm font-medium tracking-widest text-zinc-400">
+37
View File
@@ -0,0 +1,37 @@
export default function BrandLogo({ size = 48 }: { size?: number }) {
return (
<svg
width={size}
height={size}
viewBox="0 0 120 120"
fill="none"
xmlns="http://www.w3.org/2000/svg"
role="img"
aria-label="NoWhatever"
>
<rect width="120" height="120" rx="28" fill="url(#logo-grad)" />
{/* Tilted card */}
<g transform="translate(60,56) rotate(-15)">
<rect x="-26" y="-32" width="52" height="64" rx="7" fill="white" />
</g>
{/* Fork */}
<g transform="translate(48,50) rotate(-15)" fill="white" opacity="0.92">
<path d="M-4,-14 L-4,-4 Q-4,0 0,0 Q4,0 4,-4 L4,-14 M-4,-14 L-4,-20 M4,-14 L4,-20 M0,-14 L0,-20 M0,0 L0,10" stroke="#10b981" strokeWidth="2.5" strokeLinecap="round" fill="none" />
</g>
{/* Heart */}
<g transform="translate(72,52) rotate(-15)">
<path d="M0,4 Q0,0 -4,-2 Q-8,-4 -8,0 Q-8,4 0,10 Q8,4 8,0 Q8,-4 4,-2 Q0,0 0,4Z" fill="#10b981" opacity="0.85" />
</g>
<defs>
<linearGradient id="logo-grad" x1="0" y1="0" x2="120" y2="120" gradientUnits="userSpaceOnUse">
<stop stopColor="#34d399" />
<stop offset="1" stopColor="#059669" />
</linearGradient>
</defs>
</svg>
);
}