- Removed the old reset password form component and replaced it with a new implementation.
- Updated routing paths for login, registration, and reset password to be under a common auth path.
- Added new login and registration pages with corresponding forms.
- Introduced a common auth header component for consistent branding across auth pages.
- Implemented a current logged-in user display component.
- Enhanced the register form to include email verification and captcha.
- Updated translations for new and modified components.
- Refactored the navigation bar to include user avatar dropdown and improved menu structure.
- 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.
fix: Update Gravatar URL size and improve avatar rendering logic
style: Adjust footer margin for better layout consistency
refactor: Remove old navbar component and integrate new layout structure
feat: Enhance user profile page with user header component
chore: Remove unused user profile component
fix: Update posts per page configuration for better pagination
feat: Extend device context to support system theme mode
refactor: Remove unused device hook
fix: Improve storage state hook for better error handling
i18n: Add new translations for blog home page
feat: Implement pagination component for better navigation
feat: Create theme toggle component for improved user experience
feat: Introduce responsive navbar or side layout with theme toggle
feat: Develop custom select component for better UI consistency
feat: Create user header component to display user information
chore: Add query key constants for better code maintainability
- 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.
- 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.
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