Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(desktop): hide separator when availableActions is empty #3045

Merged
merged 1 commit into from
Mar 17, 2025

Conversation

kovsu
Copy link
Contributor

@kovsu kovsu commented Mar 13, 2025

Before:
CleanShot 2025-03-13 at 08 47 57

After:
CleanShot 2025-03-13 at 09 04 06

@follow-reviewer-bot
Copy link

Thank you for your contribution. We will review it promptly.

Copy link

vercel bot commented Mar 13, 2025

@kovsu is attempting to deploy a commit to the RSS3 Team on Vercel.

A member of the Team first needs to authorize it.

@follow-reviewer-bot
Copy link

Suggested PR Title:

refactor: improve command filtering in MoreActions component

Change Summary:
Refactor MoreActions component to filter commands for availability and modify rendering logic based on action configurations, improving the component's responsiveness to command statuses.

Code Review:

Code Review: Change Requests

File: apps/desktop/src/renderer/src/modules/entry-content/actions/more-actions.tsx

  1. Line 14: getCommand is used without proper validation for potential errors or null values returned by the function. Ensure getCommand(item.id) gracefully handles cases where the command is not found. If such a case is unlikely or already addressed in the implementation of getCommand, consider adding a comment to clarify.

  2. Lines 17-20 (availableActions filtering):

    • The filter chaining creates potential redundancy. While the logic is correct, optimizing this to use a single filter callback may improve readability and performance. Example:
      filter((item) => item.id !== COMMAND_ID.settings.customizeToolbar && getCommand(item.id))
    • Requesting a change to refactor these chained filter calls into a single condition.
  3. Lines 25-28 (extraAction filtering):

    • Similar to the availableActions filtering logic, refactor the chained filter calls into a single condition for cleaner and potentially more performant code:
      filter((item) => item.id === COMMAND_ID.settings.customizeToolbar && getCommand(item.id))
  4. Line 36: The condition if (availableActions.length === 0 && extraAction.length === 0) introduces additional complexity by combining two independent filters. Consider simplifying it by maintaining separate conditions for availableActions and extraAction to maintain readability.

  5. Line 50: The addition of the conditional rendering for <DropdownMenuSeparator /> with availableActions.length > 0 makes sense. However, if more separator logic is added in the future, this might become tedious to maintain. It's worth considering encapsulating this logic in a small helper function for improved clarity and better scalability as separator-related conditions grow.


Recommended Actions

  • Refactor filter chains into single conditions where possible.
  • Add validation or comments for getCommand(item.id) usage.
  • Simplify conditional logic in if (availableActions.length === 0 && extraAction.length === 0) for better readability.

Let me know if you need help implementing these changes!

@kovsu kovsu force-pushed the feat/more-actions-separator branch from ba903b2 to 24e37a5 Compare March 13, 2025 01:21
@hyoban hyoban merged commit 4a00493 into RSSNext:dev Mar 17, 2025
3 of 6 checks passed
@follow-reviewer-bot
Copy link

Thank you @kovsu for your contribution! 🎉

Your pull request has been merged and we really appreciate your help in making this project better. We hope to see more contributions from you in the future! 💪

@kovsu kovsu deleted the feat/more-actions-separator branch March 17, 2025 02:02
Innei added a commit that referenced this pull request Mar 25, 2025
* chore: dependabot ignore @shopify/flash-list

* chore: pnpm lock

* chore: revert

