Prechádzať zdrojové kódy

Add a new manual input "Station ID" Dialog at "QR Scan" menu
https://dev.wormwood.com.sg/zentao/task-view-918.html
Develop Delete Account Logic
https://dev.wormwood.com.sg/zentao/task-view-921.html

wudebin 3 mesiacov pred
rodič
commit
e73d5fb000

+ 9 - 2
Strides-SPAPP/app/pages/Router.js

@@ -125,8 +125,8 @@ export var PageList = {
     component: ChargeDetails
   },
   'chargeDetailPage': {
-    title: 'Charging Site',
-    titleScope: 'route.chargingSite',
+    //title: 'Charging Site',
+    //titleScope: 'route.chargingSite',
     component: ChargeAdapter
   },
   'chargingPage': {
@@ -541,6 +541,13 @@ const Router = () => {
         startPage(PageList.home);
       }
     }
+    global.goBack2 = () => {
+      if (navigation.current?.canGoBack()) {
+        navigation.current?.goBack();
+      } else {
+        startPage(PageList.home);
+      }
+    }
     return (() => {
       global.startPage = null;
       global.goBack = null;

+ 44 - 25
Strides-SPAPP/app/pages/chargeV2/ChargeAdapter.js

@@ -4,7 +4,7 @@
  */
 import React, { Component } from 'react';
 import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs';
-import { BackHandler, Pressable, StyleSheet } from 'react-native';
+import { View, BackHandler, Pressable, StyleSheet } from 'react-native';
 import TabInfos from './TabInfos';
 import TabCharge from './TabCharge';
 import Reserve from './TabReserve';
@@ -13,7 +13,7 @@ import QRResult from '../charge/QRResult';
 import apiStation from '../../api/apiStation';
 import PagerUtil from './PagerUtil';
 import utils from '../../utils/utils';
-import { Styles } from '../../components/Toolbar';
+import Toolbar, { Styles } from '../../components/Toolbar';
 import { getFocusedRouteNameFromRoute } from '@react-navigation/core';
 import app from '../../../app.json';
 import HeaderTitle from '../../components/HeaderTitle';
@@ -93,7 +93,7 @@ export default class ChargeAdapter extends Component {
         this.canShowLoginDialog();
       });
     }
-    //this.backHandler = BackHandler.addEventListener('hardwareBackPress', this.backPage)
+    this.backHandler = BackHandler.addEventListener('hardwareBackPress', this.backPage)
     PagerUtil.addOnRefresh(this);
     PagerUtil.setSelectedVoucher({});
     // setTimeout(() => {
@@ -129,7 +129,7 @@ export default class ChargeAdapter extends Component {
       if (params.from == PageList.home) {
         startPage(params.from);
       } else {
-        goBack();
+        goBack2();
       }
       return true;
     }
@@ -265,33 +265,52 @@ export default class ChargeAdapter extends Component {
   render() {
     const Tab = createMaterialTopTabNavigator();
     return (
-      <Tab.Navigator
-        style={styles.container}
-        screenOptions={{
-          lazy: false,
-          lazyPreloadDistance: 1,
-          ...this.tabBarStyle
-        }}
-        backBehavior={() => this.backPage()}
-        initialRouteName={PagerList.tabCharge}>
-        { this.pageAdapter.map((item, index) => 
-          <Tab.Screen
-            key={index}
-            name={item.name}
-            component={item.component}
-            options={{
-              title: item.title,
-              tabBarAllowFontScaling: false
-            }}
-          />
-        )}
-      </Tab.Navigator>
+      <View style={styles.container}>
+        <Toolbar
+          title={this.state.stationInfo?.name ?? "Charging Site"}
+          rightIcon={() => (
+            <Pressable
+              style={Styles.backIcon}
+              android_ripple={rippleLessIcon}
+              onPress={() => utils.directMaps(this.state.stationInfo.latitude, this.state.stationInfo.longitude, this.state.stationInfo.address)}>
+              <MaterialIcons
+                name='directions'
+                size={24}
+                color={pageTitleTint}
+                style={Styles.iconOpacity}
+              />
+            </Pressable>
+          )}
+        />
+        <Tab.Navigator
+          style={styles.container}
+          screenOptions={{
+            lazy: false,
+            lazyPreloadDistance: 1,
+            ...this.tabBarStyle
+          }}
+          backBehavior={() => this.backPage()}
+          initialRouteName={PagerList.tabCharge}>
+          { this.pageAdapter.map((item, index) => 
+            <Tab.Screen
+              key={index}
+              name={item.name}
+              component={item.component}
+              options={{
+                title: item.title,
+                tabBarAllowFontScaling: false
+              }}
+            />
+          )}
+        </Tab.Navigator>
+      </View>
     );
   }
 }
 
 const styles = StyleSheet.create({
   container: {
+    flex: 1,
     backgroundColor: colorLight
   },
   tabStyle: {

+ 1 - 1
Strides-SPAPP/app/pages/charging/StepStartView.js

@@ -18,7 +18,7 @@ export default StepStartView = ({
   onIntoCharging
 }) => (
   <View>
-    <View style={{minHeight: $vht(80)}}>
+    <View style={{minHeight: $vht(70)}}>
       <TextView style={styles.gstText}>{hideTaxRates ? $t('charging.tipsRatesTax2') : $t('charging.tipsRatesTax')}</TextView>
       <TextView style={styles.title}>{$t('charging.acChargers')} ({(stationInfo?.acConnector?.available ?? "0") + $t('charging.numberAvailable')})</TextView>
       { stationInfo.acRates?.length > 0