This commit is contained in:
MarkLo 2025-12-15 03:38:56 +08:00
parent facd78aac3
commit 3568ff5b33
3 changed files with 39 additions and 5 deletions

View File

@ -119,6 +119,39 @@
body { body {
@apply bg-background text-foreground; @apply bg-background text-foreground;
} }
/* iOS PWA Safe Area Support */
html {
/* Extend background color to safe areas */
background-color: var(--background);
}
/* PWA standalone mode adjustments */
@supports (padding-top: env(safe-area-inset-top)) {
/* Header safe area */
.pwa-safe-header {
padding-top: env(safe-area-inset-top);
}
/* Footer/bottom safe area */
.pwa-safe-footer {
padding-bottom: env(safe-area-inset-bottom);
}
/* Full page safe area */
.pwa-safe-page {
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
}
/* iOS Safari standalone mode detection */
@media all and (display-mode: standalone) {
body {
/* Prevent rubber-banding on iOS */
overscroll-behavior-y: none;
}
}
} }
/* Safari mobile touch fixes */ /* Safari mobile touch fixes */

View File

@ -26,8 +26,8 @@ export const metadata: Metadata = {
}, },
appleWebApp: { appleWebApp: {
capable: true, capable: true,
statusBarStyle: "default", statusBarStyle: "black-translucent",
title: "TradingAgentsX", title: "TAgentsX",
}, },
openGraph: { openGraph: {
title: "TradingAgentsX - 多代理 LLM 金融交易", title: "TradingAgentsX - 多代理 LLM 金融交易",
@ -45,11 +45,12 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<link rel="manifest" href="/manifest.json" /> <link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#6B21A8" /> <meta name="theme-color" content="#6B21A8" />
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="TradingAgentsX" /> <meta name="apple-mobile-web-app-title" content="TAgentsX" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /> <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon.png" /> <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon.png" />

View File

@ -15,7 +15,7 @@ export function Header() {
const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
return ( return (
<header className="border-b bg-gradient-to-r from-blue-500 to-pink-500 dark:from-blue-600 dark:to-purple-600 text-white"> <header className="border-b bg-gradient-to-r from-blue-500 to-pink-500 dark:from-blue-600 dark:to-purple-600 text-white pwa-safe-header">
<div className="container mx-auto px-4 py-4 md:py-6"> <div className="container mx-auto px-4 py-4 md:py-6">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
{/* Logo */} {/* Logo */}