Commit Graph

5119 Commits

Author SHA1 Message Date
Innei 412dfe478e
feat: add header button design system documentation
- 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>
2025-06-20 23:52:40 +08:00
Innei 6d76d6b558
chore: update dependencies and improve type safety
- 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>
2025-06-20 23:32:42 +08:00
Innei 9f0e7522d9
feat: update vite-plugin-route-builder and related configurations
- 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>
2025-06-20 21:52:26 +08:00
Innei 73f801108b
feat: re-design toast style
- 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>
2025-06-20 20:51:22 +08:00
Innei 447ad32d9f
fix: show main window when hide to active
- 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>
2025-06-20 15:13:15 +08:00
Stephen Zhou e54cb16c62
chore: add OPFS Explorer extension 2025-06-20 15:09:18 +08:00
Stephen Zhou b3dfeeee54
refactor: restrict value in action config type 2025-06-20 09:39:01 +08:00
Stephen Zhou 018f371654
chore: ignore generated-routes.ts in eslint 2025-06-20 09:27:34 +08:00
Stephen Zhou ab9dd3c116
chore: ignore generated-routes.ts in prettier 2025-06-20 09:25:40 +08:00
Stephen Zhou eb3f663a67
refactor: improve action config type safe 2025-06-20 09:21:21 +08:00
Stephen Zhou 20858f6614
chore: do not ignore generated-routes.ts to pass type check 2025-06-20 08:32:40 +08:00
Stephen Zhou 1e13fdad23
chore: update hono type 2025-06-20 08:31:00 +08:00
lawvs e8dd69e478 fix: prevent link navigation for image-only children 2025-06-20 03:13:10 +08:00
Innei e65a5f83a1
fix: update isDev environment variable to use NODE_ENV
- 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>
2025-06-20 02:02:03 +08:00
Innei f372b2f403
refactor: migrate from tsup to tsdown for build process
- 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>
2025-06-20 01:59:55 +08:00
Innei 1d83313872
feat: add vite-plugin-route-builder for dynamic route generation
- 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>
2025-06-20 01:41:53 +08:00
pseudoyu 710622a907
feat: add filter video length action (#3960) 2025-06-19 23:54:16 +08:00
Innei b6ec2a09cf feat: implement application lifecycle and window management
Signed-off-by: Innei <i@innei.in>
2025-06-19 23:46:36 +08:00
Innei 61d5611ed5 fix: adjust padding in Wrapper component top inset in windows app
Signed-off-by: Innei <i@innei.in>
2025-06-19 23:03:29 +08:00
Innei 27021df68a refactor: Introduce WindowManager for centralized window management
- 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>
2025-06-19 22:57:23 +08:00
Stephen Zhou f3487acd50
fix: entries stream 401 (#3959) 2025-06-19 21:26:44 +08:00
Stephen Zhou 2c04919bda
fix: can not follow list in preview, close #3895 2025-06-19 19:18:07 +08:00
Innei 2ea072524c
feat: enhance media preview with drag-to-close functionality and animation
- 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>
2025-06-19 18:21:50 +08:00
Stephen Zhou 15b8d79567
fix: local data update for batchUpdateSubscription 2025-06-19 17:39:00 +08:00
Innei 8a65dda8b9
refactor: `<Media />` with improved image source handling and error management
- 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>
2025-06-19 17:30:36 +08:00
Stephen Zhou d71b2e839a
fix: use batch api for change category view 2025-06-19 17:13:52 +08:00
Stephen Zhou 8a4edf9cec
fix: get folder feed ids 2025-06-19 17:07:44 +08:00
Whitewater 524ad05002
feat: enhance scroll interactions in TimelineSelector (#3952)
* 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
2025-06-19 07:17:27 +00:00
lawvs 69851eb443 fix: add color prop to User3CuteReIcon in Trending component 2025-06-19 14:52:59 +08:00
Innei fd7f57e3cd
fix: update header shadow style and clean up user query logic
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-19 14:33:20 +08:00
Innei 079b0fed39
fix: adjust shadow style for header elevation in SubviewLayoutInner
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-19 14:14:00 +08:00
lawvs 102d8bfb6a fix: update GroupedInsetListCard style for improved android layout 2025-06-19 12:46:08 +08:00
lawvs f01baf9ba7 fix: enhance NativeWebView to handle window opening and improve URL parsing error handling 2025-06-19 12:17:36 +08:00
Stephen Zhou b5478d8436
chore: add typecheck for rn-micro-web-app 2025-06-18 16:58:00 +08:00
Stephen Zhou c5bb56372a
chore: fix import in web app html-render 2025-06-18 16:52:29 +08:00
Stephen Zhou 8f66d91ce1
feat: changeCategoryView for mobile, better local data update 2025-06-18 16:46:27 +08:00
Stephen Zhou f108a45601
feat: delete or rename category for mobile, improve local data update, close #3945 2025-06-18 16:14:52 +08:00
Cason Kervis e3deb2ec10
fix(dayjs): fix relative time not follow language change (#3932)
* 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
2025-06-18 15:51:27 +08:00
Konv Suu 1de43e1595
fix(desktop): enhance scroll behavior when navigating between Discover and Recommendation pages (#3948) 2025-06-18 15:51:00 +08:00
Stephen Zhou 7a74ebe895
fix(desktop): excludePrivate not working for local change 2025-06-18 14:54:51 +08:00
Innei 472ee72b52
fix(parse-html): add TypeScript ignore for math node handling
- 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>
2025-06-18 14:11:47 +08:00
Innei 7e3e1c73c6
feat(avatar-upload): add preset cropping options in AvatarUploadModal
- 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>
2025-06-18 14:03:17 +08:00
Innei c51639ba69
chore(settings): add avatar update feedback with success and error notifications
- 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>
2025-06-18 13:53:15 +08:00
Innei b72ab7dffd
fix(avatar-upload): cropping functionality keep aspect
- 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>
2025-06-18 13:47:56 +08:00
lawvs 71dc626996 fix: simplify NoContent component usage in EntryContent 2025-06-18 13:31:22 +08:00
Innei 8130bbceb3
feat(avatar-upload): implement avatar upload modal and related functionality
- 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>
2025-06-17 23:14:54 +08:00
lawvs e25451aa2b fix: prevent image rendering error in ThumbnailImage 2025-06-17 22:47:44 +08:00
Innei bd4a921cdc
feat(share): group un-categorized subscription
- 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>
2025-06-17 21:36:31 +08:00
Innei 4953caf5de
feat(header): re-design share header
- 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>
2025-06-17 20:53:12 +08:00
Innei 072f503ba6
refactor(feed): optimize feed display and error handling
- 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>
2025-06-17 20:44:37 +08:00