diff --git a/Chart.tsx b/Chart.tsx index 5886b8f..bb1b8d7 100644 --- a/Chart.tsx +++ b/Chart.tsx @@ -2,17 +2,14 @@ import { useMemo } from "react"; import { useWindowDimensions } from "react-native"; import { LineChart } from "react-native-chart-kit"; import { AbstractChartConfig } from "react-native-chart-kit/dist/AbstractChart"; -import { PADDING } from "./constants"; -import useDark from "./use-dark"; import { useTheme } from "react-native-paper"; interface ChartProps { labels: string[]; data: number[]; - preserve?: number; } -export default function Chart({ labels, data, preserve = 3 }: ChartProps) { +export default function Chart({ labels, data }: ChartProps) { const { width } = useWindowDimensions(); const { colors } = useTheme(); @@ -23,19 +20,16 @@ export default function Chart({ labels, data, preserve = 3 }: ChartProps) { }; const pruned = useMemo(() => { - const newPruned = [...labels]; - if (labels.length <= preserve + 2) return labels; - - let interval = Math.floor((labels.length - 2) / (preserve + 1)); + if (labels.length < 3) return labels; + const newPruned = [labels[0]]; + const centerIndex = Math.floor(labels.length / 2); for (let i = 1; i < labels.length - 1; i++) { - if ((i - 1) % interval !== 0 || i === 1) { - newPruned[i] = ""; - } + if (i === centerIndex) newPruned[i] = labels[i]; + else newPruned[i] = ""; } + newPruned.push(labels[labels.length - 1]); return newPruned; - }, [labels, preserve]); - - console.log({ labels, data, pruned, preserve }); + }, [labels]); return ( 0) return ( @@ -83,7 +81,6 @@ export default function ViewGraph() { labels={volumes.map((volume) => format(new Date(volume.created), periodFormat) )} - preserve={preserve} /> ); if ( @@ -96,7 +93,6 @@ export default function ViewGraph() { labels={weights.map((set) => format(new Date(set.created), periodFormat) )} - preserve={preserve} /> ); diff --git a/ViewWeightGraph.tsx b/ViewWeightGraph.tsx index 64086c0..73c99bb 100644 --- a/ViewWeightGraph.tsx +++ b/ViewWeightGraph.tsx @@ -39,21 +39,24 @@ export default function ViewWeightGraph() { }, [period]); const charts = useMemo(() => { + if (!weights) return; if (weights?.length === 0) { return ; } + let periodFormat = "do"; + if (period === Periods.Weekly) periodFormat = "iii"; + else if (period === Periods.Yearly) periodFormat = "P"; + return ( set.value) || []} - yFormat={(value) => `${value}${weights?.[0].unit}`} - xData={weights || []} - xFormat={(_value, index) => - format(new Date(weights?.[index].created), "d/M") - } + data={weights.map((set) => set.value)} + labels={weights.map((weight) => + format(new Date(weight.created), periodFormat) + )} /> ); - }, [weights]); + }, [weights, period]); return ( <> diff --git a/android/app/build.gradle b/android/app/build.gradle index cdb5d2f..840dd4f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -85,8 +85,8 @@ android { applicationId "com.massive" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 36190 - versionName "1.164" + versionCode 36191 + versionName "1.165" } signingConfigs { release { diff --git a/deploy.sh b/deploy.sh index 66fd1d0..e5facc8 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,6 +2,8 @@ set -ex +npx tsc + cd android || exit 1 build=app/build.gradle @@ -24,7 +26,6 @@ sed -i "s/\(^\s*\)versionName \"[0-9]*.[0-9]*\"$/\1versionName \"$major.$minor\" sed -i "s/\"version\": \"[0-9]*.[0-9]*\"/\"version\": \"$major.$minor\"/" ../package.json if [ "$1" != "-n" ]; then - npx tsc ./gradlew bundleRelease bundle install bundle exec fastlane supply --aab app/build/outputs/bundle/release/app-release.aab diff --git a/package.json b/package.json index 4ddbac2..41af103 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "massive", - "version": "1.164", + "version": "1.165", "private": true, "license": "GPL-3.0-only", "scripts": {