From d69e856aa6464764b639339cbd3512020b98b72b Mon Sep 17 00:00:00 2001 From: jsayago77 Date: Sat, 19 Apr 2025 20:21:08 -0400 Subject: [PATCH 1/3] Added categories service --- src/screens/tab/CategoriesScreen.tsx | 14 +++++++++++++- src/services/category.ts | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 src/services/category.ts diff --git a/src/screens/tab/CategoriesScreen.tsx b/src/screens/tab/CategoriesScreen.tsx index cd7467f..e80332d 100644 --- a/src/screens/tab/CategoriesScreen.tsx +++ b/src/screens/tab/CategoriesScreen.tsx @@ -1,9 +1,21 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { View, StyleSheet } from 'react-native'; import PoppinsText from '../../components/PoppinsText'; import { Colors } from '../../styles/theme'; +import { CategoryService } from '../../services/category'; export default function CategoriesScreen() { + useEffect(() => { + const fetchCategories = async () => { + const categories = await CategoryService.getCategories(1, 100); + if (categories.success) { + console.log(categories.data); + } + }; + + fetchCategories(); + }, []); + return ( Pantalla Categorías diff --git a/src/services/category.ts b/src/services/category.ts new file mode 100644 index 0000000..b1fac12 --- /dev/null +++ b/src/services/category.ts @@ -0,0 +1,25 @@ +import { Pagination, CategoryResponse } from '@pharmatech/sdk'; +import { api } from '../lib/sdkConfig'; +import { ServiceResponse } from '../types/api.d'; +import { extractErrorMessage } from '../utils/errorHandler'; + +export const CategoryService = { + getCategories: async ( + page: number, + limit: number, + ): Promise>> => { + try { + const categories = await api.category.findAll({ + page: page, + limit: limit, + }); + + return { success: true, data: categories }; + } catch (error) { + return { + success: false, + error: extractErrorMessage(error), + }; + } + }, +}; From f42ba2d476bda68cfaf051896f5fa3a13cee9a97 Mon Sep 17 00:00:00 2001 From: jsayago77 Date: Tue, 22 Apr 2025 21:14:23 -0400 Subject: [PATCH 2/3] Added categories screen --- src/assets/images/defaults/category.png | Bin 0 -> 32687 bytes src/screens/tab/CategoriesScreen.tsx | 103 ++++++++++++++++++++++-- 2 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 src/assets/images/defaults/category.png diff --git a/src/assets/images/defaults/category.png b/src/assets/images/defaults/category.png new file mode 100644 index 0000000000000000000000000000000000000000..ddecb4752e700e9dadf33113e27b034046d9cce9 GIT binary patch literal 32687 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[]); + const [loading, setLoading] = useState(true); + const [errorMessage, setErrorMessage] = useState(''); + const [showErrorAlert, setShowErrorAlert] = useState(false); + useEffect(() => { const fetchCategories = async () => { - const categories = await CategoryService.getCategories(1, 100); - if (categories.success) { - console.log(categories.data); + setLoading(true); + try { + const categories = await CategoryService.getCategories(1, 100); + if (categories.success) setCategories(categories.data.results); + } catch (error) { + console.log(error); + setErrorMessage('Ocurrio un error'); } + setLoading(false); }; fetchCategories(); }, []); + const renderItem: ListRenderItem = ({ item }) => ( + console.log('Category selected:', item)} + > + + {item.name} + + ); + + if (loading) { + return ( + + + + ); + } + return ( - Pantalla Categorías + + {showErrorAlert && ( + setShowErrorAlert(false)} + borderColor + /> + )} + + item.id.toString()} + numColumns={2} + contentContainerStyle={styles.listContainer} + showsVerticalScrollIndicator={true} + alwaysBounceVertical={true} + /> ); } const styles = StyleSheet.create({ container: { + backgroundColor: Colors.bgColor, + flex: 1, + }, + alertContainer: { + position: 'absolute', + width: 326, + left: '50%', + marginLeft: -162, + top: 20, + right: 0, + zIndex: 1000, + }, + listContainer: { + marginHorizontal: 10, + }, + gridItem: { + flex: 1, + margin: 10, + maxWidth: 150, + padding: 15, + borderRadius: 15, + backgroundColor: Colors.textWhite, + justifyContent: 'flex-end', + alignItems: 'center', + borderWidth: 1, + borderColor: Colors.gray_100, + }, + categoryText: { + marginTop: 10, + fontWeight: 'bold', + textAlign: 'center', + }, + center: { flex: 1, justifyContent: 'center', alignItems: 'center', From c9572e70c76644405b390fc487db47e97552b361 Mon Sep 17 00:00:00 2001 From: jsayago77 Date: Tue, 22 Apr 2025 21:33:23 -0400 Subject: [PATCH 3/3] Added title --- src/screens/tab/CategoriesScreen.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/screens/tab/CategoriesScreen.tsx b/src/screens/tab/CategoriesScreen.tsx index d688b2b..f446b72 100644 --- a/src/screens/tab/CategoriesScreen.tsx +++ b/src/screens/tab/CategoriesScreen.tsx @@ -9,7 +9,7 @@ import { ListRenderItem, } from 'react-native'; import PoppinsText from '../../components/PoppinsText'; -import { Colors } from '../../styles/theme'; +import { Colors, FontSizes } from '../../styles/theme'; import Alert from '../../components/Alerts'; import { CategoryService } from '../../services/category'; import { CategoryResponse } from '@pharmatech/sdk'; @@ -68,6 +68,9 @@ export default function CategoriesScreen() { /> )} + + Categorías +