Commit Graph

3596 Commits

Author SHA1 Message Date
Innei fcde08bb98
chore(desktop): Update package scripts to use pnpm for linting and formatting
- Prefix eslint and prettier commands with pnpm
- Ensure consistent script execution across the desktop package

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 14:30:43 +08:00
Innei 9b0db3024e
chore(desktop): Move release configuration from root package.json to desktop package.json
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 14:29:58 +08:00
Whitewater 3bb7685569
feat(mobile): add deep link redirection to follow screen (#2948)
* feat(mobile): add deep link redirection to follow screen

* fix(mobile): enhance modal close behavior with conditional redirection

* chore: auto-fix linting and formatting issues
2025-03-04 14:17:41 +08:00
Innei 4588d4f7a2
feat(mobile): Conditionally render UserHeaderBanner with user ID
- Add null check for whoami.id before rendering UserHeaderBanner
- Prevent rendering header banner when user is not logged in
- Improve user profile screen rendering logic

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 14:17:08 +08:00
Innei f7a591c37f
feat(mobile): Add configurable thumbnail aspect ratio for entry items
- Implement AspectRatioImage component for flexible image display
- Add support for square and aspect-ratio thumbnail rendering
- Use thumbnailRatio setting to dynamically choose image display mode
- Preserve image quality and aspect ratio in entry list view

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 00:40:10 +08:00
Innei 844bd2ce0c
feat(mobile): Add user ID to UserHeaderBanner in Settings screen
- Import useWhoami hook to retrieve current user information
- Conditionally render UserHeaderBanner with user ID when user is logged in
- Improve user profile display in settings screen

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 00:21:21 +08:00
Innei 42c1f9f191
feat(mobile): Enhance user profile and database schema
- Add support for dynamic user profile rendering
- Modify user schema to make email field optional
- Update database migrations with new migration script
- Refactor profile-related hooks and components to support flexible user viewing
- Extract EntryReadHistory component from EntryTitle

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-04 00:09:23 +08:00
Innei 8d5028a1a1
feat(mobile): Add preview functionality to feed context menu
- Implement preview for article view in feed context menu
- Use FlashList to render entry previews efficiently
- Add conditional rendering for preview based on feed view type
- Remove commented-out menu items for future cleanup

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 23:50:24 +08:00
Innei ad4a83bc82
fix(mobile): Correct feed view type handling in FollowFeed
- Remove unnecessary string conversion for feed view type
- Simplify view type parsing in subscription form submission
- Ensure direct enum value usage for feed view selection

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 23:39:14 +08:00
Innei 218b22b9c3
refactor(mobile): Improve UI components and form handling
- resolves FOL-1680
- Replace TouchableOpacity with Pressable in view selector
- Remove background color from SafeModalScrollView
- Adjust content container margins in modal scroll views
- Update form schema to coerce view to number
- Add loading state management in RSSHub form submission
- Enhance user interaction and form validation

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 22:39:28 +08:00
Innei 486e627a05
feat(mobile): Implement new modal header and scroll view components
- Create ModalHeader component for consistent modal UI
- Add ModalScrollViewContext for scroll-related state management
- Refactor SafeModalScrollView to use new context and header
- Implement dynamic header height calculation utility
- Update various modal screens to use new components
- Simplify header and scroll view interactions

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 22:33:26 +08:00
Stephen Zhou 9fffc982b1
build: use correct tailwind config to lint (#2947) 2025-03-03 21:26:07 +08:00
Innei 8d8dafa37d
refactor(mobile): Optimize header and form layouts
- Simplify NavigationHeader component by removing complex title centering logic
- Remove fixed width constraints in TimelineSelectorProvider header actions
- Add KeyboardAvoidingView to RSSHub form text inputs
- Conditionally render form sections based on available keys

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 21:04:18 +08:00
Innei 4de3ff98da
chore: downgard PNPM to version 9.12.3
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:23:27 +08:00
Innei 4ed39b897f
chore: remove @tanstack/react-virtual patch
- Delete the custom patch for @tanstack/react-virtual
- Remove patch reference from package.json and pnpm-lock.yaml
- Clean up unnecessary patching configuration

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:18:45 +08:00
Innei f423c061f8
build: update Electron platform-specific import plugin configuration
- Modify platform-specific import plugin to use 'electron' instead of fallback to 'web'
- Remove unnecessary React Native (RN) specific file cleanup plugin
- Simplify Vite configuration for desktop build

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:14:38 +08:00
Innei 534a21bb87
docs: update CONTRIBUTING.md with comprehensive development guides
resolves FOL-1686

- Add detailed instructions for developing in web, Electron, SSR, and mobile apps
- Include specific steps for each development environment
- Add guidance for native iOS module development
- Improve overall clarity and usability of contribution documentation

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:11:08 +08:00
Innei 3e84f73aec
chore: extract ssr as single app
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:01:18 +08:00
Innei cead6dffd0
refactor(mobile): Simplify WebView delegate and improve state management
- Convert WebViewDelegate to an extension of FOWebView
- Remove separate delegate class
- Use direct access to state and view controller
- Simplify navigation and script message handling

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 19:04:21 +08:00
Stephen Zhou 1e748be49e
build: fix tailwind config location (#2946) 2025-03-03 10:52:33 +00:00
Innei 11b4027dfd
refactor(mobile): Improve WebView architecture and state management
Refactored the WebView implementation in the mobile app to:
- Separate concerns in WebView delegate and configuration
- Simplify WebView initialization and state management
- Improve JavaScript injection and custom URL scheme handling
- Add content height change event support

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 17:50:14 +08:00
Innei 162f372d60
feat(mobile): enhance UI tint color configuration
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 16:50:16 +08:00
Konv Suu ea35993754
feat(i18n): add image gallery localization support (#2937) 2025-03-03 15:36:09 +08:00
DIYgod a488ccbf79
chore: move script apply-changelog 2025-03-02 21:52:20 +08:00
DIYgod 2f17ec1a8e
feat: clear root devDependencies (#2934)
* feat: clear root devDependencies

* fix

* fix
2025-03-02 21:22:23 +08:00
Stephen Zhou 414fee8c46
build: fix import path (#2932) 2025-03-02 18:01:11 +08:00
Stephen Zhou d4ad565a80
fix(mobile): active view switch, use is fetching for disable state (#2931) 2025-03-02 17:24:11 +08:00
DIYgod 8b07a9a573
chore: desktop dir (#2924)
* chore: desktop dir

* chore: desktop src and configs

* chore: auto-fix linting and formatting issues

* fix: path

* fix: path

* fix: path

* fix: path

* fix

* fix

* fix

* test

* test

* test

* test

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: DIYgod <8266075+DIYgod@users.noreply.github.com>
2025-03-02 17:19:22 +08:00
DIYgod 8f422af1c1
feat: unifed image proxy and referer handler 2025-03-01 19:43:19 +08:00
DIYgod abd7f87a7b
feat: mobile and desktop resolver (#2923) 2025-03-01 18:32:28 +08:00
DIYgod aede1722b5
fix: allowExts 2025-03-01 17:43:04 +08:00
DIYgod e4e70acef2
feat: add desktop specific resolver 2025-03-01 17:38:43 +08:00
DIYgod fd81327913
feat: unified env 2025-03-01 15:00:36 +08:00
DIYgod d9e15de48e
feat: add mobile specific resolver functionality 2025-03-01 14:40:41 +08:00
Innei 0427362226
refactor(mobile): enhance tab bar icon and label animations
Improve tab bar interactions by:
- Simplifying text label color transitions
- Adding smooth opacity, scale, and rotation animations for tab icons
- Introducing gentleSpringPreset for more consistent press interactions

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-01 10:26:06 +08:00
Stephen Zhou c416fc8f9b
fix(mobile): active views in pager, first loading no mark read (#2920)
* fix(mobile): only show active views in pager

* fix: disable mark as read when first loading
2025-03-01 09:28:12 +08:00
Stephen Zhou 872835a31c
refactor(mobile): auto mark as read logic (#2919)
* refactor(mobile): auto mark as read logic

* update
2025-03-01 09:05:44 +08:00
Stephen Zhou 7fbd2d7208
fix(mobile): player tab animation (#2918) 2025-02-28 23:34:03 +00:00
Innei 84b44b3062
fix(mobile): improve item separator background color
Update ItemSeparator components in entry-list and subscription modules to use a secondary system grouped background, ensuring consistent visual styling across different list views.

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-01 01:10:50 +08:00
Innei 7de1132f6c
refactor(mobile): replace custom web view with SFSafariViewController
This change updates the web view presentation logic to use SFSafariViewController instead of custom modal web view controllers. The modification simplifies the web view handling and provides a more standard iOS browsing experience with built-in Safari features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-01 01:02:07 +08:00
Stephen Zhou cd576fff82
fix(mobile): no marking read when no scrolling (#2913) 2025-02-28 09:16:13 +00:00
Whitewater 34540a1651
refactor(mobile): improve scroll-to-top handling (#2910)
* refactor(mobile): enhance navigation scroll view handling and type safety

* fix(mobile): update contentScrollerRef in discover screen

* fix(mobile): integrate navigation listener for scroll view reference attachment

* fix: types
2025-02-28 17:09:13 +08:00
Stephen Zhou 30aef70849
fix(mobile): onViewableItemsChanged is not reactive (#2911) 2025-02-28 16:44:05 +08:00
Stephen Zhou ab27ab83b1
fix(mobile): can not mark view as read (#2909) 2025-02-28 07:52:45 +00:00
Stephen Zhou 11b5f7ad72
fix(mobile): crash when parsing invalid url (#2908) 2025-02-28 07:35:12 +00:00
Innei 7d23f2fda5
refactor(mobile): simplify SafeModalScrollView and RSSHub form handling
- Replace KeyboardAwareScrollView with standard ScrollView
- Update form error handling to use JSON parsing
- Modify ScreenOptions and ModalHeaderSubmitButtonImpl to pass form errors
- Improve type safety and component props

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-28 13:38:04 +08:00
Innei 8e33327a31
refactor(mobile): remove commented-out user group navigation links
- Remove UserGroupNavigationLinks array
- Modify NavigationLinkGroup to skip rendering todo links
- Simplify settings navigation rendering

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-28 12:26:23 +08:00
Innei 4b84f106f8
refactor(mobile): update subscription category hook and usage
- Rename `useListSubscriptionCategory` to `useSubscriptionCategory`
- Modify hook to return an empty array when view is undefined
- Update import and usage in feeds context menu component

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-28 12:24:50 +08:00
Konv Suu f0ef7d0e04
fix(mobile): title text style in social media (#2907) 2025-02-28 12:16:31 +08:00
Innei b09a86d905
fix(mobile): simplify header back button interactions
- Remove redundant TouchableOpacity wrapping for DefaultHeaderBackButton
- Directly render DefaultHeaderBackButton in multiple components
- Improve header navigation component simplicity

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-28 12:08:17 +08:00