From 6b6b7e2a8cfcbf481b2800e9ddc23e8624bcbda4 Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Tue, 6 May 2025 23:47:35 +0800 Subject: [PATCH] refactor(mobile): simplify TabBarRootWrapper props and update type definitions --- .../src/lib/navigation/bottom-tab/native.android.tsx | 11 ++++------- .../src/lib/navigation/bottom-tab/native.ios.tsx | 11 ++++------- apps/mobile/src/lib/navigation/bottom-tab/native.tsx | 10 +++------- apps/mobile/src/lib/navigation/bottom-tab/types.ts | 6 ++++++ 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx index debaab1d9..50afbcf08 100644 --- a/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx @@ -1,13 +1,10 @@ import { requireNativeView } from "expo" -import type { NativeSyntheticEvent, ViewProps } from "react-native" +import type { ViewProps } from "react-native" + +import type { TabBarRootWrapperProps } from "./types" export const TabBarPortalWrapper = requireNativeView("TabBarPortal") export const TabScreenWrapper = requireNativeView("TabScreen") -export const TabBarRootWrapper = requireNativeView< - { - onTabIndexChange: (e: NativeSyntheticEvent<{ index: number }>) => void - selectedIndex: number - } & ViewProps ->("TabBarRoot") +export const TabBarRootWrapper = requireNativeView("TabBarRoot") diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx index debaab1d9..50afbcf08 100644 --- a/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx @@ -1,13 +1,10 @@ import { requireNativeView } from "expo" -import type { NativeSyntheticEvent, ViewProps } from "react-native" +import type { ViewProps } from "react-native" + +import type { TabBarRootWrapperProps } from "./types" export const TabBarPortalWrapper = requireNativeView("TabBarPortal") export const TabScreenWrapper = requireNativeView("TabScreen") -export const TabBarRootWrapper = requireNativeView< - { - onTabIndexChange: (e: NativeSyntheticEvent<{ index: number }>) => void - selectedIndex: number - } & ViewProps ->("TabBarRoot") +export const TabBarRootWrapper = requireNativeView("TabBarRoot") diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.tsx index 9655acc34..6a3c884e6 100644 --- a/apps/mobile/src/lib/navigation/bottom-tab/native.tsx +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.tsx @@ -1,14 +1,10 @@ -import type { NativeSyntheticEvent, ViewProps } from "react-native" import { View } from "react-native" +import type { TabBarRootWrapperProps } from "./types" + export { View as TabBarPortalWrapper } from "react-native" export { View as TabScreenWrapper } from "react-native" -export const TabBarRootWrapper = ( - props: { - onTabIndexChange: (e: NativeSyntheticEvent<{ index: number }>) => void - selectedIndex: number - } & ViewProps, -) => { +export const TabBarRootWrapper = (props: TabBarRootWrapperProps) => { return } diff --git a/apps/mobile/src/lib/navigation/bottom-tab/types.ts b/apps/mobile/src/lib/navigation/bottom-tab/types.ts index 54826cdb4..ed9b86570 100644 --- a/apps/mobile/src/lib/navigation/bottom-tab/types.ts +++ b/apps/mobile/src/lib/navigation/bottom-tab/types.ts @@ -1,4 +1,5 @@ import type { FC } from "react" +import type { NativeSyntheticEvent, ViewProps } from "react-native" export type TabbarIconProps = { focused: boolean @@ -18,3 +19,8 @@ export interface TabScreenProps { lazy?: boolean identifier?: string } + +export type TabBarRootWrapperProps = { + onTabIndexChange: (e: NativeSyntheticEvent<{ index: number }>) => void + selectedIndex: number +} & ViewProps