1.0.2 • Published 11 months ago

react-native-btaskee-mini-app v1.0.2

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
11 months ago

react-native-btaskee-mini-app

PRs Welcome License MIT

Setup

npm install --save react-native-btaskee-mini-app

--- or ---

yarn add react-native-btaskee-mini-app

Don't forget to run pod install after that !

Require: Please setup

Example usage

import { NavigationContainer, useNavigation } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import React from 'react';
import { Text, TouchableOpacity, View } from 'react-native';
import BtaskeeMiniApp, { BTASKEE_HOME_TYPE, BTASKEE_ENV } from 'react-native-btaskee-mini-app';

const Stack = createStackNavigator();
const HomeScreen = () => {
  const navigation = useNavigation();
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <TouchableOpacity
        style={{ borderWidth: 1, backgroundColor: 'orange', padding: 10 }}
        onPress={() => {
          navigation.navigate('BTaskeeScreen');
        }}
      >
        <Text>bTaskee</Text>
      </TouchableOpacity>
    </View>
  );
};

const BtaskeeScreen = () => {
  return (
     <BtaskeeMiniApp
      userInfo={{
        name: 'test',
        phone: '0834567133',
        email: 'test@gmail.com',
        address:{
          homeType: BTASKEE_HOME_TYPE.APARTMENT,
          fullAddress:'bTaskee Thailand, Phaya Thai Road, Thung Phaya Thai, Ratchathewi, Bangkok, Thailand',
          shortAddress:'Phaya Thai Road Khwaeng Thung Phaya Thai',
          description: 'Floor 1, room 105, block A',
          lat: 13.753812456259901,
          lng: 100.5316611541049,
          city: 'Bangkok',
          district: 'Ratchathewi',
        }
      }}
      config={{
        env: BTASKEE_ENV.DEV,
        locale: 'en',
        partnerCode: 'TEST',
        apiKey: '',
        apiKeyGoogleMap: ''
      }}
    />
  );
};

const App = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="HomeScreen"  component={HomeScreen} />
        <Stack.Screen
          options={{headerShown: false}}
          name="BTaskeeScreen"
          component={BtaskeeScreen}
        />
      </Stack.Navigator>
    </NavigationContainer>
  );
};

export default App;

Run Example

cd example
yarn
cd ios && pod install && cd ..
yarn ios

Preview

Cleaning serviceAir-conditioner service
Cleaning serviceAir-conditioner service

Props:

userInfo: object
namestringrequire
phonestringrequire
emailstringoptionalWe need the user's email to send their booking status notification via
addressobjectoptionalhomeType used to determine the type of house. Can be BTASKEE_HOME_TYPE.APARTMENT for apartment,BTASKEE_HOME_TYPE.HOME for normal house or TASKEE_HOME_TYPE.VILLA for villafullAddress full address shortAddress short address description used to describe the exact location lat latitudelng longitudecity ex: "Bangkok" or "Krung Thep Maha Nakhon" or "Krung Thep" or "กรุงเทพมหานคร"district ex: "Ratchathewi" or "เขตราชเทวี" or "ราชเทวี"
config: object
envBTASKEE_ENVrequireBTASKEE_ENV.DEV for development or BTASKEE_ENV.PRODUCTION for production
localestringrequireUsed to display mini app language. Can be vi for Vietnamese, en for English, th for Thai
partnerCodestringrequireContact bTaskee for information
apiKeystringrequireContact bTaskee for information
apiKeyGoogleMapstringoptionalUsed to get the location from Google Map

NOTE: We need the user's address to determine the appointment location, so you need to pass either userInfo.address or config.apiKeyGoogleMap or both.

License

MIT