diff --git a/app/globals.css b/app/globals.css index 32576a1..a3954c9 100644 --- a/app/globals.css +++ b/app/globals.css @@ -307,6 +307,39 @@ body { } } -.mobile-textarea, .mobile-input { +.mobile-textarea, +.mobile-input { font-size: 16px !important; +} + +.custom-scrollbar { + scrollbar-width: thin; + scrollbar-color: transparent transparent; +} + +.custom-scrollbar:hover { + scrollbar-color: rgba(156, 163, 175, 0.2) rgba(0, 0, 0, 0); +} + +/* Webkit browsers (Chrome, Safari) */ +.custom-scrollbar::-webkit-scrollbar { + width: 6px; + height: 6px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: transparent; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 3px; +} + +.custom-scrollbar:hover::-webkit-scrollbar-thumb { + background: rgba(156, 163, 175, 0.5); +} + +.custom-scrollbar:hover::-webkit-scrollbar-thumb:hover { + background: rgba(156, 163, 175, 0.7); } \ No newline at end of file diff --git a/app/pricing/page.tsx b/app/pricing/page.tsx index 383355b..59defab 100644 --- a/app/pricing/page.tsx +++ b/app/pricing/page.tsx @@ -77,6 +77,19 @@ function HomeModule5() { }[] >(() => { return plans.map((plan) => { + const rawDescription = plan.description ?? ''; + let creditsText: string = rawDescription; + try { + const parsed = JSON.parse(rawDescription) as { period: 'month' | 'year'; content: string }[]; + if (Array.isArray(parsed)) { + const match = parsed.find((item) => item && item.period === billingType); + if (match && typeof match.content === 'string') { + creditsText = match.content; + } + } + } catch { + // If not valid JSON, keep original string + } return { title: plan.display_name || plan.name, price: @@ -86,7 +99,7 @@ function HomeModule5() { originalPrice: plan.price_month / 100, monthlyPrice: billingType === "month" ? 0 : Math.round(plan.price_year / 12) / 100, discountMsg: `Saves $${(plan.price_month * 12 - plan.price_year) / 100} by billing yearly!`, - credits: plan.description, + credits: creditsText, buttonText: plan.is_free ? "Try For Free" : "Subscribe Now", issubscribed: plan.is_subscribed, features: plan.features || [], @@ -150,9 +163,26 @@ function HomeModule5() { xl:text-[3.375rem] xl:leading-[110%] xl:mb-[1.5rem] 2xl:text-[3.5rem] 2xl:leading-[110%] 2xl:mb-[1.5rem]" > - Pick a plan and make it yours + CREATE FOR $0. +

+ Remove watermark with Credits. +

{/* 计费切换 */}
Step 3 Reward
-

You both receive rewards after your friend activates their account.

+

You will receive 500 credits after your friends successfully sign in.

@@ -275,33 +275,23 @@ export default function SharePage(): JSX.Element {

MovieFlow Credits Rewards Program

-

Welcome to MovieFlow! Our Credits Program is designed to reward your growth and contributions. Credits can be redeemed for premium templates, effects, and membership time.

+

+ Welcome to MovieFlow! Our Credits Program is designed to reward your growth and contributions. +
+ Credits can be redeemed for watermark removal. +
+ In the future, credits may be used to redeem advanced template features. +

How to Earn Credits?

-

Welcome Bonus

-

All new users receive a bonus of 500 credits upon successful registration!

-
- -

Invite & Earn

-

Invite friends to join using your unique referral link. Both you and your friend will get 500 credits once they successfully sign up.

- -
-

If your invited friend completes their first purchase, you will receive a bonus equal to 20% of the credits they earn from that purchase.

-
-
- -
-

Daily Login

-

Starting the day after registration, log in daily to claim 100 credits.

-

This reward can be claimed for 7 consecutive days.

- -
-

Please note: Daily login credits will reset automatically on the 8th day, so remember to use them in time!

-
+

Invite friends to join using your unique referral link.

+

You will get 500 credits once they successfully sign in.

+
+

When your invited friends complete their first purchase, you will receive a 20% share of the credits they earn from that purchase.

diff --git a/components/ChatInputBox/H5TemplateDrawer.tsx b/components/ChatInputBox/H5TemplateDrawer.tsx index 8f2bea5..aa4cff1 100644 --- a/components/ChatInputBox/H5TemplateDrawer.tsx +++ b/components/ChatInputBox/H5TemplateDrawer.tsx @@ -570,7 +570,7 @@ export const H5TemplateDrawer = ({ data-alt="items-section-title" className="text-base font-semibold text-white mb-3" > - input Configuration + Input Configuration