- Introduced a new design system for header buttons, emphasizing glass morphism principles, circular design, layered depth effects, and interactive animations.
- Included implementation patterns and special variants for close and navigation buttons.
- Provided usage guidelines and icon standards to ensure consistency and accessibility across media preview and overlay interfaces.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated various package dependencies across the project, including @sentry/react, @tanstack/react-query, and others to their latest versions for improved performance and security.
- Enhanced type safety in several components by refining type definitions, particularly in motion-related imports.
- Adjusted transition configurations to utilize new presets for smoother animations.
Signed-off-by: Innei <tukon479@gmail.com>
- Renamed the plugin from '@follow/vite-plugin-route-builder' to '@follow-app/vite-plugin-route-builder' for better clarity.
- Added support for synchronous loading of components with the new '.sync.tsx' file extension.
- Enhanced the route generation logic to accommodate custom segment group ordering.
- Updated package dependencies and configurations, including the addition of test scripts and improved documentation.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the Toaster component to improve styling and functionality, including new toast options and class names for better customization.
- Introduced a custom transformer for the 'tw' function to compress template strings, optimizing the handling of template literals.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the onActivate method in LifecycleManager to ensure the main window is shown and focused when activated, improving user experience.
- Added import for LifecycleManager in bootstrap.ts to support the new functionality.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the isDev constant to dynamically set its value based on the NODE_ENV environment variable, improving flexibility for development and production environments.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced `tsup` with `tsdown` in multiple package configurations to streamline the build process.
- Updated build scripts in `package.json` files across various applications and packages.
- Introduced new `tsdown.config.ts` files for configuration in the `ssr` and `readability` packages.
- Removed obsolete `tsup.config.ts` files to clean up the project structure.
Signed-off-by: Innei <i@innei.in>
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new plugin to generate React Router routes from a file system-based structure, enhancing routing capabilities similar to Next.js.
- Updated various configurations and components to integrate the new plugin, including automatic route generation during build time.
- Refactored existing router implementations to utilize generated routes, improving maintainability and performance.
Signed-off-by: Innei <i@innei.in>
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced direct window management functions with a WindowManager class to encapsulate window creation, retrieval, and destruction.
- Updated router, tray, menu, updater, and other modules to utilize the new WindowManager methods.
- Improved window state handling and ensured consistent window behavior across different platforms.
- Added a backup of the previous window management implementation for reference.
Signed-off-by: Innei <i@innei.in>
- Implement drag-to-close feature for the media preview modal, allowing users to dismiss the modal by dragging.
- Introduce dynamic scaling and opacity adjustments during drag interactions.
- Update modal animations using Framer Motion for smoother transitions.
- Refactor child component handling to support zoom state changes and improve overall structure.
Signed-off-by: Innei <tukon479@gmail.com>
- Refactor image source selection to prioritize proxy and origin URLs based on user preferences.
- Implement error handling to retry loading from alternative sources upon failure.
- Add debug information for successful image loads and errors in development mode.
- Optimize state management for loading and error states.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance PagerView onScroll event to include position parameter for iOS
* feat: add TimelineSelectorDragProgress context and provider for managing drag state
* feat: enhance TimelineViewSelector with drag progress and animated item transitions
* feat: integrate drag progress into PagerList and TimelineViewSelector for enhanced user interaction
* feat: add animated icon transitions in ViewItem based on drag progress
* fix: add scrollViewDidEndDecelerating to trigger onScrollEnd callback
* fix: enhance PagerList to synchronize drag progress with timeline selection
* fix(dayjs): fix relative time not follow when language change
* fix: update world in grid item template
* fix: change dayjs locale to settings change
* fix: apply suggest review suggestion
- Added a TypeScript ignore comment for the `math` node in the `parseHtml` function to suppress type errors. This change ensures that the handling of math nodes does not interfere with TypeScript's type checking, allowing for smoother integration and functionality.
These changes aim to improve the robustness of the HTML parsing logic while maintaining type safety.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced two new cropping functions: `handleFullImageCrop` and `handleCenterCrop` to allow users to easily crop their avatars to full image size or center-focused size.
- Updated the modal layout to include buttons for these new cropping options, enhancing user experience and providing more flexibility in avatar customization.
These changes aim to improve the avatar upload process by offering users convenient cropping presets.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the `setAvatar` function to include success and error handling for the avatar update process.
- Integrated toast notifications to inform users of the outcome of their avatar update, improving user experience and feedback.
These changes aim to provide clearer communication to users regarding the status of their avatar updates.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a helper function `constrainCropData` to ensure crop dimensions remain within image boundaries and maintain a 1:1 aspect ratio.
- Updated image loading and cropping logic to utilize the new helper function for better validation of crop data.
- Improved mouse event handling for cropping to ensure accurate resizing and positioning of the crop area.
- Adjusted crop style calculations to account for the actual display size of the image within its container.
These changes aim to provide a more robust and user-friendly experience when uploading and cropping avatars.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced `AvatarUploadModal` component for user-friendly avatar image uploads, including cropping and validation for file type and size.
- Added `uploadAvatarBlob` function to handle the upload process to the server.
- Updated `ProfileSettingForm` to integrate the avatar upload modal, allowing users to upload and preview their avatars seamlessly.
- Enhanced localization with new strings for avatar upload instructions and error messages.
These changes aim to improve the user experience by providing a straightforward method for uploading and managing profile images.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a constant `UN_CATEGORIZED` to manage uncategorized subscriptions more effectively.
- Updated the logic to assign uncategorized subscriptions to the `UN_CATEGORIZED` category.
- Implemented sorting for uncategorized subscriptions to display them last, improving the organization of subscription groups.
These changes aim to streamline the categorization process and enhance the user experience when viewing subscriptions.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced enhanced scroll state management to adjust header elevation and compactness based on scroll position.
- Updated the layout of the header and container components for better responsiveness and visual appeal.
- Improved logo and social media links sections with animations and transitions for a more dynamic user experience.
These changes aim to provide a more intuitive and visually appealing header that adapts to user interactions.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a constant `SIZE` to manage the number of feeds displayed, improving maintainability.
- Updated the feed count display to use `list.data.feedCount` for accuracy.
- Enhanced error handling in `callNotFound` to specifically manage `FetchError` instances, improving robustness.
These changes aim to streamline feed management and enhance error reporting in the application.
Signed-off-by: Innei <tukon479@gmail.com>