From 13fe096a7c41be6c8ba7747634aa57447dcf0955 Mon Sep 17 00:00:00 2001
From: moux1024 <403053463@qq.com>
Date: Fri, 26 Sep 2025 15:29:53 +0800
Subject: [PATCH 1/6] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20h5Tab=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE=E5=92=8C=E8=B0=83=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/layout/top-bar.tsx | 10 +-
components/pages/home-page2.tsx | 38 +-
package-lock.json | 657 +++++++++++++++++++++++++-------
package.json | 18 +-
4 files changed, 551 insertions(+), 172 deletions(-)
diff --git a/components/layout/top-bar.tsx b/components/layout/top-bar.tsx
index 92d6839..b79a0fe 100644
--- a/components/layout/top-bar.tsx
+++ b/components/layout/top-bar.tsx
@@ -112,8 +112,12 @@ export function TopBar({ collapsed, isDesktop=true }: { collapsed: boolean, isDe
// 处理自定义金额购买
const handleCustomAmountBuy = async () => {
const amount = parseInt(customAmount);
- if (isNaN(amount) || amount <= 0) {
- console.error("请输入有效的Token数量");
+ if (isNaN(amount) || amount < 50) {
+ showInsufficientPointsNotification({
+ current_balance: credits,
+ required_tokens: 50,
+ message: "Minimum purchase is 50 credits.",
+ });
return;
}
await handleBuyTokens(amount);
@@ -454,7 +458,7 @@ export function TopBar({ collapsed, isDesktop=true }: { collapsed: boolean, isDe
onChange={(e) => setCustomAmount(e.target.value)}
placeholder="Custom amount"
className="flex-1 px-2 py-1 text-xs bg-white/10 text-white placeholder-white/60 border border-white/20 rounded focus:outline-none focus:border-blue-400"
- min="1"
+ min="50"
disabled={isBuyingTokens}
/>
@@ -1438,40 +1443,47 @@ function HomeModule5() {
/* 大屏显示器间距 */
2xl:mb-[1.25rem]"
>
-
- ${plan.price}
-
-
- / {billingType === "month" ? "mo" : "year"}
-
+
+
+ ${plan.monthlyPrice || plan.price}
+
+
+ / month
+
+
+ {plan.originalPrice !== plan.price ? (
+
+ ${plan.originalPrice}
+
+ ) : null}
- * Billed monthly until cancelled
+ * {plan.discountMsg}
{videos.map((src, index) => (