Преглед изворни кода

add app/pages/about/About.js

wudebin пре 6 месеци
родитељ
комит
8edde95981
2 измењених фајлова са 186 додато и 0 уклоњено
  1. 80 0
      Strides-SPAPP/app/pages/about/About.js
  2. 106 0
      Strides-SPAPP/app/pages/about/AboutV2.js

+ 80 - 0
Strides-SPAPP/app/pages/about/About.js

@@ -0,0 +1,80 @@
+/**
+ * 关于页面
+ * @邠心vbe on 2021/4/7
+ */
+import React from 'react';
+import { View, Text, Image, StyleSheet } from 'react-native';
+import app from '../../../app.json';
+import TextView from '../../components/TextView';
+import { PageList } from '../Router';
+
+const author = 2023;
+
+export default About = () => {
+  return (
+    <View style={styles.container}>
+      <Image
+        style={styles.logo}
+        resizeMode='contain'
+        source={require('../../images/about-logo.png')}/>
+      {/* <Text style={styles.appName}>{app.displayName}</Text> */}
+      <Text style={styles.versionName}>{app.versionName}</Text>
+      <Text style={ui.flex1}></Text>
+      <View style={ui.flexcc}>
+        <TextView style={styles.linkText} onPress={() => startPage(PageList.condition)}>{$t("drawer.termsOfUse")}</TextView>
+        <TextView style={styles.linkText} onPress={() => startPage(PageList.privacy)}>{$t("drawer.privacyPolicy")}</TextView>
+      </View>
+      {/*app.versionName + ' Build ' + app.versionCode + */}
+      <Text style={styles.copyright}>{'Copyright ' + getYearRange() + ' ' + app.company}</Text>
+    </View>
+  );
+}
+
+const getYearRange = () => {
+  const y = new Date().getFullYear();
+  var r = '©' + author;
+  if (y > author) {
+    r += '-' + y
+  }
+  return r;
+}
+
+const styles = StyleSheet.create({
+  container: {
+    flex: 1,
+    alignItems: 'center',
+    backgroundColor: colorLight
+  },
+  logo: {
+    width: 215,
+    height: 70,
+    marginTop: $vw(25),
+    marginBottom: 12
+  },
+  appName: {
+    color: '#000',
+    fontSize: 20,
+    paddingTop: 5,
+    textAlign: 'center'
+  },
+  versionName: {
+    color: '#999',
+    fontSize: 11,
+    paddingTop: 4,
+    textAlign: 'center',
+  },
+  copyright: {
+    color: '#aaa',
+    fontSize: 10,
+    lineHeight: 14,
+    marginBottom: 16,
+    textAlign: 'center'
+  },
+  linkText: {
+    ...ui.link,
+    fontSize: 11,
+    padding: 2,
+    marginLeft: 4,
+    marginRight: 4
+  }
+})

+ 106 - 0
Strides-SPAPP/app/pages/about/AboutV2.js

@@ -0,0 +1,106 @@
+/**
+ * 关于页面 - 外部链接
+ * @邠心vbe on 2021/4/7
+ */
+import React from 'react';
+import { View, Text, Image, StyleSheet, Linking } from 'react-native';
+import app from '../../../app.json';
+import TextView from '../../components/TextView';
+import { PageList } from '../Router';
+
+const author = 2023;
+
+const policyList = [{
+  name: "Terms of Use",
+  url: app.storeUrl.termsUseUrl
+}, {
+  name: "Privacy Policy",
+  url: app.storeUrl.privacyPolicyUrl
+}, {
+  name: "Refund Policy",
+  url: app.storeUrl.refundUrl
+}]
+
+export default About = () => {
+  return (
+    <View style={styles.container}>
+      <Image
+        style={styles.logo}
+        resizeMode='contain'
+        source={require('../../images/about-logo.png')}/>
+      {/* <Text style={styles.appName}>{app.displayName}</Text> */}
+      <Text style={styles.versionName}>{app.versionName}</Text>
+      <Text style={ui.flex1}></Text>
+      <View style={styles.linkView}>
+        { policyList.map((item, index) => 
+          (
+            <TextView
+              key={index}
+              style={styles.linkText}
+              onPress={() => Linking.openURL(item.url)}>
+              {item.name}
+            </TextView>
+          )
+        )}
+      </View>
+      {/*app.versionName + ' Build ' + app.versionCode + */}
+      <Text style={styles.copyright}>{'Copyright ' + getYearRange() + ' ' + app.company}</Text>
+    </View>
+  );
+}
+
+const getYearRange = () => {
+  const y = new Date().getFullYear();
+  var r = '©' + author;
+  if (y > author) {
+    r += '-' + y
+  }
+  return r;
+}
+
+const styles = StyleSheet.create({
+  container: {
+    flex: 1,
+    alignItems: 'center',
+    backgroundColor: colorLight
+  },
+  logo: {
+    width: 215,
+    height: 70,
+    marginTop: $vw(25),
+    marginBottom: 12
+  },
+  appName: {
+    color: '#000',
+    fontSize: 20,
+    paddingTop: 5,
+    textAlign: 'center'
+  },
+  versionName: {
+    color: '#999',
+    fontSize: 11,
+    paddingTop: 4,
+    textAlign: 'center',
+  },
+  copyright: {
+    color: '#aaa',
+    fontSize: 10,
+    lineHeight: 14,
+    marginBottom: 16,
+    textAlign: 'center'
+  },
+  linkView: {
+    width: $vw(90),
+    alignItems: 'center',
+    flexDirection: 'row',
+    justifyContent: 'space-around'
+  },
+  linkText: {
+    ...ui.link,
+    fontSize: 11,
+    padding: 2,
+    marginLeft: 4,
+    marginRight: 4
+  }
+})
+