Commit Graph

4887 Commits

Author SHA1 Message Date
Innei 4e4e09919c
refactor: remove Markdown and MarkdownWeb components
- Deleted Markdown and MarkdownWeb components to streamline the codebase.
- This change eliminates unused components related to markdown rendering, improving maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-29 22:29:30 +08:00
Stephen Zhou f7faf78eb5
fix: add border to 2fa qr code, close #3844 2025-05-29 22:15:33 +08:00
Whitewater 336021a94e
chore: add Android build trigger and release draft creation (#3843)
* chore: add release draft creation and version setup for Android builds

* chore: add Android build trigger

* fix: update comments for clarity
2025-05-29 17:31:53 +08:00
Konv Suu b8262413f3
feat(desktop): add reset defaults button for shortcuts (#3834)
* feat(desktop): add reset defaults button for shortcuts

* feat(desktop): add conditional reset defaults button for shortcuts

- Implemented a check to display the "Reset Defaults" button only if shortcuts have been customized.
- Enhanced user experience by preventing unnecessary button visibility when defaults are already in place.

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
2025-05-29 16:52:24 +08:00
lawvs d5e4976a3b fix: update pageMargin for improved layout consistency 2025-05-29 16:31:46 +08:00
lawvs 08d4056f73 fix: adjust pageMargin and offscreenPageLimit for better scrolling experience 2025-05-29 16:11:11 +08:00
Innei 9af7dccf33
refactor: merge markdown parser
- Replaced button with a div in FeedListItem for better accessibility.
- Introduced MarkdownNative component for improved markdown rendering in mobile.
- Updated RsshubFormScreen to utilize MarkdownNative for displaying route descriptions.
- Refactored renderMarkdown function to use parseMarkdown for better performance and added support for text alignment in table cells.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-29 15:48:31 +08:00
Innei ee0ec4422c
feat: add FocusableGuardProvider for managing global focus behavior
- Introduced FocusableGuardProvider to handle focus management based on modal presence and route parameters.
- Integrated with existing focus hooks and event bus for improved user experience in modal scenarios.
- Updated RootProviders to include the new FocusableGuardProvider.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-29 15:02:36 +08:00
Innei 017387db2c
feat: add rn native markdown rendering
- Introduced PrivacyPolicyScreen and TermsScreen components to display legal documents.
- Implemented markdown rendering for both screens using the renderMarkdown utility.
- Updated imports in various modules to reference the new screen components.
- Enhanced AISummary to accept ReactNode as summary content for better flexibility.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-29 14:18:56 +08:00
lawvs 91306e3158 feat: implement auto-scroll to entry after pull-up navigation 2025-05-29 12:16:44 +08:00
Stephen Zhou bf7193d3ce
fix(mobile): convert markdown to text for summary 2025-05-29 12:11:44 +08:00
Stephen Zhou b610def7be
chore: downgrade electron-forge (#3842) 2025-05-29 03:40:44 +00:00
Stephen Zhou ef6ad2a7f2
chore: fix type check 2025-05-29 10:42:07 +08:00
Stephen Zhou 852fb1d8fa
fix(desktop): do not summary for short content 2025-05-29 10:38:34 +08:00
Innei e656cfd3a2
chore: update dependencies
- Changed the ESLint rule for "package-json-extend/ensure-package-version" from "warn" to "error" to enforce stricter package version checks.
- Updated various dependencies across multiple package.json files, including:
  - Upgraded @eslint/compat to version 1.2.9
  - Updated @types/node, @types/react, and @types/react-dom to their latest versions.
  - Bumped eslint to version 9.27.0 and lint-staged to version 16.1.0.
  - Updated several other packages such as turbo, tsx, and various Radix UI components to their latest versions.
- Ensured compatibility with the latest versions of dependencies.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 22:16:06 +08:00
Innei 04d83732a7
chore: update drizzle-orm to version 0.43.1 across multiple packages
- Updated drizzle-orm dependency from version 0.42.0 to 0.43.1 in the following packages:
  - apps/desktop/package.json
  - packages/internal/database/package.json
  - packages/internal/shared/package.json
- Adjusted related dependencies and configurations to ensure compatibility with the new version.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 22:04:29 +08:00
Innei de6c2ff72d
feat: implement OPML import functionality with feed selection modal
- Added the DiscoverImport component to handle OPML file uploads and parsing.
- Introduced OpmlSelectionModal for users to select feeds to import, including quota management and search functionality.
- Enhanced error handling and user feedback during the import process.
- Updated translations for new features and improved user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 22:00:11 +08:00
Innei 7b3ec11fd4
feat: add analysis for feed management table
- Added mode configuration to Login and Register forms for improved validation handling.
- Updated HCaptcha rendering to only display in production environments.
- Enhanced the Subscription Feeds section with analytics data fetching and display, including subscription count and updates per week.
- Introduced IntersectionObserver for better visibility tracking of feed items.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 20:05:18 +08:00
Innei c0a2d10f4d
refactor: simplify Media component rendering and enhance DiscoverFeedCard styling
- Removed the unnecessary key prop from the Media component to streamline rendering.
- Added mediaContainerClassName to the FeedCardMediaThumbnail for improved styling consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 17:39:23 +08:00
Whitewater a86ef8acdd
feat: improve pull-up-to-next by add transition animation (#3832)
* feat: add  replaceControllerView method for enhanced navigation

* refactor: simplify screen options merging in WrappedScreenItem component

* feat: improve pull-up threshold handling in usePullUpToNext hook

* feat: enhance navigation by replacing controller view with animation in EntryDetailScreen
2025-05-28 11:24:29 +08:00
Innei 8e3503f96a
feat: add tailwindcss-content-visibility for enhanced styling
- Integrated `tailwindcss-content-visibility` version 1.0.2 into the project.
- Updated `tailwind.config.ts` to include the new plugin for improved utility management.
- Modified `package.json` files to include the new dependency in both the desktop app and renderer layer.
- Enhanced the `feeds.tsx` component to support sorting functionality for better user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 00:29:52 +08:00
Innei dbd43ae5ab
feat: setting feed management table
- Updated the ModalInternal component to center the icon within the modal.
- Refactored useFeedActions to utilize new modal hooks for confirming unsubscribe actions and category creation.
- Introduced ConfirmDestroyModalContent and ShortcutModalContent components for better modal management.
- Improved the handling of batch unsubscribe actions in the SettingFeeds component.
- Updated translations for better clarity in user prompts.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 00:12:45 +08:00
Innei de00a1864e
refactor: enhance mobile settings modal and layout components
- Introduced `useTypeScriptHappyCallback` for improved tab change handling in the mobile settings modal.
- Updated the `Content` component to utilize `useLoaderData` for better data management and added a dynamic `viewportClassName`.
- Simplified the `SettingItemButtonImpl` by removing the `tab` prop and using an `isActive` flag for better clarity in active state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 23:29:11 +08:00
Innei 00342e7a7d
refactor: optimize FeedCategory and FeedItem components for better performance
- Converted `FeedCategoryAutoHideUnread` to a memoized component for improved rendering efficiency.
- Simplified context menu handling in `FeedItem` by utilizing `useEventCallback` for event handlers.
- Enhanced double-click functionality in `FeedItem` and `ListItem` to use memoized callbacks, improving performance and reducing unnecessary re-renders.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 23:21:37 +08:00
Innei e374dd6473
perf: use focusable selector hooks across components
- Replaced instances of `useGlobalFocusableScope` with `useGlobalFocusableScopeSelector` for improved focus state management.
- Updated various components including FeedColumn, Subview, EntryColumn, and FeedItem to utilize the new selector for better performance and clarity.
- Added a new `viewportClassName` property to the SettingPageConfig interface for enhanced configuration options.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 23:01:37 +08:00
Innei f31d43da08
fix: improve dropdown menu focus management and simplify rendering
- Introduced `useSetGlobalFocusableScope` hook to manage focus scope when the dropdown menu opens and closes.
- Removed the `Focusable` wrapper from the dropdown menu content to streamline rendering.
- Updated the subscription column to utilize `useGlobalFocusableScopeSelector` for better focus state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 22:54:35 +08:00
Innei 119f6b5383
refactor: streamline entry column rendering and introduce VirtualRowItem component
- Removed unused variables and simplified the useEntryActions hook.
- Refactored EntryItemImpl to use memoization for performance optimization.
- Replaced the existing rendering logic in EntryList with a new VirtualRowItem component for better structure and maintainability.
- Consolidated date item rendering into the VirtualRowItem component to enhance clarity and reduce redundancy.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 18:51:19 +08:00
Innei c20350f165
feat: enhance focus management and context menu shortcuts
- Added new focusable presets for timeline and entry render states.
- Introduced a custom hook `useContextMenuActionShortCutTrigger` to manage context menu shortcuts based on focusable states.
- Updated various components to utilize the new focusable presets and context menu shortcuts for improved user interaction.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 17:59:21 +08:00
Stephen Zhou 1f53a972b0
chore: replace drizzle-studio-expo with expo-sqlite-devtools
https://github.com/drizzle-team/drizzle-studio-expo/issues/12
2025-05-27 16:14:54 +08:00
Stephen Zhou 1bf983e7ce
chore: remove useless override and patch (#3826) 2025-05-27 15:58:06 +08:00
Stephen Zhou 3adf17f91a
fix(mobile): add subscriptionCount and purchaseAmount for list 2025-05-27 15:48:38 +08:00
Innei 2d853d9c70
chore: update TypeScript configuration and package exports
- Reformatted tsconfig.json for better readability.
- Removed unused exports files from internal components.
- Updated package.json files to reflect changes in exports structure and added new paths for schemas and services in the database package.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 15:15:32 +08:00
Stephen Zhou 5937096869
refactor: remove src export from follow/utils 2025-05-27 15:07:35 +08:00
Stephen Zhou 812efafbef
chore(mobile): remove drizzle kit 2025-05-27 14:57:32 +08:00
Stephen Zhou 5804071939
chore(mobile): remove babel plugin module resolver 2025-05-27 14:57:09 +08:00
Konv Suu b8a5414efa
feat(desktop): add i18n for shortcut settings and improve style (#3823) 2025-05-27 14:54:38 +08:00
Konv Suu 7266470118
feat: integrate cleanJsonText function for json parsing (#3824)
* feat: integrate cleanJsonText function for json parsing

* chore: update
2025-05-27 14:54:00 +08:00
lawvs 740485cfb1 fix: adjust ThumbnailImage component for better layout 2025-05-27 12:14:50 +08:00
Stephen Zhou ce7c421e0d
refactor(mobile): enable package exports (#3822) 2025-05-27 10:54:49 +08:00
Innei ef304cdf69
feat(desktop): add check for updates functionality in settings
- Integrated a new button in the About section to allow users to check for application updates.
- Updated localization files to include the new button text.
- Enhanced the app's update handling by importing the checkForAppUpdates function.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 00:51:38 +08:00
Eric Zhu 0f6ee421fd
chore(locales): update zh-CN translations (#3793)
* chore(locales): update zh-CN translations

* update
2025-05-27 00:33:13 +08:00
Innei d8866a45b2
refactor(desktop): update button styles and settings modal dimensions
- Adjusted button size and styling for improved consistency across the application.
- Modified minimum height of the settings modal for better layout adaptability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-27 00:02:28 +08:00
Stephen Zhou 7c4b8967cb
feat(mobile): mark as read for list 2025-05-26 23:08:04 +08:00
Stephen Zhou 0a2a099d7b
refactor(mobile): sperate store package (#3819) 2025-05-26 22:54:15 +08:00
Stephen Zhou d52c5382bb
fix(mobile): hydration order 2025-05-26 19:12:15 +08:00
Innei 19479f50a6
feat(desktop): integrate useSmoothScroll hook for enhanced scrolling
- Introduced a new `useSmoothScroll` hook to encapsulate smooth scrolling logic, improving code reusability.
- Updated `EntryScrollArea` to utilize the new hook, replacing the previous inline smooth scroll implementation.
- Exported the `useSmoothScroll` hook from the hooks index for broader accessibility.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-26 17:10:03 +08:00
Innei 6c73ae53a1
feat(desktop): implement smooth scrolling functionality
- Added a smooth scrolling feature to enhance user experience when navigating through content.
- Replaced the previous spring scroll implementation with a custom smooth scroll function that adapts duration based on scroll distance.
- Updated scroll event handlers to utilize the new smooth scrolling method for both upward and downward scrolling actions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-26 17:04:38 +08:00
Innei 26c6853d7d
feat(desktop): enhance resizable columns with double-click reset functionality
- Added double-click event to reset entry and feed column widths to default UI settings.
- Improved resizing logic by storing initial drag position for better handling of resize events.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-26 16:41:34 +08:00
Stephen Zhou 94bb3afef8
refactor(mobile): move service to database package (#3817) 2025-05-26 15:56:23 +08:00
Whitewater 6923d0e773
fix: add video support in entry content (#3816)
* chore: enable fullscreen video in NativeWebView

* feat: add video component support with controls in HTML parser
2025-05-26 14:58:50 +08:00