Create a component based on the UI image I’ve provided. Please review the code in example.tsx as a reference for best practices before implementing the new component.
- Use PageContainer as page wrapper.
- Use useQuery to request data, and utilize a mock API with mock data, use placehold.co as mock network image.
- Implement pull-down-to-refresh and pull-up-to-load-more features. Pls use YPTActivityIndicator, FBNoMoreData components.
- Separate each row item into a single, reusable component.
- use VStack, HStack, Spacer for layout, do not use View.
- Leverage existing meta components BaseText,BaseImage,BaseButton,BaseIconButton from components/Base.
- Do not add custom style in BaseText, use type attribute only.
- Use the predefined constants (colors.ts, space.ts, size.ts).
- Set the page background color to colors.background.light and the row items’ background color to colors.background.grey.
- Keep all new code within the current file. Do not modify other files or change any existing code.
- Please ensure that all meta components used in the previous steps are sourced from the /component/ folder.
- Please ensure that all code is clean, well-structured, and maintainable.