- Prefix eslint and prettier commands with pnpm
- Ensure consistent script execution across the desktop package
Signed-off-by: Innei <tukon479@gmail.com>
* 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
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
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>
- 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>
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>
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>
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>
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>
- 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>
- 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>