- Introduced new CSS files for rose, violet, and yellow themes with custom color variables.
- Implemented dark mode styles for each theme.
- Created a color data structure to manage theme colors in the console settings.
feat: implement image cropper component
- Added an image cropper component for user profile picture editing.
- Integrated the image cropper into the user profile page.
feat: enhance console sidebar with user permissions
- Defined sidebar items with permission checks for admin and editor roles.
- Updated user center navigation to reflect user permissions.
feat: add user profile and security settings
- Developed user profile page with avatar upload and editing functionality.
- Implemented user security settings for password and email verification.
feat: create reusable dialog and OTP input components
- Built a dialog component for modal interactions.
- Developed an OTP input component for email verification.
fix: improve file handling utilities
- Added utility functions for file URI generation.
- Implemented permission checks for user roles in the common utilities.
- Implemented Sidebar component with collapsible functionality.
- Added SidebarProvider for managing open state and keyboard shortcuts.
- Created SidebarTrigger, SidebarRail, and various sidebar elements (Header, Footer, Content, etc.).
- Integrated mobile responsiveness using Sheet component.
- Added utility hooks for mobile detection.
feat: create table component for structured data display
- Developed Table component with subcomponents: TableHeader, TableBody, TableFooter, TableRow, TableCell, and TableCaption.
- Enhanced styling for better readability and usability.
feat: implement tabs component for navigation
- Created Tabs component with TabsList, TabsTrigger, and TabsContent for tabbed navigation.
- Ensured accessibility and responsive design.
feat: add toggle group component for grouped toggle buttons
- Developed ToggleGroup and ToggleGroupItem components for managing toggle states.
- Integrated context for consistent styling and behavior.
feat: create toggle component for binary state representation
- Implemented Toggle component with variant and size options.
- Enhanced user interaction with visual feedback.
feat: add tooltip component for contextual information
- Developed Tooltip, TooltipTrigger, and TooltipContent for displaying additional information on hover.
- Integrated animations for a smoother user experience.
feat: implement mobile detection hook
- Created useIsMobile hook to determine if the user is on a mobile device.
- Utilized matchMedia for responsive design adjustments.
- Refactored userLogin function to include captcha handling.
- Introduced getCaptchaConfig API to fetch captcha configuration.
- Added Captcha component to handle different captcha providers (hCaptcha, reCaptcha, Turnstile).
- Updated LoginForm component to integrate captcha verification.
- Created UserProfile component to display user information with avatar.
- Implemented getUserByUsername API to fetch user details by username.
- Removed deprecated LoginRequest interface from user model.
- Enhanced navbar and layout with animation effects.
- Removed unused user page component and added dynamic user profile routing.
- Updated localization files to include captcha-related messages.
- Improved Gravatar component for better avatar handling.
- Updated OIDC configuration to include additional fields in the UpdateOidcConfig method.
- Enhanced CommentService to include IsPrivate field in the comment DTO.
- Refactored comment components: renamed neo-comment to comment, and moved related files.
- Implemented new CommentInput and CommentItem components for better structure and readability.
- Removed obsolete files related to the old comment system.
- Added CSS animations for comment components to improve user experience.
- Update comment API to handle private comments and improve request structure.
- Remove unused CSS animations and components related to comments.
- Implement new comment input and item components with enhanced functionality including editing and private comment options.
- Integrate user profile navigation and improve user experience with better feedback on actions (like, delete, edit).
- Update localization for new features and ensure consistency in comment handling.
- Introduce checkbox for private comments in the comment input.
- Added support for nested comments with reply functionality.
- Implemented like/unlike feature for comments and posts.
- Enhanced comment DTO to include reply count, like count, and like status.
- Updated comment and like services to handle new functionalities.
- Created new API endpoints for toggling likes and listing comments.
- Improved UI components for comments to support replies and likes with animations.
- Added localization for new comment-related messages.
- Introduced a TODO list for future enhancements in the comment module.
- Updated `getPostById` function to accept an optional authorization token.
- Modified `PostPage` to retrieve the token from cookies and pass it to the API call.
- Added smooth transition effects for background and text colors in `globals.css`.
- Cleaned up imports and formatting in `blog-home.tsx`.
- Refactored `blog-post.tsx` to use `MDXRemote` for rendering markdown content.
- Introduced `blog-comment.tsx` and `blog-post-header.client.tsx` components for better structure.
- Added a switch component for dark/light mode toggle in the navbar.
- Updated `Post` model to include a description field.
- Renamed `orderedBy` to `orderBy` and `reverse` to `desc` in ListPostsParams interface and related functions.
- Updated all usages of the sorting parameters in the post listing logic to reflect the new naming convention.
feat: add user-related API functions
- Implemented `getLoginUser` and `getUserById` functions in the user API to fetch user details.
- Enhanced user model to include `language` property.
feat: integrate next-intl for internationalization
- Added `next-intl` plugin to Next.js configuration for improved localization support.
- Removed previous i18n implementation and replaced it with a new structure using JSON files for translations.
- Created locale files for English, Japanese, and Chinese with basic translations.
- Implemented a request configuration to handle user locales and messages dynamically.
fix: clean up unused imports and code
- Removed unused i18n utility functions and language settings from device context.
- Cleaned up commented-out code in blog card component and sidebar.
chore: update dependencies
- Added `deepmerge` for merging locale messages.
- Updated package.json and pnpm-lock.yaml to reflect new dependencies.
- Implemented `getPostById` API function to fetch a post by its ID.
- Refactored the main page to use a new `BlogHome` component for better organization.
- Added loading state and sorting functionality for posts on the blog home page.
- Integrated label fetching and display on the blog home page.
- Enhanced the blog card component with improved layout and statistics display.
- Updated the navbar to use dynamic configuration values.
- Added Docker support with a comprehensive build and push workflow.
- Created a custom hook `useStoredState` for managing local storage state.
- Added a new page for displaying individual posts with metadata generation.
- Removed unused components and files to streamline the codebase.
refactor: change import paths for DeviceContext and GravatarAvatar components
fix: adjust login form API call and update UI text for clarity
feat: add post API for listing posts with pagination and filtering options
feat: implement BlogCard component for displaying blog posts with enhanced UI
feat: create Badge component for consistent styling of labels and indicators
refactor: reintroduce DeviceContext with improved functionality for theme and language management
feat: define Label and Post models for better type safety and structure
feat: create random labels page
feat: implement login page with OpenID Connect support
feat: add Gravatar component for user avatars
feat: create Navbar component with navigation menu
chore: create Sidebar component placeholder
feat: implement login form with OIDC and email/password options
feat: add reusable button component
feat: create card component for structured content display
feat: implement input component for forms
feat: create label component for form labels
feat: add navigation menu component for site navigation
chore: add configuration file for site metadata
feat: implement device context for responsive design
feat: add utility functions for class name management
feat: define OIDC configuration model
feat: define base response model for API responses
feat: define user model for user data
feat: implement i18n for internationalization support
feat: add English and Chinese translations for login
chore: create index for locale resources
chore: add blog home view placeholder