- Added BlogHome component for displaying posts with sorting options (latest/popular).
- Integrated Sidebar with About, Hot Posts, Tags, and Misskey Iframe components.
- Created BlogPost component to render individual posts with metadata and content.
- Developed GravatarAvatar component for user avatars.
- Implemented Markdown rendering with syntax highlighting and custom code blocks.
- Added pagination component for navigating through posts.
- Enhanced login form with OpenID Connect options and email/password authentication.
- Utility functions for generating post URLs and calculating reading time.
- 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.
- Updated component files to use consistent single quotes for strings.
- Removed unnecessary newlines and adjusted indentation for better readability.
- Simplified conditional rendering and improved code structure in various components.
- Added ESLint configuration for better code quality and adherence to standards.
- Enhanced error handling in i18n request logic.
- 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.
fix: Update post fetching logic to use dynamic ID instead of hardcoded value
feat: Enhance layout with animated transitions using framer-motion
refactor: Remove old post and user page implementations, introduce new structure
feat: Implement sidebar components for blog home with dynamic content
feat: Create blog post component with wave header and metadata display
feat: Add responsive sidebar menu for navigation on mobile devices
chore: Introduce reusable sheet component for modal-like functionality
- 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