diff --git a/SettingsPage.tsx b/SettingsPage.tsx index 9574f29..c64db9b 100644 --- a/SettingsPage.tsx +++ b/SettingsPage.tsx @@ -94,6 +94,7 @@ export default function SettingsPage() { const values = file .split('\n') .slice(1) + .filter(line => line) .map(set => { const cells = set.split(','); return `('${cells[1]}',${cells[2]},${cells[3]},'${cells[4]}','${cells[5]}')`; diff --git a/ViewBest.tsx b/ViewBest.tsx index f8eecef..abeb54d 100644 --- a/ViewBest.tsx +++ b/ViewBest.tsx @@ -22,6 +22,7 @@ export default function ViewBest() { useFocusEffect( useCallback(() => { + console.log(`${ViewBest.name}.useFocusEffect`); navigation.getParent()?.setOptions({ headerLeft: () => ( navigation.goBack()} /> @@ -32,6 +33,7 @@ export default function ViewBest() { ); useEffect(() => { + console.log(`${ViewBest.name}.useEffect`); const selectBest = ` SELECT max(weight) AS weight, STRFTIME('%Y-%m-%d', created) as created, unit FROM sets @@ -50,6 +52,7 @@ export default function ViewBest() { const axesSvg = {fontSize: 10, fill: 'grey'}; const verticalContentInset = {top: 10, bottom: 10}; const xAxisHeight = 30; + return ( Best weight per day diff --git a/android/app/build.gradle b/android/app/build.gradle index a401803..9e26913 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -110,6 +110,14 @@ android { } } signingConfigs { + release { + if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { + storeFile file(MYAPP_UPLOAD_STORE_FILE) + storePassword MYAPP_UPLOAD_STORE_PASSWORD + keyAlias MYAPP_UPLOAD_KEY_ALIAS + keyPassword MYAPP_UPLOAD_KEY_PASSWORD + } + } debug { storeFile file('debug.keystore') storePassword 'android' @@ -122,7 +130,7 @@ android { signingConfig signingConfigs.debug } release { - signingConfig signingConfigs.debug + signingConfig signingConfigs.release minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } @@ -200,4 +208,4 @@ apply from: file("../../node_modules/@react-native-community/cli-platform-androi def isNewArchitectureEnabled() { return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" -} \ No newline at end of file +} diff --git a/package.json b/package.json index d73f53b..124706b 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "massive", "version": "0.0.1", "private": true, + "license": "GPL-3.0-only", "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", @@ -18,15 +19,14 @@ "@react-navigation/native": "^6.0.10", "@react-navigation/stack": "^6.2.2", "@types/d3-shape": "^3.1.0", - "@types/react-native-base64": "^0.2.0", "@types/react-native-sqlite-storage": "^5.0.2", "@types/react-native-svg-charts": "^5.0.12", "@types/react-native-vector-icons": "^6.4.11", + "@welldone-software/why-did-you-render": "^7.0.1", "babel-plugin-transform-remove-console": "^6.9.4", "react": "18.0.0", "react-devtools": "^4.24.7", "react-native": "0.69.1", - "react-native-base64": "^0.2.1", "react-native-document-picker": "^8.1.1", "react-native-file-access": "^2.4.3", "react-native-gesture-handler": "^2.5.0", diff --git a/yarn.lock b/yarn.lock index 3ca7353..10d6850 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1877,11 +1877,6 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/react-native-base64@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@types/react-native-base64/-/react-native-base64-0.2.0.tgz#c934e7c3cd549d4613bbfa7929a6845ab07a20af" - integrity sha512-5kUtS7Kf8Xl4zEwbqLITEuQReQTby4UOGfnsEeBFJEVmUfT+ygOv/Qmv0v6El0iV1eDhXS+/0i7CGR9d3/nRSA== - "@types/react-native-sqlite-storage@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@types/react-native-sqlite-storage/-/react-native-sqlite-storage-5.0.2.tgz#eefcc9ea6ff73043bb2945023fa8ee721683b61b" @@ -2098,6 +2093,13 @@ "@typescript-eslint/types" "5.30.0" eslint-visitor-keys "^3.3.0" +"@welldone-software/why-did-you-render@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@welldone-software/why-did-you-render/-/why-did-you-render-7.0.1.tgz#09f487d84844bd8e66435843c2e0305702e61efb" + integrity sha512-Qe/8Xxa2G+LMdI6VoazescPzjjkHYduCDa8aHOJR50e9Bgs8ihkfMBY+ev7B4oc3N59Zm547Sgjf8h5y0FOyoA== + dependencies: + lodash "^4" + abab@^2.0.3, abab@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" @@ -5680,7 +5682,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6861,11 +6863,6 @@ react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-native-base64@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/react-native-base64/-/react-native-base64-0.2.1.tgz#3d0e73a649c4c0129f7b7695d3912456aebae847" - integrity sha512-eHgt/MA8y5ZF0aHfZ1aTPcIkDWxza9AaEk4GcpIX+ZYfZ04RcaNahO+527KR7J44/mD3efYfM23O2C1N44ByWA== - react-native-codegen@^0.69.1: version "0.69.1" resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.69.1.tgz#3632be2f24464e6fad8dd11a25d1b6f3bc2c7d0b"