Commit Graph

5097 Commits

Author SHA1 Message Date
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
Stephen Zhou e0f03e1e7b
fix(desktop): update sqlocal, better compatibility, use opfs sah 2025-06-17 16:00:17 +08:00
Stephen Zhou 5ff76b5fbb
fix(desktop): the expanded state is reset 2025-06-17 09:53:26 +08:00
Innei 704c11d5c6
feat(discover): add SimpleDiscoverModal for enhanced feed discovery
resolves FOL-1537

- Introduced `SimpleDiscoverModal` component to facilitate searching and adding feeds via keywords or URLs.
- Implemented form validation using Zod and integrated with the API for feed discovery.
- Updated `SubscriptionList` to show the modal when adding feeds, improving user experience.
- Enhanced localization with new strings for the discover functionality.

These changes aim to streamline the process of discovering and adding feeds, providing users with a more intuitive interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 01:31:12 +08:00
Cason Kervis 67180d3bf3
fix(marquee): improved antimate effect (#3937)
* feat(marquee): add space between head and tail, stop when one cycle complete

* feat(marquee): support corner-player
2025-06-17 00:59:31 +08:00
Innei ed752c51e7
refactor(ui): extract shared ui components
- Added `HeaderActionButton` and `HeaderActionGroup` components for improved action handling in the UI.
- Introduced `Media`, `MediaContainerWidthProvider`, and related context components to manage media dimensions and rendering.
- Enhanced markdown rendering components (`BlockImage`, `InlineImage`, `MarkdownLink`) to utilize the new media structure, improving image handling and layout.
- Updated various components to import from the new media structure, ensuring consistency and better organization.

These changes aim to enhance the media handling capabilities and improve the overall user experience in the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 00:55:53 +08:00
Innei 423f1298c3
refactor(entry-content): handle entry actions, fixed #3841
- Introduced `ApplyEntryActions` component to manage entry actions more effectively.
- Updated `NoContent` component to utilize `useShowSourceContent` for better state management.
- Refactored `EntryContent` to remove unnecessary readability and source content effects, enhancing performance.
- Enhanced `RuleCardToolbar` to include confirmation dialog for rule deletion, improving user experience and preventing accidental deletions.

These changes aim to improve the modularity and usability of the entry content features across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 00:38:42 +08:00
Innei 7b3ec02d5a
feat(ui): enhance user interface with new components and layout improvements
- Redesigned the Discover, RSSHub, and Actions pages for a more modern and user-friendly experience.
- Introduced `HeaderActionButton` and `HeaderActionGroup` components to streamline action button layouts.
- Updated the `ActionSetting` and `RSSHub` components to utilize the new button components, improving functionality and visual consistency.
- Enhanced the `WhenSection` component with improved spacing and label styling for better readability.

These changes aim to elevate the overall user experience and maintain a cohesive design across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 00:09:05 +08:00
Innei f9aca60d6f
refactor(ui): re-design rsshub page ui
- Improved the layout and styling of the ActionSetting, Recommendations, UserProfileModal, Trending, and RSSHub components for better visual consistency and responsiveness.
- Adjusted class names to center elements and enhance spacing, ensuring a more cohesive user experience.
- Updated the UserAvatar component to display either the user's name or handle when the name is not available.
- Refactored the discover page to include a more structured header and additional content sections, improving overall navigation and accessibility.

These changes aim to enhance the user interface and provide a more intuitive experience across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 23:22:56 +08:00
Innei 5ddf4b8b18
refactor(action): enhance ActionSetting layout and styling
- Updated the layout of the ActionSetting component for improved responsiveness and visual clarity.
- Replaced the animated placeholder with a simpler static design and adjusted icon sizes for better alignment.
- Enhanced the ActionButtonGroup with a more structured layout, including dynamic labels and improved spacing.
- Refined the overall user interface to provide a more cohesive experience when managing action rules.

This refactor aims to improve usability and maintainability of the action settings interface.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 18:19:20 +08:00
Innei 671750b21a
fix(action): action button group with dynamic labels and disabled states
- Updated the ActionButtonGroup to conditionally render button labels based on the presence of actions.
- Added disabled states for the export and copy to clipboard options when no actions are available.
- Improved user interface by ensuring appropriate icons and labels are displayed for share and import actions.

This enhancement provides clearer feedback to users regarding available actions and improves overall usability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 18:03:52 +08:00
Innei c9dc6426f8
feat(action): add empty state placeholder for action rules
- Introduced an `EmptyActionPlaceholder` component to display a message when no action rules are present.
- Updated `ActionSetting` to conditionally render the placeholder or the list of action rules based on their availability.
- Enhanced the user interface with animations for the empty state and a prompt to create new actions.

This addition improves user experience by guiding users to start creating action rules when none exist.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 18:02:01 +08:00
Innei 394d00f1a2
feat: support share actions and import from clipboard
- Added a new utility function `copyToClipboard` to handle clipboard operations with error handling.
- Refactored existing clipboard interactions across various components and hooks to utilize the new utility function.
- Introduced import/export functionality for action rules, allowing users to copy rules to clipboard and import from clipboard.
- Enhanced user feedback with toast notifications for clipboard actions.

This update improves code reusability and user experience when interacting with the clipboard.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 17:55:15 +08:00
Innei 1ace5eaaa3
refactor(action): replace ActionCard with RuleCard and restructure action settings
- Removed ActionCard component and its associated imports.
- Introduced RuleCard component to handle action rules.
- Updated ActionSetting to utilize RuleCard instead of ActionCard.
- Added new sections for handling conditions and actions (WhenSection, ThenSection).
- Introduced constants for available actions and their configurations.
- Removed TargetActionList component as part of the refactor.

This refactor enhances the modularity and maintainability of the action settings UI.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 16:52:34 +08:00
Stephen Zhou 95b23c3be7
refactor: move image sync service to mobile, bring hydration back 2025-06-16 16:25:43 +08:00
Stephen Zhou 53957468c9
refactor(desktop): use summary from store package (#3944) 2025-06-16 16:14:58 +08:00
Stephen Zhou 9febfef3c5
fix(desktop): ui stuck when setting unread count 2025-06-16 15:34:18 +08:00
Innei c5afb8335c
fix(desktop): update dock badge handling based on UI settings
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-16 14:51:58 +08:00
Stephen Zhou 3d8285405a
fix(desktop): sync dock badge with unread count 2025-06-16 12:06:03 +08:00
Eric Zhu 2ba7dde263
feat(locales): update zh-CN translations (#3941) 2025-06-16 11:41:20 +08:00
Cason Kervis 9af1b0eb06
feat: don't show the group entries when click the > button on desktop (#3935) 2025-06-16 11:40:29 +08:00
0-o0 cca1a9f268
fix: icon can't follow theme switch correctly (#3922) 2025-06-16 11:38:22 +08:00
Kingsword f5e9c9cf56
docs: update mobile app development steps in contributing guide (#3938) 2025-06-16 11:36:55 +08:00