- 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.
- 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.
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