- Deleted Markdown and MarkdownWeb components to streamline the codebase.
- This change eliminates unused components related to markdown rendering, improving maintainability.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(desktop): add reset defaults button for shortcuts
* feat(desktop): add conditional reset defaults button for shortcuts
- Implemented a check to display the "Reset Defaults" button only if shortcuts have been customized.
- Enhanced user experience by preventing unnecessary button visibility when defaults are already in place.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
- Replaced button with a div in FeedListItem for better accessibility.
- Introduced MarkdownNative component for improved markdown rendering in mobile.
- Updated RsshubFormScreen to utilize MarkdownNative for displaying route descriptions.
- Refactored renderMarkdown function to use parseMarkdown for better performance and added support for text alignment in table cells.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced FocusableGuardProvider to handle focus management based on modal presence and route parameters.
- Integrated with existing focus hooks and event bus for improved user experience in modal scenarios.
- Updated RootProviders to include the new FocusableGuardProvider.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced PrivacyPolicyScreen and TermsScreen components to display legal documents.
- Implemented markdown rendering for both screens using the renderMarkdown utility.
- Updated imports in various modules to reference the new screen components.
- Enhanced AISummary to accept ReactNode as summary content for better flexibility.
Signed-off-by: Innei <tukon479@gmail.com>
- Changed the ESLint rule for "package-json-extend/ensure-package-version" from "warn" to "error" to enforce stricter package version checks.
- Updated various dependencies across multiple package.json files, including:
- Upgraded @eslint/compat to version 1.2.9
- Updated @types/node, @types/react, and @types/react-dom to their latest versions.
- Bumped eslint to version 9.27.0 and lint-staged to version 16.1.0.
- Updated several other packages such as turbo, tsx, and various Radix UI components to their latest versions.
- Ensured compatibility with the latest versions of dependencies.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated drizzle-orm dependency from version 0.42.0 to 0.43.1 in the following packages:
- apps/desktop/package.json
- packages/internal/database/package.json
- packages/internal/shared/package.json
- Adjusted related dependencies and configurations to ensure compatibility with the new version.
Signed-off-by: Innei <tukon479@gmail.com>
- Added the DiscoverImport component to handle OPML file uploads and parsing.
- Introduced OpmlSelectionModal for users to select feeds to import, including quota management and search functionality.
- Enhanced error handling and user feedback during the import process.
- Updated translations for new features and improved user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Added mode configuration to Login and Register forms for improved validation handling.
- Updated HCaptcha rendering to only display in production environments.
- Enhanced the Subscription Feeds section with analytics data fetching and display, including subscription count and updates per week.
- Introduced IntersectionObserver for better visibility tracking of feed items.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed the unnecessary key prop from the Media component to streamline rendering.
- Added mediaContainerClassName to the FeedCardMediaThumbnail for improved styling consistency.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated `tailwindcss-content-visibility` version 1.0.2 into the project.
- Updated `tailwind.config.ts` to include the new plugin for improved utility management.
- Modified `package.json` files to include the new dependency in both the desktop app and renderer layer.
- Enhanced the `feeds.tsx` component to support sorting functionality for better user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the ModalInternal component to center the icon within the modal.
- Refactored useFeedActions to utilize new modal hooks for confirming unsubscribe actions and category creation.
- Introduced ConfirmDestroyModalContent and ShortcutModalContent components for better modal management.
- Improved the handling of batch unsubscribe actions in the SettingFeeds component.
- Updated translations for better clarity in user prompts.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced `useTypeScriptHappyCallback` for improved tab change handling in the mobile settings modal.
- Updated the `Content` component to utilize `useLoaderData` for better data management and added a dynamic `viewportClassName`.
- Simplified the `SettingItemButtonImpl` by removing the `tab` prop and using an `isActive` flag for better clarity in active state management.
Signed-off-by: Innei <tukon479@gmail.com>
- Converted `FeedCategoryAutoHideUnread` to a memoized component for improved rendering efficiency.
- Simplified context menu handling in `FeedItem` by utilizing `useEventCallback` for event handlers.
- Enhanced double-click functionality in `FeedItem` and `ListItem` to use memoized callbacks, improving performance and reducing unnecessary re-renders.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced instances of `useGlobalFocusableScope` with `useGlobalFocusableScopeSelector` for improved focus state management.
- Updated various components including FeedColumn, Subview, EntryColumn, and FeedItem to utilize the new selector for better performance and clarity.
- Added a new `viewportClassName` property to the SettingPageConfig interface for enhanced configuration options.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced `useSetGlobalFocusableScope` hook to manage focus scope when the dropdown menu opens and closes.
- Removed the `Focusable` wrapper from the dropdown menu content to streamline rendering.
- Updated the subscription column to utilize `useGlobalFocusableScopeSelector` for better focus state management.
Signed-off-by: Innei <tukon479@gmail.com>
- Removed unused variables and simplified the useEntryActions hook.
- Refactored EntryItemImpl to use memoization for performance optimization.
- Replaced the existing rendering logic in EntryList with a new VirtualRowItem component for better structure and maintainability.
- Consolidated date item rendering into the VirtualRowItem component to enhance clarity and reduce redundancy.
Signed-off-by: Innei <tukon479@gmail.com>
- Added new focusable presets for timeline and entry render states.
- Introduced a custom hook `useContextMenuActionShortCutTrigger` to manage context menu shortcuts based on focusable states.
- Updated various components to utilize the new focusable presets and context menu shortcuts for improved user interaction.
Signed-off-by: Innei <tukon479@gmail.com>
- Reformatted tsconfig.json for better readability.
- Removed unused exports files from internal components.
- Updated package.json files to reflect changes in exports structure and added new paths for schemas and services in the database package.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated a new button in the About section to allow users to check for application updates.
- Updated localization files to include the new button text.
- Enhanced the app's update handling by importing the checkForAppUpdates function.
Signed-off-by: Innei <tukon479@gmail.com>
- Adjusted button size and styling for improved consistency across the application.
- Modified minimum height of the settings modal for better layout adaptability.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new `useSmoothScroll` hook to encapsulate smooth scrolling logic, improving code reusability.
- Updated `EntryScrollArea` to utilize the new hook, replacing the previous inline smooth scroll implementation.
- Exported the `useSmoothScroll` hook from the hooks index for broader accessibility.
Signed-off-by: Innei <tukon479@gmail.com>
- Added a smooth scrolling feature to enhance user experience when navigating through content.
- Replaced the previous spring scroll implementation with a custom smooth scroll function that adapts duration based on scroll distance.
- Updated scroll event handlers to utilize the new smooth scrolling method for both upward and downward scrolling actions.
Signed-off-by: Innei <tukon479@gmail.com>
- Added double-click event to reset entry and feed column widths to default UI settings.
- Improved resizing logic by storing initial drag position for better handling of resize events.
Signed-off-by: Innei <tukon479@gmail.com>