Commit Graph

66 Commits

Author SHA1 Message Date
Whitewater 244aca2ad6
feat: implement audio seeking functionality (#4295)
* refactor: move timeStringToSeconds to utility function

* feat: add seekAudio functionality to bridge and implement timestamp handling in MarkdownLink

* feat: implement audio seeking functionality in EntryContentWebView

* feat: implement audio seeking functionality for iOS

* chore: clean code

* fix: audio seeking functionality for iOS
2025-08-01 23:43:30 +08:00
lawvs ad7c5ddb9b fix: update setCurrentPage to determine navigation direction based on index 2025-07-24 04:04:13 +08:00
Whitewater 48004b1a7a
chore: remove deprecated Galeria modules and components (#4182) 2025-07-17 13:57:18 +08:00
Whitewater 7afbc5958b
refactor: image preview handling on iOS (#3995)
* refactor: use lightbox to preview image on iOS

* refactor: replace atom-based image preview event handling with EventBus

* refactor: replace NotificationCenter with Combine

* chore: clean code
2025-06-24 16:53:27 +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
Innei d8f76c5f6a
refactor(glow-effect): remove GlowEffect view and integrate animation handling
- Deleted the GlowEffect view implementation to streamline the module.
- Introduced IntelligenceAnimationController to manage animation presentation in a separate window.
- Updated AppleIntelligenceGlowEffectModule to utilize new showIntelligenceEffect and hideIntelligenceEffect functions for better encapsulation of animation logic.
- Added IntelligenceAnimationView for the new animation display.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-11 20:55:08 +08:00
Innei efc2e9713b
refactor: upgrade react 19 and react native 0.79 (#3661)
* update

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

* chore: update Babel and Metro configurations

- Added `unstable_transformImportMeta` option to Babel preset for improved JSX handling.
- Disabled `unstable_enablePackageExports` in Metro configuration for better package resolution.

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

* chore: add react-native-ios-utilities patch and update dependencies

- Introduced a patch for `react-native-ios-utilities` to enhance functionality.
- Updated `expo`, `react-native`, and `react-native-reanimated` versions in the example app for improved compatibility.
- Added `react-native-ios-utilities` to the project dependencies in `package.json`.

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

* update

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

* chore: auto-fix linting and formatting issues

* refactor: improve route parameter handling and entry fetching logic

- Updated `useRouteParams` to utilize `useReadonlyRoute` for better state management.
- Enhanced `useEntriesByView` to separate remote and local entry fetching, improving data handling and error management.
- Introduced debouncing for pagination in local entries and added toast notifications for error handling.
- Cleaned up entry ID retrieval to ensure uniqueness and prevent duplicates.

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

* refactor: simplify Masonry component return statement

- Updated the return statement in the Masonry component to use JSX syntax for better readability and consistency.

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

* refactor: update import from RootPortalProvider to RootPortalContext

- Changed the import statement in Sheet.tsx to reflect the updated context provider name for better clarity and consistency in the codebase.

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

* update

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

* refactor: update ref types in component props

- Changed ref prop types from React.RefObject to React.Ref for better type compatibility across various components, enhancing overall code consistency and maintainability.

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

* feat: add Xcode build server configuration and enhance desktop app routing

- Introduced a new configuration file for the Xcode build server to streamline iOS builds.
- Updated Vite configuration to include a new proxy route for sharing functionality.
- Added a new Jotai atom for managing preview state in the application.
- Removed deprecated error fallback component to clean up the codebase.
- Implemented a new render style hook for consistent styling across components.
- Enhanced entry column components with improved error handling and layout adjustments.
- Updated various components to utilize the new render style and improved accessibility.

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

* update

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

* fix: ensure plugins array is initialized and update TypeScript configuration

- Initialized the plugins array in the mobile app configuration to prevent potential runtime errors.
- Updated TypeScript configuration to enhance module resolution and improve code organization with clearer path definitions.

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

* update lint

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

* refactor: update TypeScript types and improve component props

- Added `skipLibCheck` to TypeScript configuration for faster builds.
- Updated prop types in various components to allow for null values in refs, enhancing type safety.
- Refactored several components to ensure better type compatibility and maintainability.

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

* refactor(mobile): improve layout handling in NavigationHeader component

- Added console logs for debugging right and left widths.
- Adjusted layout structure to ensure proper width handling for header elements.
- Updated loading indicator positioning and visibility logic.

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

* refactor(mobile): update Pager and QRCode components to use forwardRef

- Refactored Pager and QRCode components to directly export as functional components with forwardRef.
- Updated type definitions to improve ref handling and ensure better type safety.
- Simplified component structure for improved readability and maintainability.

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

* refactor(ui): enhance FAB components with functional component structure and improved type definitions

- Converted FABBase and FABPortable to functional components using FC type for better type safety.
- Updated props to include optional ref handling, enhancing flexibility in usage.
- Simplified component structure for improved readability and maintainability.

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

* chore(deps): update react-native-ios-utilities patch and refine TypeScript configuration

- Updated the patch for react-native-ios-utilities in pnpm-lock.yaml to reflect a new hash.
- Enhanced TypeScript configuration in tsconfig.json by adding exclusion for node_modules and formatting paths for better readability.
- Cleaned up the react-native-ios-utilities.patch by removing unused exports from the index file.

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

* update

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-07 16:30:30 +08:00
Innei e9653d4a5b
refactor(pager): clean up code formatting and remove unused touch handlers
- Reformatted code for improved readability by adjusting indentation and spacing.
- Removed unused RCTTouchHandler instances from EnhancePagerView and TabBarRootView classes to streamline the codebase.
- Ensured consistent handling of page views in EnhancePagerController.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-27 14:47:49 +08:00
Innei 91b9fae6c5
refactor(desktop): update text styles and enhance tooltip functionality
- Replaced hardcoded text sizes with standardized 'text-body' class for consistency across various components.
- Wrapped TooltipContent in RootPortal for better rendering in EnhancedSettingsIndicator and SettingSyncIndicator components.
- Improved accessibility and visual consistency in EntryHeaderImpl and EntryContent components by updating text styles.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-27 14:26:40 +08:00
Innei 017d9864cd
fix(mobile): improve layout and styling consistency across components
- Adjusted padding in EntryTitle and EntryDetailScreen for uniformity.
- Updated HTML component to enhance structure and readability.
- Modified CSS classes in HTML and image components for better alignment.
- Cleaned up link component styles to remove unnecessary classes.

These changes enhance the overall user interface and maintain a consistent design throughout the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-22 12:57:03 +08:00
Innei 8096bf5c1e
feat(mobile): integrate expo-device for device type management
- Added expo-device package to manage device types.
- Implemented device type initialization in the app startup process.
- Created hooks and atoms for accessing device type throughout the app.
- Updated navigation logic to handle iPad-specific presentation styles.
- Removed unused loading indicator component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-22 00:16:44 +08:00
Innei 769df4cde2
fix(mobile): hide native floating tabbar in ipad
- Updated the initialization of the UITabBarController to use a lazy property for better performance.
- Added conditional logic to manage tab bar visibility based on iOS version and device type.
- Removed redundant tab bar visibility setting from the initializer.
- Cleaned up code by removing unnecessary whitespace and improving readability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-21 23:28:30 +08:00
Innei 8602973016
feat(mobile): enhance EnhancePagerView with initialPageIndex prop
- Refactored EnhancePagerView to include an initialPageIndex property for better control over the starting page.
- Updated related components and specifications to support the new prop.
- Fixed a typo in the initialize method name for consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-17 00:48:01 +08:00
Innei 70ef539788
feat(mobile): refactor ItemPressable usage and styles
- Replaced TouchableOpacity with ItemPressable in multiple components for improved interaction handling.
- Introduced a new UnStyled option in ItemPressableStyle to allow for customizable styling.
- Updated ItemPressable implementation in RelativeDateTime, EntryNormalItem, and CategoryGrouped components to enhance touch feedback and visual consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-17 00:39:00 +08:00
Innei dbf6954da0
feat(mobile): trending screen
- Updated imports for EntryDetailScreen and FeedScreen to reflect new file structure.
- Introduced OnboardingScreen and PlayerScreen components to improve user onboarding and media playback experience.
- Added PhUsersBold icon component for enhanced UI consistency.
- Adjusted animation timing in ItemPressableModule for better touch feedback.
- Updated sitemap to reflect new screen paths.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-16 21:58:21 +08:00
Innei 102f66e264
fix(ios): fix tap gesture conflict handling and animation in ItemPressableModule
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-16 19:43:03 +08:00
Innei 57dad99913
refactor(ios): use ItemPressable native view to handle gesture
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-15 19:23:16 +08:00
Innei 16de0b54da
fix(mobile): update toast icons to use filled variants for better visibility
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-09 21:12:21 +08:00
Innei 83e7764cf0
feat(mobile): replace SPIndicator with ToastViewSwift for notifications
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-09 20:31:50 +08:00
Innei 4fc8ec3f42
feat: scrollview scroll to end detection
- Refactored HelperModule to include new async functions for scrolling and image handling.
- Removed ProfileViewModule and associated UI components to streamline the codebase.
- Updated expo-module.config.json to reflect the removal of ProfileViewModule.
- Improved SafeNavigationScrollView and TimelineSelectorList to utilize new scroll handling features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-07 19:31:56 +08:00
Innei 93393f19fc
feat(pager): enhance pager functionality with gesture support and UI updates
- Updated `Pager.tsx` to use `Pressable` for better interaction handling.
- Modified `EnhancePagerController.swift` to manage content views more effectively.
- Enhanced `EnhancePagerViewModule.swift` to support gesture recognition for smoother transitions.
- Refactored `usePagerView.ts` to utilize animated values for page transitions.

These changes improve user experience and interaction within the pager component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-01 18:05:47 +08:00
Innei 9c7901356f
refactor(pager): simplify Pager component and enhance iOS functionality
- Replaced the custom native view with a more streamlined PagerView component.
- Updated the Pager component to utilize hooks for page rendering and state management.
- Introduced new methods in EnhancePagerController for better state handling and page transitions.
- Fixed method naming inconsistencies in EnhancePagerViewModule.
- Removed unused ScaleFadeRotate animation component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-31 18:25:52 +08:00
Innei b2cafedae8
feat(ios): native enhance page view
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-31 17:05:52 +08:00
Innei a6d264de85
refactor: follow native example and int native pager view
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-31 00:49:58 +08:00
Innei 936dfa9082
fix: setting sync queue
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-29 22:00:05 +08:00
Innei 62e83822bd
chore(mobile): update iOS deployment target and podspec platform versions
- 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>
2025-03-26 21:15:05 +08:00
Innei 1cd67cdac5
feat(mobile): enhance image sharing functionality with URL support
- 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>
2025-03-26 18:29:01 +08:00
Innei 7ce1242f30
fix: image context menu actions via native code, fixed #3262
- 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>
2025-03-26 16:50:21 +08:00
Innei 626e54dd84
fix(mobile): image preview can dismiss if image load error
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-25 14:48:51 +08:00
Innei 6c325d7cb8
feat: optimize user profile modal style
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-24 21:05:51 +08:00
Innei 149ca034f6
fix(mobile): profile modal header style
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-24 15:44:07 +08:00
Innei f21b9e7bf0
refactor: replace @react-navigation and expo-router (#3151)
* 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>
2025-03-19 22:35:49 +08:00
Innei d9ea5754cb
feat(mobile): enhance dialog functionality and add ConfirmPasswordDialog
- 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>
2025-03-13 00:07:45 +08:00
Innei 6438667f25
feat(mobile): enhance HelperModule and WebViewManager for improved link handling
- 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>
2025-03-12 23:03:56 +08:00
Innei 6baf0745f0
feat(mobile): improve image carousel and avatar interactions
- 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>
2025-03-12 20:20:51 +08:00
Innei a2b13a2f09
refactor(mobile): extract image viewer actions to protocol
- Create ImageCarouselViewControllerProtocol to define image interaction methods
- Move save, copy, and share image methods from ImageViewerController to protocol implementation
- Remove setupOptionsButton method from ImageViewerController
- Add options menu directly in ImageCarouselViewController
- Enable page control user interaction
- Simplify image action handling across image viewer components

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-12 19:40:25 +08:00
Innei 9cf801634c
feat(mobile): enhance image viewer with page indicator and options menu
- 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>
2025-03-12 19:19:56 +08:00
Innei 06b5ead7ad
feat(mobile): add context menu for image viewer interactions
- Implement UIContextMenuInteraction for image viewer
- Add actions to save, copy, and share images
- Remove long press gesture recognizer
- Provide native iOS sharing and image management options

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-12 14:47:21 +08:00
Innei b67685b6c1
feat(mobile): enhance image preview and URL scheme handling in iOS
- 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>
2025-03-12 00:05:14 +08:00
Innei 085bb89b36
feat(mobile): add native iOS modules for shared functionality
- Implement native iOS modules for WebView, Toaster, Galeria, and Helper
- Add SPIndicator package for native toast notifications
- Create ImageViewer package for enhanced image preview
- Introduce utility extensions and helper methods for iOS development
- Remove SPIndicator dependency from podspec
- Update toast implementation to use native module

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 22:18:35 +08:00
Innei d4edfc4945
fix(mobile): image preview can not user interaction when loading or error
- Add sourceView parameter to ImageViewerController for smoother image transitions
- Implement activity indicator during image loading
- Improve initial image display with placeholder and source view image
- Refactor image loading logic to support better visual feedback

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 21:20:36 +08:00
Innei 6539b1b984
fix(mobile): image load should be https
- Update SDWebImageLoader to convert URLs to HTTPS
- Add error logging for image loading failures
- Simplify iOS 11+ content inset adjustment in ImageViewerController
- Change default image loader from URLSessionImageLoader to SDWebImageLoader

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 19:59:42 +08:00
Innei bb420bdbd9
refactor(mobile): improve Galeria view and accessory module memory management
- Remove complex deinit and notification observers in GaleriaAccessoryModule
- Add weak self references in GaleriaView callback methods to prevent retain cycles

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 11:49:07 +08:00
Innei b6e97fb74d
refactor(mobile): remove unused attachView function in GaleriaModule
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-11 11:14:35 +08:00
Innei 6e6b7e3936
feat(ios): Use the native image preview component (#3017)
* init

* done

* feat(mobile): integrate Galeria component for image preview and carousel

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

* revert

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

* chore: auto-fix linting and formatting issues

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-10 22:41:20 +08:00
Stephen Zhou ea53d1b9b5
fix(mobile): toast when toggling unread, fix entry context crash (#2997) 2025-03-07 12:16:49 +00:00
Innei a54a1b89dd
fix(mobile): `setURLSchemeHandler` not working
- 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>
2025-03-05 22:31:12 +08:00
Innei c4174f909e
fix(mobile): adjust login UI and toast haptic feedback
- Update haptic feedback for different toast types in iOS
- Modify NoLoginInfo component spacing
- Restructure EmailLogin screen layout and styling

Signed-off-by: Innei <tukon479@gmail.com>
2025-03-05 21:44:22 +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
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