- Move MDX component from marketing to shared folder
- Remove deprecated blog post and blog posts components
- Update blog page imports to use new MDX component location
- Add reading time estimation utility function
- Reorganize navbar and mobile navbar components
- Update marketing links configuration
- Improve component modularity and code organization
- Remove type assertions for href in various components
- Update blog card and blog post page to use `query` instead of `params`
- Simplify routing configuration by commenting out `pathnames` in `routing.ts`
- Remove commented TODOs related to href type handling
- Improve type safety and routing consistency across components
- Delete email template files: `email-formats.ts`, `newsletter-welcome.tsx`, `reset-password.tsx`, and `verify-email.tsx`
- Move `getLocaleFromRequest` utility function from `auth.ts` to `utils.ts`
- Update Chinese translation for newsletter and copyright text
- Improve code organization and remove redundant email-related files
- Update middleware to exclude API routes from locale redirection
- Modify public routes to include new pages and remove documentation routes
- Adjust auth routes order for better readability
- Replace `NEXT_PUBLIC_APP_URL` with `NEXT_PUBLIC_BASE_URL` across configuration files
- Clean up and standardize authentication and site configuration
- Replace `templateId` with `template` in email sending function
- Rename `translations` to `messages` in email template props
- Consolidate email template and sending logic in `send.ts`
- Remove separate `templates.ts` file and merge functionality
- Update email template components to use new message structure
- Improve type definitions for email-related functions and props
- Update `auth-card.tsx` to use `LocaleLink` for logo navigation
- Modify `bottom-button.tsx` with a temporary type assertion for href
- Replace `Link` with `LocaleLink` in `navbar-mobile.tsx` and `navbar.tsx`
- Ensure consistent internationalization routing across components
- Rename `usePathname` and `useRouter` to `useLocalePathname` and `useLocaleRouter`
- Update imports in locale selector component to use new navigation hook names
- Improve type safety and consistency in internationalization routing
- Rename `getPathname` to `getLocalePathname` in navigation module
- Update sitemap generation to use new locale-specific pathname function
- Add root path to routing pathnames configuration
- Improve type safety and internationalization consistency in routing
- Rename `Link` import to `LocaleLink` in navigation module
- Remove console log statements in blog page components
- Update blog card, blog category list, and other components to use `LocaleLink`
- Simplify routing configuration by removing unnecessary pathname entries
- Enhance type safety and internationalization consistency
- Add comprehensive email template system with React Email and use-intl
- Implement dynamic email template rendering with locale-specific translations
- Create reusable email components for consistent design
- Update authentication flow to support multilingual email templates
- Add new email-related dependencies and configuration
- Refactor email sending logic to support dynamic locale detection
- Integrate React Email library for creating email templates
- Add email templates for newsletter welcome, reset password, and email verification
- Create email format styles for consistent email design
- Configure Resend email service with new mail utility
- Update authentication flow to use React Email templates
- Add new email-related dependencies in package.json
- Uncomment Image components in blog posts for English and Chinese locales
- Replace blog-specific images with a consistent "mksaas-og.png" across all posts
- Update avatar images for HaiTang author in both English and Chinese content collections
- Create content collections for Boilerplate Hunt, Coupon, HaiTang, and OG Generator
- Add blog posts and author profiles in English and Chinese
- Include corresponding blog post images and avatars
- Update blog page routing and pagination to support localized routes
- Restore ThemeSwitcher in navbar
- Fix pagination route prefix to include locale
- Add new localization keys for "all" and "noPostsFound" in English and Chinese
- Update blog components to use localized translations
- Add optional chaining for category properties to prevent rendering errors
- Improve mobile and desktop category list components with translations
- Simplify blog page translation keys in English and Chinese
- Remove hardcoded category labels in blog post page
- Use server-side translations for publisher, categories, and table of contents
- Remove font-serif class from blog post content
- Enhance content collections to support cross-language content matching
- Update blog post categories from "guide" to "product"
- Add documentation for multilingual blog implementation
- Modify category and blog post pages to handle localized content
- Update locale routing with more detailed language information
- Improve content relationship resolution in content collections
- Add new "Product" category for blog posts in English and Chinese
- Update blog page subtitle using localization messages
- Enhance reset password page and form with better error handling
- Modify auth card styling with subtle border and shadow
- Update mobile navbar background for improved visual clarity
- Refine authentication form labels and button text
- Add NextPageProps type for consistent page props handling
- Resolve async params and searchParams in blog and category pages
- Simplify type annotations and improve type safety
- Remove redundant type definitions
- Modify blog card to use dynamic routing with slugAsParams
- Remove getBaseUrl import and simplify link generation
- Update blog post categories in Chinese content
- Adjust blog category list desktop component localization
- Improve key generation for category tags
- Add blog category filter for desktop and mobile views
- Implement category-based blog post filtering
- Add pagination support for blog and category pages
- Update localization messages for blog categories
- Reduce posts per page from 9 to 6
- Add loading states for blog pages
- Create new content collections for blog categories in Chinese
- Update blog post descriptions and categories
- Add new "Company" category for blog posts
- Enhance blog card and grid UI with improved styling and layout
- Refactor blog card skeleton for better visual consistency
- Update blog post dates in English and Chinese content
- Refactor blog layout with header section and container
- Simplify blog page and post layouts
- Improve blog card and grid styling
- Add initial dashboard page with sidebar and breadcrumbs
- Adjust header section subtitle color
- Adjust localization text spacing in English and Chinese translations
- Temporarily disable theme switcher in navbar
- Swap sign-up and sign-in labels in registration form
- Replace existing favicon and logo images with updated versions
- Remove unused logo SVG and PNG variants
- Normalize file permissions for public assets
- Update content collections to support locale-based content filtering
- Modify blog post, author, and category schemas to include optional locale
- Implement dynamic locale detection from file path or fallback to default locale
- Update blog components to filter posts by current locale
- Remove sample blog posts and categories from default content
- Update English and Chinese message files to remove unnecessary translations
- Remove root page redirect component
- Update home page to use new 'HomePage' translation key
- Modify marketing links by commenting out docs link
- Adjust locale selector width for better UI consistency
- Update English and Chinese message files to remove unnecessary translations
- Remove root page redirect component
- Update home page to use new 'HomePage' translation key
- Modify marketing links by commenting out docs link
- Adjust locale selector width for better UI consistency
- Add Radix UI Select component for improved locale selection
- Create Zustand store for managing current locale state
- Update navbar and mobile navbar to use new LocaleSelector
- Remove deprecated LocaleSwitcher and LocaleSwitcherSelect components
- Update routing configuration with emoji flags for locales
- Add deepmerge and Zustand dependencies to package.json
- Move global and MDX styles to `src/styles` directory
- Update import paths for CSS files in layout and blog page
- Add comments to theme switcher components for clarity
- Reorganize style imports to improve project structure
- Add German and Chinese language translations
- Update routing configuration to support multiple locales (en, de, zh)
- Create new components for locale switching and navigation
- Implement dynamic error and not-found pages with internationalized content
- Refactor global styles and MDX styling
- Update middleware and navigation configuration for improved i18n routing
- Create a new client-side component to dynamically set the lang attribute
- Refactor root and locale layouts to separate HTML structure and language setting
- Improve internationalization support by handling locale attribute more flexibly
- Remove redundant HTML tag nesting in layout components