@officialaccount/kits
v0.2.50
Published
OA Hub. Single card, List medium card, List half banner horizontal, Single Large
Maintainers
Readme
Official Account component hub
User can view the OA collection, PromoCom. The kind of OA Nearest, Similar, Suggestion
Implementation
Required package.json
"react": "17.0.1"
"react-native"
"@momo-kits/core"
"@momo-platform/api"
"@momo-platform/utils"
"@momo-kits/skeleton"
"@momo-kits/rating-star"
"@officialaccount/components": "latest"
Required webpack.config.js
include: [
// ...
/node_modules(.*[/\\])+@officialaccount[/\\]components/
]
IMPORT
import { OaHub, TypeDisplay, DisplaySize } from '@officialaccount/components';
enum TypeDisplay
{
DEFAULT: 'SUGGESTION',
SUGGESTION: 'SUGGESTION',
NEARBY: 'NEARBY',
NEARBY_OA: 'NEARBY_OA',
SIMILAR_TO_OA: 'SIMILAR_TO_OA',
REVIEW: 'REVIEW',
}
enum DisplaySize
{
DEFAULT: 'SLIDER_SMALL',
SINGLE_MEDIUM: 'SINGLE_MEDIUM',
SINGLE_LARGE: 'SINGLE_LARGE',
SLIDER_SMALL: 'SLIDER_SMALL',
LIST_MEDIUM: 'LIST_MEDIUM',
}Props
| Name | Type | Default | Description |
| ----------------------------- | ----------------------- | ------------------------ | ------------------------------------------ |
| params | Object | {} | |
| header | Object | {} | |
| type | String | DEFAULT | |
| size | String | LIST_MEDIUM | |
| styleSection | Object | '' | style content |
Params Props
| Name | Type | Required |
| ----------------------------- | -------------------------------------------------- | ------------------------------------------ |
| merchant_id | String | Required |
| store_id | String | |
| oa_id | Number | |
| oaIds | List<Number> | |
| storeCodes | List<String> | |
| latitude | Number | |
| longitude | Number | |
| track | Object | { source, service_name, screen_name } |
1 - Using size SLIDER_SMALL

TYPE = TypeDisplay.SIMILAR_TO_OA
SIZE = DisplaySize.SLIDER_SMALL
return (
<SafeAreaView>
<OaHub params={{
oa_id: oa_id,
store_id: store_id,
limit: 5,
track: { source, service_name, screen_name }
}} header={{
title: 'QUÁN TƯƠNG TỰ',
rightButton: {
buttonTitle: 'Xem thêm',
refId: 'oa_local_discovery'
},
isShowHeader: true, //default is true
}}
type={ TypeDisplay.SIMILAR_TO_OA }
size= { DisplaySize.SLIDER_SMALL }/>
</SafeAreaView>
)2 - Using size LIST_MEDIUM

TYPE = TypeDisplay.NEARBY
SIZE = DisplaySize.LIST_MEDIUM
LOCATION is optional
return (
<SafeAreaView>
<OaHub
type={ TypeDisplay.NEARBY }
size={ DisplaySize.LIST_MEDIUM }
params={{
merchant_id: merchant_id,
store_id: store_id,
oaIds: '1,2,3',
storeCodes: '1,2,3',
limit: 3,
latitude: 10.7741709,
longitude: 106.7014805,
distance: 20, //unit = km
locationRequired: true, //default is true - show popup location if need
track: { source, service_name, screen_name }
}}
header={{
title: 'Cửa hàng gần bạn',
isShowHeader: false, //default is true,
styleHeaderTitle: { fontWeight: 'bold', fontSize: 16 },
}}
styleSection={{
marginHorizontal: 0,
paddingHorizontal: 0
}}
/>
</SafeAreaView>
)3 - Using size SINGLE_MEDIUM

TYPE = TypeDisplay.DEFAULT
SIZE = DisplaySize.SINGLE_MEDIUM
LOCATION is optional
return (
<SafeAreaView>
<OaHub
type={ TypeDisplay.DEFAULT }
size={ DisplaySize.SINGLE_MEDIUM }
params={{
merchant_id: merchant_id, //required
store_id: store_id, //optional
oa_id: oa_id, //optional
oaIds: '1,2,3', //optional
storeCodes: '1,2,3', //optional
latitude: 10.7741709, //optional
longitude: 106.7014805, //optional
storeCodes: "store_id1, store_id2, store_id3" , //optional
track: { source, service_name, screen_name }
}}
header={{
title: '',
isShowHeader: true, //default is true,
styleHeaderTitle: {
fontSize: 15,
fontWeight: 'bold',
}
isShowArrow: true, //default is true,
enableViewAll: true, //default is true. Set false In case disable click on header title
}}
styleSection={{
marginHorizontal: 0,
paddingHorizontal: 0
}}
/>
</SafeAreaView>
)4-Manual redirect to OA Listing by merchantId, storeCode
import MaxApi from '@momo-platform/api';
const redirectToOAListing = () => {
MaxApi.startFeatureCode('oa_listing', {
type: TypeDisplay.DEFAULT, //required
size: DisplaySize.SINGLE_MEDIUM, //required
merchant_id: merchant_id, //required
storeCodes: "storeCode1, storeCode2, storeCode3" , //optional
latitude: 10.7741709, //optional
longitude: 106.7014805, //optional
});
};Container DEFAULT TYPE: NEARY_OA
