Fix ViewWeightGraph - 1.165 🚀

This commit is contained in:
Brandon Presley 2023-10-26 20:43:48 +13:00
parent 541e8741e8
commit 2428a51a02
6 changed files with 23 additions and 29 deletions

View File

@ -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 (
<LineChart

View File

@ -73,8 +73,6 @@ export default function ViewGraph() {
let periodFormat = "do";
if (period === Periods.Weekly) periodFormat = "iii";
else if (period === Periods.Yearly) periodFormat = "P";
let preserve = 3;
if (period === Periods.Yearly) preserve = 1;
if (metric === Metrics.Volume && Number(volumes?.length) > 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}
/>
);

View File

@ -39,21 +39,24 @@ export default function ViewWeightGraph() {
}, [period]);
const charts = useMemo(() => {
if (!weights) return;
if (weights?.length === 0) {
return <List.Item title="No data yet." />;
}
let periodFormat = "do";
if (period === Periods.Weekly) periodFormat = "iii";
else if (period === Periods.Yearly) periodFormat = "P";
return (
<Chart
yData={weights?.map((set) => 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 (
<>

View File

@ -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 {

View File

@ -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

View File

@ -1,6 +1,6 @@
{
"name": "massive",
"version": "1.164",
"version": "1.165",
"private": true,
"license": "GPL-3.0-only",
"scripts": {