ci: add iOS OTA publishing and refactor gesture handling
Some checks failed
Frontend CI / ota-android (push) Successful in 1m10s
Frontend CI / ota-ios (push) Successful in 1m8s
Frontend CI / build-and-push-web (push) Successful in 6m1s
Frontend CI / build-android-apk (push) Has been cancelled

- Add `ota-ios` job to GitHub Actions workflow to support iOS OTA updates
- Refactor `ScheduleScreen` to use `GestureDetector` and `Gesture` from `react-native-gesture-handler` instead of `PanGestureHandler`
- Update `TradeCard` styles and layout spacing in `HomeScreen` and `MarketView`
- Refactor `MarketView` to use updated responsive spacing values
This commit is contained in:
2026-05-05 17:46:31 +08:00
parent c0ebebe3da
commit f5f9c3a619
5 changed files with 112 additions and 47 deletions

View File

@@ -796,7 +796,7 @@ export const HomeScreen: React.FC = () => {
const authorId = item.author?.id || '';
const isPostAuthor = currentUser?.id === authorId;
return (
<View style={styles.gridItem}>
<View style={{ marginBottom: 2, paddingHorizontal: 1 }}>
<PostCard
post={item}
variant="grid"

View File

@@ -53,8 +53,8 @@ export function MarketView({
const isAuth = useIsAuthenticated();
const { width } = useResponsive();
const gap = useResponsiveSpacing({ xs: 6, sm: 8, md: 10, lg: 12, xl: 16 });
const padding = useResponsiveSpacing({ xs: 8, sm: 10, md: 12, lg: 16, xl: 20 });
const gap = useResponsiveSpacing({ xs: 4, sm: 6, md: 8, lg: 12, xl: 16 });
const padding = useResponsiveSpacing({ xs: 8, sm: 12, md: 16, lg: 24, xl: 32 });
const styles = useMemo(() => createMarketStyles(colors, gap, padding), [colors, gap, padding]);
const [items, setItems] = useState<TradeItemDTO[]>([]);
@@ -163,7 +163,7 @@ export function MarketView({
}, [items, isAuth]);
const renderItem = useCallback<ListRenderItem<TradeItemDTO>>(({ item }) => (
<View style={{ marginBottom: gap }}>
<View style={{ marginBottom: 2, paddingHorizontal: 1 }}>
<TradeCard
item={item}
variant="grid"
@@ -171,7 +171,7 @@ export function MarketView({
onFavorite={handleFavorite}
/>
</View>
), [handlePressItem, handleFavorite, gap]);
), [handlePressItem, handleFavorite]);
const keyExtractor = useCallback((item: TradeItemDTO) => item.id, []);