merge: 解决与 master 的冲突,保留双方改动

This commit is contained in:
OmniAI Developer
2026-06-03 21:43:11 +08:00
36 changed files with 7293 additions and 1429 deletions
+8 -5
View File
@@ -22,6 +22,7 @@ import NotificationCenter from "./NotificationCenter";
import { RechargeModal } from "./RechargeModal/RechargeModal";
import { AnimatedPanel } from "./AnimatedPanel";
import AdminMonitor from "./AdminMonitor";
import CookieConsentBanner from "./CookieConsentBanner";
interface AppShellProps {
activeView: WebViewKey;
@@ -40,6 +41,7 @@ interface AppShellProps {
}
const BRAND_LOGO_URL = "https://stringtest.oss-cn-hangzhou.aliyuncs.com/logo.png";
const CLIENT_ERROR_MONITOR_ENABLED = import.meta.env.VITE_ENABLE_CLIENT_ERROR_MONITOR === "1";
function formatBalance(cents: number): string {
const value = Math.max(0, cents) / 100;
@@ -88,7 +90,7 @@ function AppShell({
"avatarConsole",
"characterMix",
] as WebViewKey[];
const showPageScrollActions = showFloatingNav && !toolSurfaceViews.includes(activeView);
const showPageScrollActions = false;
const visibleNavItems = useMemo(
() => {
@@ -344,8 +346,8 @@ function AppShell({
<dd>15155073618</dd>
</dl>
<div className="info-popover__links">
<a href="#" onClick={(e) => { e.preventDefault(); setInfoOpen(false); }}></a>
<a href="#" onClick={(e) => { e.preventDefault(); setInfoOpen(false); }}></a>
<a href="#/userAgreement" onClick={() => setInfoOpen(false)}></a>
<a href="#/privacyPolicy" onClick={() => setInfoOpen(false)}></a>
</div>
</AnimatedPanel>
</div>
@@ -356,7 +358,7 @@ function AppShell({
onClick={() => setRechargeOpen(true)}
>
<WalletOutlined />
{displayedBalanceLabel}
<span className="member-button__label">{displayedBalanceLabel}</span>
</button>
<div className="profile-popover-anchor" ref={profileRef}>
<button
@@ -471,8 +473,9 @@ function AppShell({
<div className="web-shell__page">{children}</div>
</main>
</div>
{session?.user.role === "admin" ? <AdminMonitor /> : null}
{CLIENT_ERROR_MONITOR_ENABLED && session?.user.role === "admin" ? <AdminMonitor /> : null}
<RechargeModal open={rechargeOpen} onClose={() => setRechargeOpen(false)} currentBalance={displayedBalanceCents} />
<CookieConsentBanner />
</div>
);
}