- Introduced Integration2Section and Features5Section components to showcase integrations and additional product features, improving user engagement and workflow.
- Updated English and Chinese JSON files to include new titles, descriptions, and buttons for the integration and features sections.
- Refactored the homepage layout to integrate the new sections, enhancing overall user experience.
- Adjusted existing FeaturesSection and Features2Section components for consistency and clarity in feature presentation.
- Introduced a new CallToAction component to encourage user engagement with clear action prompts.
- Updated English and Chinese JSON files to include titles, descriptions, and buttons for the call-to-action section.
- Refactored the homepage layout to integrate the new CallToAction section, enhancing overall user experience.
- Introduced a new TestimonialsSection component to display customer testimonials, enhancing user engagement and trust.
- Updated English and Chinese JSON files to include testimonials titles, descriptions, and individual customer quotes.
- Refactored the homepage layout to integrate the new testimonials section, improving overall user experience.
- Introduced a new IntegrationSection component to showcase integrations with popular tools, enhancing user workflow.
- Updated English and Chinese JSON files to include integration titles and descriptions.
- Added a new Features4Section component with a different layout for product features, improving presentation and user engagement.
- Refactored homepage layout to integrate the new sections, enhancing overall user experience.
- Updated English and Chinese JSON files to include additional product features and descriptions, enhancing user engagement.
- Introduced a new Features3Section component to showcase more product features on the homepage.
- Refactored the homepage layout to integrate the new Features3Section, improving overall user experience.
- Adjusted existing FeaturesSection and Features2Section components for consistency and clarity in feature presentation.
- Added FeaturesSection and Features2Section components to showcase product features on the homepage, improving user engagement and information accessibility.
- Updated English and Chinese JSON files to include new feature descriptions and titles for both features sections.
- Refactored the homepage layout to integrate the new features sections, enhancing overall user experience.
- Made adjustments to the LogoCloud section for improved styling and consistency.
- Introduced a new LogoCloudSection component to showcase partner logos on the homepage, enhancing brand visibility.
- Updated English and Chinese JSON files to include a title for the LogoCloud section.
- Refactored the homepage to integrate the new LogoCloudSection, improving overall layout and user engagement.
- Added multiple SVG logos to the public/svg directory for use in the LogoCloud section.
- Introduced a new HeroSection component to the homepage, featuring an engaging introduction, title, and action buttons to improve user engagement.
- Updated the English and Chinese JSON files to include a hero section with descriptive content.
- Refactored the FAQ component to FaqSection for consistency and updated its usage in both the homepage and pricing page.
- Added a tagline to the footer for better branding visibility.
- Updated multiple files to replace the deprecated getBaseUrlWithLocale function with the new getUrlWithLocale function for generating localized URLs.
- Ensured consistency across the application by standardizing URL generation methods in checkout, customer portal, and various marketing pages.
- Modified the FAQ section in both English and Chinese JSON files to enhance user support with clearer descriptions and additional contact information.
- Updated the layout of the PricingPage to include the FAQs component, improving information accessibility.
- Introduced new components for the hero section and pricing table, enhancing the overall user experience and engagement.
- Refactored the pricing layout to streamline the presentation of pricing options and improve maintainability.
Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:
- A server/client branch `if (typeof window !== 'undefined')`.
- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.
- Date formatting in a user's locale which doesn't match the server.
- External changing data without sending a snapshot of it along with the HTML.
- Invalid HTML tag nesting.
- Updated HomePage title and description to reflect new branding.
- Added a comprehensive FAQ section with questions and answers to improve user support.
- Modified the PricingPage layout to include the new FAQs component for better information accessibility.
- Updated import paths for various components to use the new nsui directory structure, enhancing organization and maintainability.
- Refactored layout and page components to align with the new structure, ensuring consistency across the codebase.
- Introduced new components such as BlockPreview and BlocksNav to improve modularity and reusability.
- Updated NavbarMobile to use UserButtonMobile for mobile user interactions.
- Introduced UserButtonMobile component to handle user actions in a mobile-friendly manner, including sign-out functionality and user avatar display.
- Removed unused drawer-related imports from UserButton component to streamline the codebase.
- Introduced multiple FAQ pages (two, three, four) to enhance user support and information accessibility.
- Added integration sections (one, two, three, four, five, six, seven, eight) to showcase various tools and services.
- Implemented a development toolbar for easier debugging and page reloading during development.
- Removed the loading component as it was no longer needed.
- Updated the layout to conditionally render the development toolbar in development mode.
- Removed scaled and mono theme options from the theme selector and related components to streamline theme management.
- Updated localization files to reflect the removal of unused theme translations.
- Cleaned up CSS by eliminating unnecessary theme styles, enhancing maintainability and performance.
- Adjusted the WebsiteMetadata interface to remove references to obsolete themes, improving code clarity.
- Renamed and reorganized the ActiveThemeProvider and PaymentProvider components for better clarity and structure.
- Introduced the ActiveThemeProvider component to manage the active theme and set cookies accordingly.
- Implemented the PaymentProvider component to initialize payment state based on the user's session.
- Updated imports in related components to reflect the new file structure.
- Deleted multiple marketing section files including call-to-action, content, FAQ, features, hero, pricing, stats, and testimonials to streamline the codebase.
- This cleanup enhances maintainability by removing obsolete components that are no longer in use.
- Changed canonical URLs for cookie, privacy, and terms pages to remove unnecessary suffixes, enhancing SEO and URL consistency.
- Renamed the layout component for better clarity regarding its purpose in the marketing blocks structure.
- Replaced hardcoded locale data with a centralized website configuration structure, enhancing maintainability and consistency across components.
- Updated various components to utilize the new websiteConfig for locale flags and names, improving code clarity and reducing redundancy.
- Removed obsolete LOCALE_LIST and streamlined routing logic to align with the new configuration approach.
- Renamed variables in the pricing table and billing card components for clarity, changing 'paymentConfig' to 'pricePlans'.
- Updated the getPricePlans function to return a more explicit Record type for better type safety and maintainability.
- Enhanced the structure of price plans by consolidating translation logic within the returned plans object, improving code organization and readability.
- Updated sidebar, footer, navbar, and user button components to use new naming conventions for configuration retrieval functions, enhancing code clarity and consistency.
- Renamed functions from getSidebarConfig, getFooterConfig, getNavbarConfig, and getAvatarConfig to getSidebarLinks, getFooterLinks, getNavbarLinks, and getAvatarLinks respectively.
- Adjusted the website configuration structure to include metadata for logos and social links, improving maintainability and organization of configuration data.
- Introduced a new admin section with user management capabilities, including a dedicated AdminUsersPage.
- Updated localization files to support new admin titles in English and Chinese.
- Added routing for the admin users page and integrated it into the sidebar configuration.
- Created necessary layout and loading components for the admin section.
- Implemented a data structure for user management, enhancing the overall admin functionality.
- Added descriptive comments for the DashboardPage, DashboardHeader, DashboardSidebar, SidebarMain, and SidebarUser components to improve code readability and maintainability.
- Enhanced understanding of component purposes and functionalities through clear documentation.
- Removed the old sitemap implementation and replaced it with a new one that generates dynamic routes for categories, posts, and documentation.
- Introduced a new robots.txt handler to manage crawling rules and specify the sitemap location.
- Updated URL handling functions to improve locale support in callback URLs.
- Enhanced the content-collections.ts file by reorganizing documentation comments and reintroducing the extractLocaleAndBase function for better clarity and maintainability.
- Updated login-form.tsx, register-form.tsx, and social-login-button.tsx to utilize useLocale for dynamic callback URL generation based on the user's locale.
- Adjusted the default callback URL to include the locale, improving user experience and localization support in authentication flows.
- Enhanced middleware functionality to manage access for protected routes based on user authentication status.
- Added logic to redirect users to the login page if they attempt to access protected routes while not logged in.
- Implemented a utility function to strip locale from the pathname for better route handling.
- Updated route definitions to categorize routes that are not accessible to logged-in users and those that require authentication.
- Improved comments and logging for better traceability and understanding of middleware operations.
- Created new SQL tables for account, payment, session, user, and verification to support user management and payment processing.
- Added foreign key constraints to link account, payment, and session tables to the user table for data integrity.
- Updated journal and snapshot metadata to reflect the new schema changes.
- Added detailed logging for active subscription retrieval in get-active-subscription.ts to improve traceability.
- Updated comments in pricing-table.tsx and billing-card.tsx to better describe the purpose of price plan retrieval.
- Modified payment types in types.ts to include 'incomplete_expired' for better status handling.
- Improved logging messages in stripe.ts for clearer debugging information during payment processing.
- Replaced getPlanById with findPlanByPlanId in create-checkout-session.ts and stripe.ts for improved clarity.
- Removed unused getAllPricePlans import in pricing/layout.tsx to streamline the code.
- Updated price-plan.ts to enhance the findPlanByPlanId function and added error handling in findPriceInPlan.
- Adjusted payment-store.ts to reflect the updated price plan retrieval method.
- Updated import paths for price plan functions to use the new price-plan module for better modularity and maintainability.
- Removed redundant price plan functions from the payment module to streamline the codebase.
- Introduced a new price-plan.ts file to encapsulate price plan logic and improve code organization.
- Added TODO comments in middleware.ts, routes.ts, sitemap.ts, and routing.ts to indicate areas for future improvements, including middleware rules for protected routes, route configuration, and sitemap entries.
- Included a comment in globals.css for reference to shadcn UI theming documentation.
- Modified translation keys in avatar, footer, navbar, sidebar, and social configuration files to enhance modularity and maintainability.
- Removed redundant 'Marketing' prefix from translation keys for improved clarity and consistency across the application.
- Deleted the config.tsx file as it is no longer needed for backward compatibility.
- Updated import paths in blog-card.tsx to reference the new location of PLACEHOLDER_IMAGE in constants.ts.
- Introduced a new constants.ts file to define PLACEHOLDER_IMAGE for improved modularity and maintainability.
- Introduced new configuration files for navbar, footer, avatar, sidebar, social links, and payment plans to enhance modularity and maintainability.
- Updated import paths across the codebase to reference the new configuration files.
- Removed deprecated functions and streamlined the config.tsx file for better organization.
- Moved website configuration to a new file for better modularity and maintainability.
- Updated import paths across the codebase to reference the new website configuration location.
- Removed the old website configuration from the config.tsx file to streamline the codebase.
- Introduced new pricing plans (Free, Pro, Lifetime) with detailed descriptions and features in both English and Chinese.
- Updated payment configuration to include new plans and their pricing structures.
- Refactored payment-related functions to retrieve pricing plans consistently across the application.
- Enhanced the PricingTable component to dynamically display available plans based on the new configuration.
- Removed deprecated payment configuration file to streamline the codebase.
- Changed import paths for StorageError to use the correct types module across storage-related API routes.
- Renamed functions in storage/index.ts for clarity, updating getStorageProvider and initializeStorageProvider to better reflect their functionality.
- Streamlined API endpoint constants for improved readability and maintainability in storage operations.
- Updated mail provider functions to improve naming consistency and clarity, renaming initializeMailProvider to getMailProvider and vice versa.
- Enhanced README documentation for both mail and newsletter modules to reflect structural changes and clarify usage.
- Streamlined imports and exports in mail and newsletter files for better organization.
- Added error handling in ResendNewsletterProvider constructor to ensure required environment variables are set.
- Removed deprecated code and unnecessary type exports to simplify the codebase.