- Removed the deployment target for iOS in app.config.ts.
- Updated the iOS and tvOS platform versions in FollowNative.podspec from '17.0' to '15.1'.
- Cleaned up unused spacing in ProfileView.swift.
These changes ensure compatibility with older iOS versions while maintaining code clarity.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated UIImage extension to include URL handling in the activity item source.
- Modified HelperModule to accept an optional URL parameter when sharing images.
- Adjusted ImageContextMenu to pass the image URL during sharing actions.
This improves the image sharing experience by allowing users to share images along with their associated URLs.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new UIImage extension to create a UIActivityItemSource, allowing images to be shared with titles and URLs.
- Enhanced HelperModule with new functions to save, share, copy images, and retrieve base64 from UIImageView.
- Updated MediaCarousel to use preview_image_url for video context menus.
- Refactored Image and ImageContextMenu components for improved image handling and context menu actions.
Signed-off-by: Innei <tukon479@gmail.com>
* init
* init
* refactor(mobile): enhance tab navigation and structure
- Added `TabScreenModule` and `TabScreenView` to support dynamic tab management.
- Replaced `FOTabBarController` with a more streamlined `UITabBarController` implementation.
- Updated `TabBarModule` to utilize new tab switching logic and event handling.
- Modified `TabBarRootView` to manage tab views more effectively and handle tab index changes.
- Adjusted main application file to integrate new tab components and improve navigation flow.
These changes aim to improve the tab navigation experience and maintainability of the codebase.
* tabbar
* refactor(mobile): streamline navigation and tab management
- Refactored main application structure to enhance tab navigation, integrating `BottomTabs` and `TabRoot` components for improved tab management.
- Updated `NavigationHeader` and `SafeNavigationScrollView` to better handle header visibility and scrolling behavior.
- Introduced `ScreenItemContext` for managing screen state and scroll position across navigation.
- Cleaned up unused imports and optimized component structure for better maintainability.
These changes aim to improve the overall navigation experience and code organization within the mobile application.
* update
* feat(mobile): implement BottomTabProvider for enhanced tab management
- Introduced `BottomTabProvider` component to manage tab visibility and scroll view context.
- Refactored `BottomTabs` to utilize context for background opacity and tab visibility, simplifying the component structure.
- Removed the deprecated `TabClient` component to streamline the tab implementation.
- Added a null check in `Tabbar` to prevent rendering when there are no tab screens.
These changes aim to improve the organization and functionality of the tab navigation system within the mobile application.
Signed-off-by: Innei <tukon479@gmail.com>
* update
* update
* update
* update
* update
* feat(mobile): integrate ErrorBoundary and enhance navigation context
- Added `ErrorBoundary` component to handle errors gracefully within the application.
- Integrated `BottomTabProvider` to manage tab visibility and scroll view context more effectively.
- Refactored navigation components to utilize new context for improved state management.
- Updated `SafeNavigationScrollView` and `Settings` components to streamline scrolling behavior and context usage.
- Removed deprecated code and optimized component structure for better maintainability.
These changes enhance the user experience by providing error handling and improving navigation management.
* feat(mobile): enhance navigation and layout components
- Registered new screens (`TermsScreen`, `LoginScreen`, `SignUpScreen`, `ForgetPasswordScreen`, `TwoFactorAuthScreen`) with the `NavigationSitemapRegistry` for improved navigation management.
- Adjusted layout properties in `HeaderElements` and `NavigationHeader` for better alignment and responsiveness.
- Refactored `Tabbar` to remove unnecessary animated reactions, optimizing performance.
- Exported `ActionGroup` component for better reusability in `TimelineSelectorProvider`.
- Updated `DebugScreen` to utilize the new navigation methods for component presentation.
These changes improve the overall navigation experience and component structure within the mobile application.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(mobile): implement new architecture support and refactor TabBar components
- Added support for the new architecture in the iOS podspec by conditionally defining `OTHER_SWIFT_FLAGS`.
- Refactored `TabBarPortalModule`, `TabBarRootView`, and `TabScreenView` to improve structure and maintainability.
- Replaced native view components with standard React Native views in `TabBarPortal`, `TabRoot`, and `TabScreen` for better compatibility and performance.
- Updated import paths for `TabScreenProps` to ensure correct type usage.
These changes enhance the navigation experience and prepare the codebase for future architecture improvements.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(mobile): refactor navigation and onboarding components
- Removed outdated navigation dependencies from `package.json` to streamline the project.
- Enhanced `TabBarRootView` to improve tab switching animations and manage view transitions more effectively.
- Updated `App` component structure for better readability and integration of onboarding logic.
- Introduced `OnboardingScreen` with improved layout and navigation handling.
- Refactored navigation context types to include additional screen options for better flexibility.
These changes enhance the navigation experience and prepare the application for future onboarding features.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(mobile): enhance intent handling with navigation integration
- Added navigation support in `useIntentHandler` to handle incoming URLs more effectively.
- Integrated `FollowScreen` for presenting user-specific content based on URL parameters.
- Updated effect dependencies to include navigation for improved functionality.
These changes improve the handling of deep links and enhance the user experience when navigating to the follow screen.
Signed-off-by: Innei <tukon479@gmail.com>
* chore: clean up pnpm-lock.yaml by removing unused navigation dependencies
- Removed outdated navigation packages including `@react-navigation/bottom-tabs`, `@react-navigation/drawer`, and `@react-navigation/native` to streamline the lock file.
- Cleaned up unnecessary entries and peer dependencies to improve maintainability and reduce clutter.
These changes help in optimizing the dependency management for the project.
Signed-off-by: Innei <tukon479@gmail.com>
* lint
Signed-off-by: Innei <tukon479@gmail.com>
* chore: auto-fix linting and formatting issues
* fix
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update PickerIos component and remove FeedDrawer
- Added import for Portal in PickerIos component.
- Removed the FeedDrawer component entirely, cleaning up unused code.
- Replaced router.dismiss() with navigation.dismiss() in list screen options for better navigation handling.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
- Introduce ShowDialogOptions interface for customizable dialog actions
- Update Dialog component to support onClose and onConfirm overrides
- Add ConfirmPasswordDialog for password confirmation with custom actions
- Integrate ConfirmPasswordDialog into Account settings for 2FA setup
- Add new Key2CuteReIcon component for password confirmation UI
- Update package.json and other files for new icon and dialog features
Signed-off-by: Innei <tukon479@gmail.com>
- Update openLink function to support promises and handle dismiss events
- Refactor WebViewManager to accept an onDismiss callback for modal presentation
- Introduce SafariViewController to manage dismissal actions
- Modify native module interface to reflect changes in openLink
- Add new Setting2FA screen and update navigation routes accordingly
Signed-off-by: Innei <tukon479@gmail.com>
- Disable page control user interaction for single image
- Simplify navigation bar and background view initialization
- Add Galeria wrapper to UserAvatar for image preview
- Update UINavigationBar extension to use safe area layout guide
Signed-off-by: Innei <tukon479@gmail.com>
- Add UIPageControl to ImageCarouselViewController for image navigation
- Implement options menu with save, copy, and share actions
- Remove deprecated context menu and navigation item configurations
- Add UIImage extension for alpha manipulation
- Update GaleriaView to simplify navigation item handling
Signed-off-by: Innei <tukon479@gmail.com>
- Implement FollowImageURLSchemeHandler for custom image loading and caching
- Update ImagePreview to support loading images from URLs
- Modify WebView configuration to use new image URL scheme handler
- Remove deprecated image preview methods
- Update bridge data structure for image preview
- Refactor image preview logic across multiple modules
Signed-off-by: Innei <tukon479@gmail.com>
- Extract WebView configuration into a separate class
- Improve JavaScript injection mechanism
- Move injected script loading to a static method
- Enhance URL scheme handling and script management
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>
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>
- Create RNSViewController as a base view controller
- Update WebViewController to inherit from RNSViewController
- Add UIWindow extension to find RNS navigation controller
- Modify HelperModule to use new navigation and web view utilities
- Refactor WebViewManager to use WebViewController for modal views
Signed-off-by: Innei <tukon479@gmail.com>
- Add ModalWebViewController and WebViewController for improved web browsing
- Implement WebViewManager method to push modal web views
- Create UINavigationHeaderActionButton for consistent header button styling
- Update header components to use new action button and back button components
- Refactor navigation header and scroll view interactions
Signed-off-by: Innei <tukon479@gmail.com>
- Implement `scrollToTop` function in HelperModule for iOS
- Add native module method to scroll scroll views to top
- Update hooks and components to use new native scroll to top method
- Enhance cross-platform scroll behavior for mobile app
- Refactored EntryListContentGrid to use direct entry IDs instead of complex masonry item mapping
- Introduced EntryListContext to provide view type context
- Updated EntryGridItem to handle multiple media types and scrolling
- Simplified ViewPagerList to render a single view instead of multiple pages
- Removed unused pager view logic and simplified entry list rendering
Signed-off-by: Innei <tukon479@gmail.com>
- Remove Media.xcassets and Accent color set
- Update Utils.swift to hardcode accent color
- Enhance AISummary component with error handling and retry functionality
- Adjust layout and styling for AI summary
- Update image size calculation to handle undefined dimensions
Signed-off-by: Innei <tukon479@gmail.com>
- Add CORS headers to CustomURLSchemeHandler for cross-origin requests
- Implement custom URL scheme protocol for image loading in MarkdownImage
- Replace HTTP/HTTPS URLs with a custom protocol to enable cross-origin image rendering
Signed-off-by: Innei <tukon479@gmail.com>
- Upgrade react-native-uikit-colors to v0.2.0
- Enhance CustomURLSchemeHandler with improved task management
- Update RecommendationListItem and EntryListItem with context menu improvements
- Refactor entry list item styling using system colors and context menu preview
- Add context menu preview to login and entry list modules
Signed-off-by: Innei <tukon479@gmail.com>
- Add blurhash and image scaling to MarkdownImage component
- Implement useCalculateNaturalSize hook for responsive image sizing
- Create atoms and types for entry model and media
- Update HTML renderer to support dynamic image rendering with Jotai state management
- Improve iOS image preview with save functionality and dynamic root view controller retrieval
Signed-off-by: Innei <tukon479@gmail.com>
- Add SDWebImage dependency to FollowNative.podspec
- Refactor ImagePreview and PreviewControllerController for robust image preview
- Implement dynamic file extension handling for image preview
- Update WebView bridge to support more flexible image preview payload
- Improve MarkdownImage component to use Uint8Array for image conversion
Signed-off-by: Innei <tukon479@gmail.com>
- Add ImagePreview helper class for displaying images using QuickLook
- Extend HelperModule with previewImage function to load and display images
- Update WebView bridge to support image preview from web content
- Implement MarkdownImage component with base64 image conversion
- Add cross-platform quickLookImage method for native image preview
Signed-off-by: Innei <tukon479@gmail.com>