- Updated English and Chinese localization files to improve newsletter subscription labels and team references.
- Renamed route for notifications from `SettingsNotification` to `SettingsNotifications` for consistency.
- Refactored `DashboardPage`, `SettingsBillingPage`, and `SettingsAccountPage` to streamline layout and improve responsiveness.
- Introduced `SettingsNotificationPage` to handle notification settings with a dedicated component.
- Enhanced various settings components to accept `className` props for better styling flexibility.
- Added new API routes for uploading files, generating pre-signed URLs, and retrieving file URLs using AWS S3.
- Implemented error handling for storage operations, including custom error classes for better clarity.
- Updated localization files to include success and failure messages for avatar updates.
- Enhanced the `UpdateAvatarCard` component to support file uploads directly from the browser, improving user experience.
- Changed the hero section title and description to better reflect the MkSaaS offering.
- Updated the user button to use `replace` instead of `push` for navigation after sign out, ensuring a smoother user experience.
- Modified the delete account card to also use `replace` for navigation after account deletion, enhancing consistency in routing behavior.
- Updated Chinese localization file to include a new "cancel" message for improved user experience during account deletion.
- Adjusted `DeleteAccountCard` footer styling for better alignment and spacing of buttons.
- Modified `auth.ts` to disable freshness check for user deletion, ensuring smoother account removal process.
- Introduced `ResetPasswordCard` component to guide users who signed up with social providers in setting up a password through the forgot password flow.
- Updated `ConditionalUpdatePasswordCard` to conditionally render `ResetPasswordCard` for users without a credential provider but with an email.
- Enhanced localization files to include new messages for the password setup process in both English and Chinese.
- Implemented email pre-filling in the forgot password form based on URL parameters for improved user experience.
- Replaced `UpdatePasswordCard` with `ConditionalUpdatePasswordCard` in `SettingsAccountPage` to ensure the password update option is only available for users with a credential provider.
- Added `ConditionalUpdatePasswordCard` component to handle the logic for checking user credentials and rendering the password update form accordingly.
- Updated documentation in `UpdatePasswordCard` to clarify its usage and the need for credential providers.
- Adjusted `AuthCard` to enhance readability by formatting the `CardContent` section.
- Simplified the `DividerWithText` component by removing unnecessary padding.
- Updated `MainMobileMenu` to improve layout consistency with adjusted padding and spacing.
- Replaced `Dialog` with `AlertDialog` in `DeleteAccountCard` for better user experience and consistency in alert handling.
- Enhanced error message display logic in `DeleteAccountCard` for improved clarity.
- Replaced instances of `user.username` with `user.name` in `SidebarUser`, `UserButton`, and `UpdateNameCard` components for consistency and clarity.
- Adjusted the default values in the form handling to reflect the change from username to name.
- Updated comments in `auth.ts` to clarify the implementation status of username support.
- Replaced `pageTranslations` with `pt` for improved clarity in localization across multiple pages including About, Changelog, Contact, Waitlist, Blog, Pricing, and Auth pages.
- Enhanced maintainability by standardizing the variable naming for translation functions.
- Updated English and Chinese localization files to nest waitlist form messages under a `form` object for better organization.
- Adjusted `WaitlistFormCard` component to utilize the new message structure, enhancing clarity and maintainability of the code.
- Added `contactAction` to handle contact form submissions, including validation using Zod.
- Integrated email sending functionality to notify the configured recipient upon form submission.
- Updated `ContactFormCard` to utilize the new action, providing user feedback through toast notifications.
- Enhanced error handling for email sending failures and improved logging for better debugging.
- Updated `websiteConfig` to include the recipient email address for notifications.
- Introduced a new `SettingsNotificationPage` component for managing newsletter subscriptions.
- Added `NewsletterFormCard` to handle subscription status with user feedback through toast notifications.
- Implemented `isSubscribedAction` to check user subscription status, enhancing user experience.
- Updated localization files to include new messages for newsletter management in English and Chinese.
- Enhanced sidebar with a new notification settings link for easy access to subscription preferences.
- Updated multiple card components (`ContactFormCard`, `DeleteAccountCard`, `UpdateAvatarCard`, `UpdateNameCard`, `UpdatePasswordCard`, and `WaitlistFormCard`) to include `overflow-hidden` for better layout management.
- Improved the structure of card titles and descriptions for better readability.
- Adjusted card footers to include `rounded-none` for consistent styling across components.
- Enhanced overall UI consistency and maintainability by refining component styles.
- Added `subscribeAction` and `unsubscribeAction` in `newsletter.ts` to handle newsletter subscriptions and unsubscriptions with validation using Zod.
- Introduced new localization messages for email validation in English and Chinese localization files.
- Updated `WaitlistFormCard` to utilize the new subscription action, improving user feedback with toast notifications.
- Replaced the alert icon in `FormError` component for better visual representation of errors.
- Updated the `index.ts` file to export the `send` function from the new `mail.ts` file, improving code organization.
- Introduced `mail.ts` to encapsulate the email sending logic, including template rendering and error handling, enhancing modularity and maintainability.
- Implemented a structured approach for sending emails with templates or direct content, streamlining the email functionality.
- Deleted the `WaitlistForm` component to streamline the codebase and improve modularity.
- Introduced a new `types.ts` file in the `mail` directory to centralize email-related type definitions, enhancing code organization and maintainability.
- Updated imports across email components to reference the new `types.ts`, ensuring consistency and clarity in type usage.
- Added new CSS variables for sidebar theming in `globals.css` to support light and dark modes.
- Removed redundant sidebar variables from individual theme files (`theme-blue.css`, `theme-green.css`, `theme-orange.css`, `theme-red.css`, `theme-rose.css`, `theme-violet.css`, `theme-yellow.css`, `theme-zinc.css`, and `theme.css`) to streamline styling and ensure consistency.
- Improved overall theme management for better maintainability and customization.
- Introduced several new UI components including `AlertDialog`, `AspectRatio`, `Calendar`, `Carousel`, `Command`, `ContextMenu`, `Dialog`, `DropdownMenu`, `HoverCard`, `InputOTP`, `Menubar`, `Popover`, `Progress`, `RadioGroup`, `Resizable`, `ScrollArea`, `Select`, `Slider`, `Switch`, `Table`, `ToggleGroup`, and `Toggle`.
- Updated `package.json` and `pnpm-lock.yaml` to include new dependencies for Radix UI components and other libraries.
- Improved existing components with better structure and styling, ensuring consistency across the application.
- Enhanced responsiveness and accessibility of UI elements using Tailwind CSS and Shadcn/ui.
- Added new success and failure messages for waitlist and contact form submissions in English and Chinese localization files.
- Introduced `WaitlistFormCard` component to streamline waitlist form handling and improve user feedback with toast notifications.
- Updated `ContactFormCard` to utilize new localization messages for form submission states, enhancing user experience.
- Improved structure and validation for both forms, ensuring better error handling and user guidance.
- Removed the old `ContactForm` component and integrated the new `ContactFormCard` for improved structure and validation.
- Updated `ContactPage` to utilize the new `ContactFormCard`, enhancing user experience with better form handling and error management.
- Implemented form validation using Zod and improved user feedback with toast notifications.
- Introduced `DeleteAccountCard` component for users to permanently delete their accounts, including a confirmation dialog to prevent accidental deletions.
- Updated localization files in English and Chinese to include new messages related to account deletion, enhancing user guidance and clarity.
- Improved layout of the account settings page to incorporate the new delete account functionality alongside existing update features.
- Added new success and failure messages for password updates in English and Chinese localization files.
- Updated `UpdateAvatarCard`, `UpdateNameCard`, and `UpdatePasswordCard` components to improve error handling and user feedback with toast notifications.
- Enhanced styling for the user avatar fallback icon in `UpdateAvatarCard` for better visual consistency.
- Implemented password visibility toggle functionality in the `ResetPasswordForm` component, enhancing user experience during password entry.
- Updated localization files in English and Chinese to include new messages for showing and hiding passwords.
- Ensured accessibility by providing appropriate icons and screen reader support for the password visibility toggle.
- Added password visibility toggle functionality to `LoginForm` and `RegisterForm` components, improving user experience during authentication.
- Updated localization files to include new messages for showing and hiding passwords in both English and Chinese.
- Ensured consistent styling and accessibility for the password input fields with appropriate icons and screen reader support.
- Added new localization messages for logout failure and success notifications in English and Chinese.
- Updated `SidebarUser` and `UserButton` components to display the username instead of the name for better clarity.
- Improved `UpdateNameCard` to handle username updates with appropriate success and error messages using toast notifications.
- Refactored `MainMobileMenu` to utilize the translation function directly for login and sign-up links, enhancing consistency across the application.
- Enhanced localization messages in English and Chinese for user name and password fields, adding hints for better user guidance.
- Refactored `UpdateAvatarCard`, `UpdateNameCard`, and `UpdatePasswordCard` components to improve state management and user experience.
- Updated validation hints in the `UpdateNameCard` and `UpdatePasswordCard` for clearer instructions on input requirements.
- Added a bottom border to the `DashboardHeader` for better visual separation.
- Updated `SidebarMenuButton` and `SidebarMenuSubButton` components in `SidebarMain` to include padding for improved touch target size and user experience.
- Ensured consistent styling across sidebar items for a more cohesive look.
- Revised localization messages in English and Chinese for avatar upload, name input, and password change to improve clarity and consistency.
- Adjusted the layout of `UpdateAvatarCard`, `UpdateNameCard`, and `UpdatePasswordCard` components for better user experience and responsiveness.
- Added `CardFooter` to `UpdateAvatarCard` and `UpdateNameCard` for improved information display.
- Updated validation schema for user name to reflect new minimum and maximum character requirements.
- Added `ThemeSwitcher` and `LocaleSwitcher` components to the right side of the `DashboardHeader` for improved user customization options.
- Cleaned up imports and ensured consistent formatting in the `DashboardHeader` component.
- Updated the layout to accommodate new switchers while maintaining responsiveness.
- Adjusted the maximum length for name input validation in both English and Chinese localization files from 32 to 30 characters.
- Refactored `UpdateNameCard` to initialize the form with a fallback for user name and check user existence after hooks initialization.
- Commented out the `TailwindIndicator` in the layout for potential future use.
- Introduce new components: `UpdateAvatarCard`, `UpdateNameCard`, and `UpdatePasswordCard` for managing user account settings.
- Update localization files for English and Chinese to include new fields related to avatar upload, name input, and password change.
- Refactor `SettingsAccountPage` to utilize the new components, improving code organization and user experience.
- Replace breadcrumb and sidebar trigger implementations in AI feature pages (Audio, Image, Text, Video) with a new `DashboardHeader` component for improved code reuse and consistency.
- Update localization handling for breadcrumbs in each AI feature page to enhance user navigation experience.
- Clean up imports by removing unused components related to breadcrumb and sidebar triggers.
- Refactor the `SidebarMain` component to improve active link detection and enhance user experience with collapsible menus.
- Introduce `useLocalePathname` for better path management and implement functions to check active states for sidebar items.
- Update `SidebarUser` component layout for improved readability and consistency in locale display.
- Replace `UserIcon` with `User2Icon` in the `UserAvatar` component for a more modern appearance.
- Replace the `General` and `Security` settings pages with a new `Account` settings page, updating the corresponding routes and localization files for both English and Chinese.
- Implement `useTranslations` in the new `SettingsAccountPage` to enhance localization support.
- Clean up sidebar links and remove the obsolete `SettingsGeneralPage` to streamline the settings navigation.
- Update the `SidebarMain` component to reflect the changes in settings structure.
- Introduce new pages for AI features: Audio, Image, Text, and Video, enhancing the dashboard's functionality.
- Update the sidebar to replace the `DashboardIcon` with `LayoutDashboardIcon` for improved visual consistency.
- Adjust icon sizes in the sidebar and menu links for uniformity across the application.
- Refactor the `SidebarMain` component to improve the organization of sidebar items and enhance user experience.
- Update locale selection functions in `SidebarUser`, `LocaleSelector`, and `LocaleSwitcher` components to use arrow function syntax for improved readability.
- Adjust the `SidebarUser` component's layout by adding padding to the `SidebarMenu` for better visual spacing.
- Ensure consistent naming conventions for locale selection functions across components.
- Add new dashboard sidebar item for navigation in both English and Chinese localization files.
- Introduce a new `site.webmanifest` file for improved PWA support.
- Update routing constants to include specific settings routes for better organization.
- Clean up imports in `config.tsx` and adjust sidebar links for clarity.
- Replace `BadgeCheckIcon` with `BotIcon` and `SettingsIcon` with `Settings2Icon` in the sidebar for improved visual consistency.
- Add `UserCircleIcon` to the settings link for better user representation.
- Update sidebar theme imports in `globals.css` to use `theme-blue.css` and provide manual theming instructions.
- Introduce new sidebar color variables in multiple theme files to enhance customization options.
- Introduce a new `DashboardSidebar` component to replace the obsolete `AppSidebar`, improving organization and clarity.
- Implement `SidebarMain` and `SidebarUser` components for better separation of concerns within the sidebar.
- Update localization files to include new sidebar items for AI features and settings in both English and Chinese.
- Streamline sidebar navigation by utilizing the `getSidebarMainLinks` function for dynamic link generation.
- Remove unused `NavSecondary` component to reduce complexity and improve maintainability.
- Rename `Page` component to `DashboardPage` for clarity.
- Simplify the dashboard layout by removing unnecessary `SidebarProvider` and `SidebarInset`.
- Add a new `SettingsGeneralPage` component for general settings with a structured layout.
- Update navigation components to utilize `LocaleLink` for improved routing.
- Remove obsolete `NavProjects` component to streamline the sidebar navigation.
- Eliminate the `WebsiteInfo` type from the types definition to simplify the codebase.
- Update `config.tsx` to remove the import of the now obsolete `WebsiteInfo` type, enhancing clarity and maintainability.
- Remove the `getWebsiteInfo` function to streamline website information handling.
- Update components to directly use translation functions for site name and tagline.
- Clean up `DashboardLayout`, `Footer`, `Navbar`, and `NavbarMobile` by removing unnecessary imports and improving readability.
- Maintain consistent use of translations across the application for better localization support.
- Introduce locale and theme selection functionality in the `NavUser` component.
- Implement `DropdownMenuSub` for organizing theme and language options.
- Utilize `useLocaleStore` for managing current locale state and transitions.
- Refactor imports and improve user experience with responsive design elements.
- Update translations for consistency across the dropdown menu items.
- Refactor routes for AI features and settings to improve clarity and organization.
- Update `AppSidebar` navigation items to reflect new route paths.
- Introduce `UserAvatar` component for consistent user representation across the dashboard.
- Adjust avatar sizes in various components for uniformity.
- Enhance `LocaleSwitcher` and `ThemeSwitcher` button styles for better UI consistency.
- Move `AppSidebar` to a new directory for better organization.
- Update imports for `PricingComparator` to reflect its new location within the blocks directory.
- Remove obsolete `fill-remaining-space.tsx` component to clean up the codebase.
- Introduce new `PricingComparator` component for improved pricing comparison functionality.
- Add new dashboard navigation components (`NavMain`, `NavProjects`, `NavSecondary`, `NavUser`) to enhance user experience and organization within the dashboard.
- Add "or" translation to English and Chinese localization files for improved user guidance.
- Introduce `DividerWithText` component to visually separate social login options in the authentication UI.
- Integrate `DividerWithText` in the `SocialLoginButton` component for enhanced layout clarity.
- Add __rawString__ property to MDX component for improved code handling.
- Refactor pre element to extract code content dynamically and support copy functionality.
- Update login translation in English to "Log in" for consistency.