diff --git a/app/page.tsx b/app/page.tsx index 5a7ad5e..47a4864 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -64,8 +64,8 @@ export default function Page() {
AI model selection
- Run Mistral 7B and Llama 3 on your machine. Choose from{' '} - GPT 4-o and Claude 3 Sonnet. + Run local AI models on your machine. Choose from{' '} + GPT 5, Gemini 2.5, and Claude 3.7.
@@ -157,21 +157,21 @@ export default function Page() {
-
6K
+
10K
Community members
-
190
+
215
Countries represented
-
330
+
400
Contributors
diff --git a/app/pricing/components/billing-switch.tsx b/app/pricing/components/billing-switch.tsx index 53b8d39..3d75a11 100644 --- a/app/pricing/components/billing-switch.tsx +++ b/app/pricing/components/billing-switch.tsx @@ -46,7 +46,7 @@ export function BillingCycleSwitch({ billingCycle, onBillingChange, show }: Bill className='flex items-center justify-center rounded-md bg-[rgba(200,154,250,0.20)] px-1.5 py-1 sm:px-2 sm:py-1 md:px-2 md:py-1 lg:px-2 lg:py-1 xl:px-2 xl:py-1' > - Save 20% + Save 25% )} diff --git a/app/pricing/components/contact-dialog.tsx b/app/pricing/components/contact-dialog.tsx index 8c898ce..c0476de 100644 --- a/app/pricing/components/contact-dialog.tsx +++ b/app/pricing/components/contact-dialog.tsx @@ -25,11 +25,7 @@ interface ContactDialogProps { onOpenChange: (open: boolean) => void; } -const cloudInquiryTypes = [ - 'Pricing Questions', - 'Volume Discount', - 'General Support' -]; +const cloudInquiryTypes = ['Pricing Questions', 'General Support']; const selfHostedInquiryTypes = [ 'Pricing Questions', diff --git a/app/pricing/components/qa-section.tsx b/app/pricing/components/qa-section.tsx index 015dec4..e8a6abe 100644 --- a/app/pricing/components/qa-section.tsx +++ b/app/pricing/components/qa-section.tsx @@ -17,13 +17,13 @@ const cloudFAQs = [ id: 'cloud-2', question: 'How do I cancel my paid plan?', answer: - "Your AppFlowy subscription, annual or monthly, will automatically renew until you cancel it. You can cancel your subscription by going to Settings in the left-hand sidebar on a desktop computer, then selecting Billing, then Change plan, then click Downgrade under the Free plan column. After you cancel, you'll lose access to all the paid features immediately.", + 'Your AppFlowy subscription, annual or monthly, will automatically renew until you cancel it. You can cancel your subscription by going to Settings in the left-hand sidebar on a desktop computer, then selecting Billing, then Change plan, then click Downgrade under the Free plan column. After cancellation, your workspace will immediately move to the Free plan, and any usage above the free limits may be restricted.', }, { id: 'cloud-3', question: 'How does adding and removing members work?', answer: - "If you added members, your account will be charged a prorated amount based on the percentage of the billing cycle left when a user was added. If you removed members, you will not receive credit but instead will still have use of that seat for a different user for the remainder of the billing period.\n\nNote: After cancellation, you'll immediately lose access to all Pro features.", + 'If you added members, your account will be charged a prorated amount based on the percentage of the billing cycle left when a user was added. If you removed members, you will not receive credit but instead will still have use of that seat for a different user for the remainder of the billing period.\n\nNote: After cancellation, your workspace will immediately move to the Free plan, and any usage above the free limits may be restricted.', }, { id: 'cloud-4', @@ -83,7 +83,7 @@ const selfHostedFAQs = [ id: 'self-7', question: 'Do your plans come with customer support?', answer: - 'We provide dedicated support for Team and Enterprise customers. You can access priority support information in the Super Admin panel under the Manage plan tab.', + 'We provide dedicated support for Team and Enterprise customers. You can access priority support information in the Super Admin panel under the Upgrade Plan tab.', }, { id: 'self-8', diff --git a/app/pricing/config/comparison-data.ts b/app/pricing/config/comparison-data.ts index 1cc2e19..c9815ff 100644 --- a/app/pricing/config/comparison-data.ts +++ b/app/pricing/config/comparison-data.ts @@ -203,7 +203,7 @@ export const comparisonFeatureGroups: ComparisonFeatureGroup[] = [ free: 'Coming soon', seed: 'Up to 3', one: 'Up to 10', - team: 'Up to 100', + team: 'Up to 1000', enterprise: 'Unlimited' } }, diff --git a/app/pricing/config/pricing-plans.ts b/app/pricing/config/pricing-plans.ts index 8bd6b5c..7259df1 100644 --- a/app/pricing/config/pricing-plans.ts +++ b/app/pricing/config/pricing-plans.ts @@ -79,7 +79,7 @@ export const pricingPlans: PricingPlan[] = [ features: [ 'Everything in Free, and', 'Unlimited storage', - 'Up to 10 workspace members', + 'Up to 50 workspace members', 'Up to 100 guest editors', 'Unlimited AI responses', '50 AI images per month', diff --git a/app/pricing/page.tsx b/app/pricing/page.tsx index 9417ec7..f620a14 100644 --- a/app/pricing/page.tsx +++ b/app/pricing/page.tsx @@ -11,7 +11,8 @@ import OpenGraphImage from '../../public/images/og-image.png'; const site_url = process.env.NEXT_PUBLIC_SITE_BASE_URL!; const title = 'AppFlowy Pricing - Cloud & Self-hosted Plans'; -const description = 'Choose the perfect AppFlowy plan for your team. Free forever plan, Pro cloud plan ($10/user/month), or self-hosted options from $1/month. AI-powered collaborative workspace with unlimited storage and advanced features.'; +const description = + 'Choose the perfect AppFlowy plan for your team.\nOpen source, true offline support, self-hosted, snappy performance, easy to use, and cross-platform.'; export async function generateMetadata(): Promise { return { diff --git a/components/about/scroll-logos.tsx b/components/about/scroll-logos.tsx index 6cf31c4..fd580b6 100644 --- a/components/about/scroll-logos.tsx +++ b/components/about/scroll-logos.tsx @@ -1,10 +1,8 @@ 'use client'; import React, { useEffect, useMemo, useRef } from 'react'; import { aboutPageConfig } from '@/lib/config/pages'; -import { useDarkContext } from '@/lib/hooks/use-dark-context'; function ScrollLogos() { - const isDark = useDarkContext(); const scrollRef = useRef(null); useEffect(() => { @@ -47,16 +45,34 @@ function ScrollLogos() {
{aboutPageConfig.developers.title}
-
+
{logos.map((item, index) => (
- {item.name} + {item.name}
))}
diff --git a/components/product/mobile-views.tsx b/components/product/mobile-views.tsx index 38f1e33..5ef5970 100644 --- a/components/product/mobile-views.tsx +++ b/components/product/mobile-views.tsx @@ -38,7 +38,7 @@ function MobileViews() { }, { value: 'ai_chat', - label: 'Chat with AI & GPT-4', + label: 'Chat with AI & GPT-5', icon: , desc: 'Just ask AI. Get the answers you need\nwithout interrupting a colleague.', }, diff --git a/lib/config/pages.tsx b/lib/config/pages.tsx index d49f119..3c7c9ff 100644 --- a/lib/config/pages.tsx +++ b/lib/config/pages.tsx @@ -143,7 +143,7 @@ export const aboutPageConfig = { ), communityData: [ { - value: 330, + value: 400, label: 'GitHub Contributors', link: { text: 'Get started', @@ -151,7 +151,7 @@ export const aboutPageConfig = { }, }, { - value: 6000, + value: 10000, label: 'Community members', link: { text: 'Join Discord', @@ -159,7 +159,7 @@ export const aboutPageConfig = { }, }, { - value: 50000, + value: 150000, label: 'Newsletter subscribers', link: { text: 'Subscribe',