* fix(mobile): allow scroll in login page (#3126)

* Revert "fix(mobile): allow scroll in login page (#3126)" (#3127)

This reverts commit 0dc73f1.

* build(deps): bump the patch group across 1 directory with 9 updates (#3124)

* refactor(mobile): improve navigation header and layout components

- Updated `NavigationHeader` to enhance modal presentation handling and UI customization.
- Adjusted `getDefaultHeaderHeight` function to simplify header height calculations for iOS devices.
- Integrated `NativeNavigationHeader` in the terms screen for consistent header behavior.
- Cleaned up layout files by removing unused imports and optimizing component structure.

This refactor aims to streamline navigation and improve the overall user experience across mobile screens.

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

* chore: update patch (#3129)

* chore: update patch

* fix

* fix

* feat(mobile): implement language-based preset feeds for onboarding (#3109)

* feat(mobile): implement language-based preset feeds for onboarding

* fix: enhance useIsNewUser hook to accept enabled parameter

* refactor(mobile): streamline subscription handling in StepInterests component

* fix(mobile): correct feedId values in English feeds JSON

* chore: dependabot seperate pathed

* build(deps): bump the minor group with 5 updates (#3131)

Bumps the minor group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@tanstack/query-sync-storage-persister](https://github.com/TanStack/query/tree/HEAD/packages/query-sync-storage-persister) | `5.67.3` | `5.68.0` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.67.3` | `5.68.0` |
| [@tanstack/react-query-persist-client](https://github.com/TanStack/query/tree/HEAD/packages/react-query-persist-client) | `5.67.3` | `5.68.0` |
| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.67.3` | `5.68.0` |
| [cmdk](https://github.com/pacocoursey/cmdk/tree/HEAD/cmdk) | `1.0.4` | `1.1.1` |


Updates `@tanstack/query-sync-storage-persister` from 5.67.3 to 5.68.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.68.0/packages/query-sync-storage-persister)

Updates `@tanstack/react-query` from 5.67.3 to 5.68.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.68.0/packages/react-query)

Updates `@tanstack/react-query-persist-client` from 5.67.3 to 5.68.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.68.0/packages/react-query-persist-client)

Updates `@tanstack/react-query-devtools` from 5.67.3 to 5.68.0
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.68.0/packages/react-query-devtools)

Updates `cmdk` from 1.0.4 to 1.1.1
- [Release notes](https://github.com/pacocoursey/cmdk/releases)
- [Commits](https://github.com/pacocoursey/cmdk/commits/v1.1.1/cmdk)

---
updated-dependencies:
- dependency-name: "@tanstack/query-sync-storage-persister"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: "@tanstack/react-query"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: "@tanstack/react-query-persist-client"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: "@tanstack/react-query-devtools"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: cmdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump the patch group with 2 updates (#3132)

Bumps the patch group with 2 updates: [expo](https://github.com/expo/expo/tree/HEAD/packages/expo) and [lightningcss](https://github.com/parcel-bundler/lightningcss).


Updates `expo` from 52.0.38 to 52.0.39
- [Changelog](https://github.com/expo/expo/blob/main/packages/expo/CHANGELOG.md)
- [Commits](https://github.com/expo/expo/commits/HEAD/packages/expo)

Updates `lightningcss` from 1.29.2 to 1.29.3
- [Release notes](https://github.com/parcel-bundler/lightningcss/releases)
- [Commits](parcel-bundler/lightningcss@v1.29.2...v1.29.3)

---
updated-dependencies:
- dependency-name: expo
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: lightningcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci: add development build (#3136)

* ci: add development build

* update

* update

* update

* name

* simulator

* cancel

* push

* update

* name

* Revert "update"

This reverts commit 34e65dc.

* path

* fix(mobile): show validate message, support for small screen (#3130)

* show validate message

* support small screen

* fix(desktop): description section uses hyphen style (#3146)

* feat(desktop): hide separator when availableActions is empty (#3045)

* refactor(mobile): action condition layout and select (#3147)

* build: update to pnpm 10 (#3149)

* build: update to pnpm 10

* update

* feat(mobile): remove entry list hover background

* feat(mobile): optimize border color

* feat(mobile): add haptics

* fix(mobile): disable entry routing when horizontal scrolling

* fix(mobile): null incomingUrl warning

* feat(mobile): use firebase modular api

* fix(mobile): large header init value

* feat(mobile): extract PageList component

* feat(mobile): swipeable subscription list

* feat(mobile): cleaner subscription list

* feat(mobile): subscription list scroll protection

* fix: clipboard

* fix(desktop): incorrect svg favicon name (#3156)

* fix(desktop): incorrect svg favicon name

* update

---------

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* fix: incorrect formatting of time duration (#3148)

* feat(desktop): add duration formatting for audio entries

* update

* update

* update

* update

* update

---------

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* refactor: improve time formatting to support multiple formats (#3157)

* chore: downgrade electron version to 34.2.0 in package.json and pnpm-lock.yaml

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

* refactor(mobile): update color usage in settings routes to utilize useColors hook

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

* refactor(mobile): avoid multiple useScaleHeight call (#3165)

* build: fix electron version (#3166)

* fix(ssr): env

* fix(ssr): tailwind config

* fix(ssr): add feed popup

* chore: add platform in issue template

* chore: issue labeler

* chore: add platform in issue template

* fix: unable to update subscription information in time (#3173)

* fix: use listId to unfollow list (#3167)

* fix: use listId arg to unfollow list

* update

* build: disable logging in react-scan by default (#3174)

* fix: add key prop to SubscriptionList (#3188)

* refactor: always query all subscription list (#3190)

* fix: recommendations header has no background color (#3185)

* feat: rename (#3181)

* feat: rename

* fix

* fix

* fix

* feat: hide apple login in mas

* 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>

* feat: x-mas header

* fix: do not decode cookie (#3196)

* refactor(mobile): unify colors in dark and light modes (#3193)

* refactor: remove unnecessary ItemSeparator from SectionTitle component

* Revert "refactor: remove unnecessary ItemSeparator from SectionTitle component"

This reverts commit 0d2ed81.

* unify color

---------

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* chore(mobile): bump script

* feat(mobile): integrate RootSiblingParent and Navigation context

- Wrapped children in RootSiblingParent within the App component to manage sibling overlays.
- Renamed main application component from App4 to Entry for clarity.
- Enhanced dialog component by adding SafeAreaProvider and NavigationInstanceContext for improved layout and navigation handling.
- Cleaned up provider structure by removing unnecessary RootSiblingParent in RootProviders.

These changes aim to improve the overlay management and navigation context within the mobile application.

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

* fix(mobile): update navigation handling in SearchFeed and SearchList components

- Changed navigation method from `pushControllerView` to `presentControllerView` for better user experience.
- Added `itemStyle` prop with `ItemPressableStyle.Plain` to `ItemPressable` in both components for consistent styling.

These updates enhance the navigation flow and visual consistency within the search functionality of the mobile application.

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

* feat(mobile): add lazy loading support to TabScreen component

- Introduced a `lazy` prop to the `TabScreen` and `TabScreenComponent` interfaces to enable lazy loading of tab screens.
- Updated the `TabScreen` implementation to conditionally render based on the `lazy` prop, improving performance by loading screens only when necessary.
- Set the `lazy` property to `true` for the `DiscoverTabScreen` to utilize the new functionality.

These changes enhance the tab navigation experience by optimizing screen loading behavior.

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

* fix(mobile): actions rules compatibility

* feat(mobile): enhance Tabbar component with placeholder support

- Added a placeholder mechanism in the Tabbar component to handle cases where no tab screens are available, improving user experience by preventing empty tab displays.
- Utilized `useMemo` to create a default placeholder tab screen, ensuring efficient rendering.
- Updated the rendering logic to conditionally display either the actual tab screens or the placeholder.

These changes optimize the Tabbar functionality and enhance the overall navigation experience within the mobile application.

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

* chore(mobile): update package versions and improve color handling

- Bumped versions of `react-native-uikit-colors`, `apple-uikit-colors`, and `tailwindcss-uikit-colors` to 0.3.10 in `pnpm-lock.yaml` and `package.json` for consistency and to leverage the latest features and fixes.
- Updated the import from `useCurrentColors` to `useCurrentColorsVariants` in the `index.tsx` provider file to align with the new API.
- Added a blank line in `Actions.tsx` for improved code readability.

These changes ensure the application is using the latest color utilities and maintain clean code practices.

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

* fix(mobile): hide UserAvatar preview

- Replaced the noPreview prop with a new preview prop in the UserAvatar component, defaulting to true.
- Updated the rendering logic to conditionally display the avatar based on the preview prop.
- Adjusted instances of UserAvatar in EntryReadHistory and action.tsx to utilize the new preview prop.

These changes enhance the flexibility of the UserAvatar component by allowing for more controlled rendering behavior.

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

* release(desktop): release v0.3.13

* fix(mobile): ensure minimum padding at the bottom of the tab bar (#3198)

* build(deps): bump actions/checkout from 3 to 4 (#3177)

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump redhat-plumbers-in-action/advanced-issue-labeler (#3176)

Bumps [redhat-plumbers-in-action/advanced-issue-labeler](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler) from 2 to 3.
- [Release notes](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/releases)
- [Commits](redhat-plumbers-in-action/advanced-issue-labeler@v2...v3)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/advanced-issue-labeler
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: fix mas build

* fix: x-mas header in get-provider api

* feat(mobile): introduce grouped list components and improve layout

- Added constants for icon text gap and a new enum for card item styles.
- Implemented GroupedInsetListCard with customizable separator support.
- Enhanced GroupedList and related components to utilize new styles and layout adjustments.
- Updated various components to incorporate pixel ratio for responsive design.
- Refactored item rendering in subscription lists to support first and last item styling.

These changes improve the visual consistency and responsiveness of grouped list components in the mobile application.

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

* feat(mobile): enhance grouped list layout and responsiveness

- Updated constants for GROUPED_LIST_MARGIN, GROUPED_LIST_ITEM_PADDING, and GROUPED_ICON_TEXT_GAP to utilize PixelRatio for improved responsiveness.
- Refactored GroupedList and related components to apply new margin and padding constants, ensuring consistent spacing across various screen sizes.
- Adjusted styles in multiple subscription items and separators to incorporate the new layout constants, enhancing visual consistency.

These changes improve the overall layout and user experience of grouped list components in the mobile application.

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

* fix(mobile): integrate ListScreen navigation and enhance list item actions

- Imported ListScreen for navigation within the Lists module.
- Updated AddListButton to present ListScreen on press.
- Modified ListItemCellImpl to navigate to ListScreen with the selected list's ID when the edit action is triggered.
- Adjusted GroupedInsetListCard to hide separators for improved layout.

These changes enhance user navigation and interaction within the lists feature of the mobile application.

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

* release(mobile): release v0.1.2

* feat(mobile): pass view parameter to fetch collection (#3202)

* fix(desktop): the interaction styles of social media collections are inconsistent. (#3206)

* fix(desktop): reset currentTime when audio duration is invalid after metadata is loaded (#3203)

* fix(mobile): category item border radius, background color (#3216)

* fix(mobile): grouped list constants

- Added new constants for GROUPED_SECTION_TOP_MARGIN and GROUPED_SECTION_BOTTOM_MARGIN to standardize spacing in grouped list components.
- Updated GroupedList and related components to utilize the new margin constants, ensuring consistent layout across various screens.
- Refactored multiple settings routes to remove unnecessary wrapper views, improving layout efficiency and readability.
- Adjusted the About, Account, and other settings screens to enhance visual consistency and user experience.

These changes improve the overall layout and responsiveness of grouped list components in the mobile application.

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

* fix(mobile): enhance ItemPressable with touch highlight feature

- Added a touchHighlight prop to ItemPressable to control the highlight effect on press.
- Implemented animated background color change using react-native-reanimated for a smoother user experience.
- Updated EntryNormalItem and EntrySocialItem to disable touchHighlight, ensuring consistent behavior across different item types.

These changes improve the interactivity and visual feedback of pressable items in the mobile application.

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

* docs: link to CONTRIBUTING.md (#3217)

* fix(mobile): avoid itemPressable overlap (#3218)

* fix(mobile): avoid itemPressable overlap

* update

* feat: appx (#3219)

* feat: add appx maker

* update

* update

* fix

* update

* update

* update

* update

* Revert "update"

This reverts commit 798e612.

* fix(mobile): scroll to mark read not work (#3223)

* feat(mobile): emit screen change events on route appearance and disappearance

- Added event emissions for screen changes when a route appears or disappears, including the screen ID and route details.
- Updated the ScreenChangeEventPayload type to optionally include route information.

These changes enhance navigation tracking within the mobile application.

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

* docs: update readme

* docs: update readme

* chore: fix type (#3226)

* fix: scroll to top in subscription tab by adding active prop (#3225)

* fix(mobile): add active prop to fix scroll to top in subscription tab

* refactor(mobile): convert SafeNavigationScrollView to forwardRef for improved ref handling

* fix: types

* build: update lint config (#3234)

* build: update lint config

* update

* update

* update

* fix(locales): improve zh-HK translations across multiple files (#3222)

* fix(desktop): 更新繁體中文翻譯,修正用詞不當

* fix(desktop): 更新繁體中文翻譯,修正用詞不當

* fix(desktop): update zen mode shortcut key notation (#3179)

* fix: hide video preview's action overlay (#3201)

* build(native): fix build (#3236)

* refactor(mobile): replace TouchableOpacity with UINavigationHeaderActionButton in header components

- Updated HeaderCloseButton and HeaderSubmitButton to use UINavigationHeaderActionButton for improved consistency and functionality.
- Adjusted layout in HeaderCloseOnly to accommodate the new button component.

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

* docs: update readme

* feat(mobile): enhance screen options and header configuration

- Added new properties to ScreenOptionsContext for customizable header areas.
- Implemented resolveScreenOptions function to manage header configurations based on context options.
- Updated WrappedScreenItem to utilize new header area components for improved layout.
- Refactored EntryNormalItem to use SquareImage for better image handling.
- Introduced loading state for images to enhance user experience.

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

* docs: update readme

* fix: sign up button type (#3239)

Cause the login form check not as expected

* docs: update readme

* chore: fix lint

* feat: hide login.or when providers is empty

* docs: update readme

* ci: introduce self host runner (#3237)

* ci: test self host runner

* update

* update

* push

* prefer self then github

* update

* log

* update

* update

* update

* update

* update

* try label

* Revert "try label"

This reverts commit 05d19cf.

* include build mac

* try hyoban to build mac

* update

* update

* update

* update

* push

* push

* push

* push

* push

* push

* try

* try

* Revert "try"

This reverts commit c1be653.

* fix build

* add runner

* Revert "add runner"

This reverts commit 70e0c35.

* clean

* avoid setup on self host

* update

* ci: restrict build workflow to dev branch only (#3255)

* docs: update readme

* docs: fix link

* chore: format

* refactor: translation language -> action language (#3154)

* refactor: action language -> action language

* type

* mobile

* type

* fix

* prefer local settings, drop backward compatibility

* update

* update

* update

* chore: auto-fix linting and formatting issues

* update

* update

* update

* follow ui

* update

* add description

* fix build

* update

* update

* update

* chore: update changelog

* fix: navigation status when entering from other pages (#3260)

* ci: fix empty state fro external contributor

* ci: pass for external contributor

* fix(mobile): profile modal header style

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

* fix: improve skeleton loading states in feed preview (#3265)

* docs: update readme

* docs: update readme

* feat: optimize user profile modal style

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

* refactor(mobile): enhance stack navigation structure and add state handling

- Introduced AttachNavigationScrollViewProvider for better context management.
- Added StateHandler component to manage screen name updates based on navigation events.
- Updated imports and optimized component structure for improved readability.

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

* feat(desktop): add email verification prompt and translation support (#3266)

* fix(mobile): handle durationInSeconds format (#3259)

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* feat(desktop): add translations for new user guide actions (#3263)

* feat: add PDF export functionality  (#3264)

* feature add: export article as pdf (issue: 1314)

* reverted pnpm-lock.yaml, deleted unwanted code, ensured some checks

* chore: update icon

* update changelog

---------

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* chore: update zh-cn translations (#3267)

* chore: update zh-cn translations

* update

---------

Signed-off-by: Innei <tukon479@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Whitewater <me@waterwater.moe>
Co-authored-by: LavaC <48022591+LavaCxx@users.noreply.github.com>
Co-authored-by: Konv Suu <2583695112@qq.com>
Co-authored-by: pacexy <pacexy@gmail.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: weiwei <will_workhard@163.com>
Co-authored-by: Jerry Wong <hwy0127@gmail.com>
Co-authored-by: Candy <zztgqk@gmail.com>
Co-authored-by: Vikas <107193100+vikas-viki@users.noreply.github.com>
Co-authored-by: Eric Zhu <eric@zhu.email>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants