Commit Graph

3576 Commits

Author SHA1 Message Date
Whitewater 83f1035a21
fix: type error (#4484) 2025-09-15 18:26:12 +00:00
Innei 6eb2c5e64f
feat: enhance media preview functionality with drag context
- Introduced a new context for managing drag state in the media preview component, allowing for improved user interaction during image dragging.
- Updated the image viewer to handle click events more effectively, considering drag state and timing to prevent unintended dismissals.
- Refactored the modal component to ensure the title is correctly rendered, enhancing accessibility.

These changes improve the overall user experience when interacting with media previews, making the interface more intuitive and responsive.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-15 19:54:44 +08:00
Innei 9af06c5b26
feat: implement entry context menu functionality
- Added a new hook, useEntryContextMenu, to manage context menu actions for entry items, including copy functionality.
- Integrated the context menu into EntrySubscriptionItem and EntryItemWrapper components, enhancing user interaction with entry items.
- Streamlined context menu handling by consolidating related logic into the new hook, improving code maintainability.

These changes provide a more intuitive context menu experience for users interacting with entries.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-15 17:49:47 +08:00
Innei 16884b070a
chore: update bump configuration for PR creation
- Changed the base branch for the GitHub PR creation command from 'main' to 'mobile-main' to align with the new branching strategy.
- Removed the changelog generation script from package.json to streamline the build process.

These updates ensure proper versioning and integration with the new mobile branch structure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-15 17:34:53 +08:00
Innei b9644c9310
refactor: implement comprehensive app layout architecture
- Introduced a new layout architecture for the Follow application, leveraging React Router v7's nested routing capabilities.
- Added multiple layout components including MainDestopLayout, TimelineEntryTwoColumnLayout, AIEnhancedTimelineLayout, and SubviewLayout to support various application modes.
- Enhanced the AI chat functionality with a dedicated AIChatLayout, allowing for dynamic panel styles based on user preferences.
- Implemented responsive design features and error handling mechanisms across layouts to improve user experience.
- Refactored existing components to utilize the new layout structure, ensuring a cohesive and maintainable codebase.

These changes establish a robust foundation for the application's UI, enhancing flexibility and user interaction.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-15 17:17:21 +08:00
Innei 9e049637f6
chore: adjust AI chat sidebar and error handling styles
- Added keyboard shortcut support for toggling AI chat in AISmartSidebar.
- Improved styling and transition effects in CollapsibleError for better user experience.
- Updated EntryReadHistory to conditionally render based on user visibility.
- Refactored SourceContentView to simplify rendering logic and improve performance.
- Enhanced Kbd component to support abbreviations for better accessibility.

These changes aim to improve the functionality and usability of the AI chat features and related components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-15 16:33:39 +08:00
Innei 655776d1a6
Merge pull request #4479 from RSSNext/sync/main-to-dev-20250915
Sync main branch to dev branch
2025-09-15 15:41:17 +08:00
DIYgod f3076d780c
feat: replace MediaGallery with inline media rendering in SocialMediaLayout 2025-09-15 15:28:46 +08:00
Stephen Zhou 94fde23e4b
feat: back to feed first 2025-09-15 11:52:11 +08:00
Stephen Zhou de88624ece
fix: remove duplicated feed id, improve performance 2025-09-15 11:24:04 +08:00
Innei 7119b91975
feat: integrate EntriesContext for improved subscription management
- Added EntriesProvider and context to manage subscription entries more effectively across components.
- Refactored EntrySubscriptionList and related components to utilize the new context for data fetching and state management.
- Introduced EntrySubscriptionSkeleton for better loading states in the subscription column.
- Removed the outdated useEntrySubscriptionData hook to streamline data handling.

These changes enhance the overall architecture and performance of the subscription column, providing a more cohesive user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-13 00:28:17 +08:00
Innei 863bc43f3d
feat: enhance subscription column functionality
- Introduced new components for managing subscription entries, including EntrySubscriptionItem and EntrySubscriptionList, to improve the display and interaction within the subscription column.
- Added hooks for handling entry visibility and data fetching, optimizing performance and user experience.
- Implemented a toolbar for toggling the visibility of the entry list, enhancing user control over the interface.
- Refactored sidebar atoms to support new subscription-related states and actions.

These changes aim to provide a more robust and user-friendly experience in managing subscriptions within the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 23:32:58 +08:00
Innei 6e028b3e68
chore: remove zen and wider mode
Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 20:47:07 +08:00
Innei e9669c1f33
refactor: enhance entry actions handling and toolbar integration
- Updated the HIDE_ACTIONS_IN_ENTRY_CONTEXT_MENU to explicitly define its type for better type safety.
- Introduced HIDE_ACTIONS_IN_ENTRY_TOOLBAR_ACTIONS to consolidate hidden actions for the toolbar.
- Refactored ActionBar to utilize useSortedEntryActions for improved action filtering and rendering.

These changes aim to streamline the entry actions logic and improve the maintainability of the ActionBar component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 17:41:01 +08:00
Innei 19c1f4c0e9
refactor: enhance modal styling and structure
- Updated modal component styles for improved visual consistency, including changes to border radius, padding, and text styles.
- Adjusted shadow properties in the Tailwind CSS configuration for better appearance in both light and dark themes.
- Refined layout and spacing within the modal to enhance user experience.

These changes aim to improve the overall aesthetics and usability of the modal component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 17:36:30 +08:00
Innei 8cebbc6f01
refactor: enhance navigation by integrating view parameter retrieval
- Updated EntryColumnShortcutHandler to utilize getRouteParams for retrieving the view parameter during navigation.
- Ensured that the view parameter is passed correctly when navigating to the next entry, improving the consistency of navigation behavior.

These changes aim to enhance the clarity and functionality of the entry column navigation logic.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 02:02:48 +08:00
Innei ba71145768
fix: breadcrumb return back prev page logic
- Updated the logic in useNavigateEntry to ensure the final view is determined correctly based on the type of the view parameter.
- Refactored the EntryTitle component to simplify the rendering of recent readers, improving readability and maintainability.
- Adjusted the EntryHeaderBreadcrumb to pass the view parameter during navigation, enhancing functionality.

These changes aim to improve code clarity and ensure consistent behavior across navigation and entry display components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 01:48:46 +08:00
Innei 6849e30047
refactor: streamline ChatInput key handling logic
- Simplified the Enter key handling in the ChatInput component by removing unnecessary conditions.
- Ensured that the handleSend function is called directly when the Enter key is pressed, improving code clarity.

These changes enhance the readability and maintainability of the ChatInput component.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 01:24:34 +08:00
Innei a5dfea871c
refactor: simplify entry actions handling and improve context menu integration
- Removed the 'compact' parameter from several components to streamline the entry actions logic.
- Updated the CommandActionButton usage in ActionBar for better context menu interaction.
- Enhanced the ActionBar component to handle mouse position for context menu display.
- Cleaned up imports and adjusted related components to reflect the changes in props and structure.

These modifications aim to improve code clarity and maintainability while ensuring consistent functionality across entry actions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-12 01:23:28 +08:00
Innei e9a0ba8b8c
chore(mobile): update build ID increment script and configuration
- Added a force flag to the build ID increment script to allow manual increments regardless of branch or staged changes.
- Updated iOS build version in Info.plist from 134 to 135.
- Removed unused changelog CLI configuration file.
- Modified bump.config.ts to disable tagging for mobile releases.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-11 23:44:25 +08:00
DIYgod 418d99aae9
feat: more stable switching timeline back to top 2025-09-11 21:47:29 +08:00
Stephen Zhou a452bb7f21
Merge branch 'dev' into release/mobile/0.2.8 2025-09-11 20:14:57 +08:00
Stephen Zhou 8db85827d9
fix(mobile): show source content action 2025-09-11 20:14:24 +08:00
Innei 7921b42e14
release(mobile): release v0.2.8 2025-09-11 17:57:37 +08:00
Stephen Zhou 651fcb2e44
feat(mobile): auto show source content support 2025-09-11 13:21:40 +08:00
Stephen Zhou 54753326ea
fix(mobile): html render not work 2025-09-11 12:54:24 +08:00
Stephen Zhou 69d70750be
fix(mobile): exclude all for views 2025-09-11 10:40:15 +08:00
Stephen Zhou 12ce75e44e
fix(mobile): exclude all view type 2025-09-11 10:25:14 +08:00
DIYgod 1870bd11e1
feat: implement getAvatarUrl utility for user avatars
- Added getAvatarUrl function to handle user avatar retrieval, including fallback logic for missing images.
- Updated EntryUser and UserProfileModalContent components to utilize the new getAvatarUrl function for improved avatar handling.

These changes enhance the user experience by ensuring consistent avatar display across the application.
2025-09-10 20:35:24 +08:00
DIYgod b68d8d8e52
feat: move recent reads below the title 2025-09-10 18:32:01 +08:00
DIYgod 922df61be0
feat: audio and video icon in all item 2025-09-10 17:41:57 +08:00
Stephen Zhou bb8208d31e
fix: prefer subscription view 2025-09-10 17:20:25 +08:00
Stephen Zhou c1ba64e615
fix: no content state for readability 2025-09-10 16:56:12 +08:00
Stephen Zhou 4254da6c69
feat: audio player for article layout 2025-09-10 15:41:37 +08:00
Stephen Zhou dcb5fca520
fix: blurhash for ai video item 2025-09-09 22:50:36 +08:00
DIYgod 6c1ee7dc30
feat: compact unified view 2025-09-09 21:36:29 +08:00
DIYgod 280bc2a45e
Revert "Merge pull request #4460 from RSSNext/feat/remove-all-view"
This reverts commit fdf076f28b, reversing
changes made to 3776d82d97.
2025-09-09 21:36:29 +08:00
Innei b07e2de01e
fix: entry meta no title in breadcrumb and catch not found error
- Introduced a new higher-order component, withAppErrorBoundary, to wrap components with error boundary functionality.
- Created EntryNotFoundErrorFallback component to display a user-friendly message when an entry is not found.
- Updated error handling in EntryContent to utilize the new EntryNotFound error type.
- Added EntryContentFallback component to manage entry prefetching and loading states, enhancing user experience during data retrieval.

These changes improve error management and user feedback for entry-related issues.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-09 19:22:51 +08:00
songkeys ebf86a20a9 feat(view): remove all masonry view 2025-09-09 13:46:41 +08:00
Innei 3776d82d97
feat: implement scroll handling with new custom hook
- Added a new hook, useAttachScrollBeyond, to manage scroll behavior and state across components.
- Updated ChatInterface and WelcomeScreen to utilize the new hook for handling scroll events, improving the user experience by ensuring consistent scroll threshold management.
- Refactored AIChatRoot to maintain clean code structure.

These changes enhance the chat interface by providing a centralized way to manage scroll interactions, improving overall usability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 22:32:52 +08:00
Innei 2a2085a0f1
feat: add AI shortcut functionality for enhanced user interaction
- Introduced a new hook, useAIShortcut, to manage keyboard shortcuts for creating new chats and closing the AI chat panel.
- Integrated the useAIShortcut hook into the AIChatRoot component to enable these shortcuts when the AI chat is focused.

These changes improve user experience by providing quick access to essential chat functions through keyboard shortcuts.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 22:03:05 +08:00
Innei a075aa1ff6
feat: enhance AI panel functionality and visibility management
- Added a "Close Sidebar" option in the ChatMoreDropdown for improved user control over the AI panel.
- Updated AIIndicator to simplify visibility logic for the spline button.
- Refactored AIEntryLayout to better manage AI panel visibility and layout based on the current panel style.

These changes improve the user experience by providing more intuitive controls and ensuring consistent behavior of the AI panel across components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 21:13:46 +08:00
Innei 682771cd4e
feat: implement scroll threshold state management
- Introduced AIRootStateContext to manage the scroll threshold state across components.
- Updated AIChatRoot, ChatHeader, ChatInterface, and WelcomeScreen to utilize the new context for scroll behavior.
- Added SCROLLED_BEYOND_THRESHOLD constant to define the scroll limit for triggering state changes.

These changes enhance the chat interface by allowing components to react to scroll position, improving user experience and interaction dynamics.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 21:07:30 +08:00
Innei b05f49fe84
fix: can scroll on entry content
- Modified the AIEntryLayout component to include a relative positioning class for better layout management.
- This change enhances the overall rendering and interaction experience within the entry column.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 20:53:02 +08:00
Innei d7a7b0c8c3
fix: improve entry layout and animation handling
- Updated AIEntryLayout to include a wrapper div for better pointer event management and layout structure.
- Removed unnecessary layout animation div in EntryContent to streamline rendering.
- Adjusted padding in SocialMediaLayout for improved spacing.

These changes enhance the user experience by ensuring smoother animations and better layout consistency across components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-08 20:49:36 +08:00
Stephen Zhou 7b653ab756
fix: view name in bread crumb 2025-09-08 20:17:30 +08:00
Stephen Zhou d52a97b947
fix: entry content animation 2025-09-08 19:59:52 +08:00
Stephen Zhou 603d62bc31
fix: align entry header and chat header with sidebar 2025-09-08 17:56:53 +08:00
Stephen Zhou 2429dde83f
Revert "fix: align entry header with sidebar"
This reverts commit 5361500112.
2025-09-08 17:25:11 +08:00
Stephen Zhou 5361500112
fix: align entry header with sidebar 2025-09-08 17:16:49 +08:00