Fix ViewWeightGraph - 1.165 🚀
This commit is contained in:
parent
541e8741e8
commit
2428a51a02
22
Chart.tsx
22
Chart.tsx
|
@ -2,17 +2,14 @@ import { useMemo } from "react";
|
||||||
import { useWindowDimensions } from "react-native";
|
import { useWindowDimensions } from "react-native";
|
||||||
import { LineChart } from "react-native-chart-kit";
|
import { LineChart } from "react-native-chart-kit";
|
||||||
import { AbstractChartConfig } from "react-native-chart-kit/dist/AbstractChart";
|
import { AbstractChartConfig } from "react-native-chart-kit/dist/AbstractChart";
|
||||||
import { PADDING } from "./constants";
|
|
||||||
import useDark from "./use-dark";
|
|
||||||
import { useTheme } from "react-native-paper";
|
import { useTheme } from "react-native-paper";
|
||||||
|
|
||||||
interface ChartProps {
|
interface ChartProps {
|
||||||
labels: string[];
|
labels: string[];
|
||||||
data: number[];
|
data: number[];
|
||||||
preserve?: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Chart({ labels, data, preserve = 3 }: ChartProps) {
|
export default function Chart({ labels, data }: ChartProps) {
|
||||||
const { width } = useWindowDimensions();
|
const { width } = useWindowDimensions();
|
||||||
const { colors } = useTheme();
|
const { colors } = useTheme();
|
||||||
|
|
||||||
|
@ -23,19 +20,16 @@ export default function Chart({ labels, data, preserve = 3 }: ChartProps) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const pruned = useMemo(() => {
|
const pruned = useMemo(() => {
|
||||||
const newPruned = [...labels];
|
if (labels.length < 3) return labels;
|
||||||
if (labels.length <= preserve + 2) return labels;
|
const newPruned = [labels[0]];
|
||||||
|
const centerIndex = Math.floor(labels.length / 2);
|
||||||
let interval = Math.floor((labels.length - 2) / (preserve + 1));
|
|
||||||
for (let i = 1; i < labels.length - 1; i++) {
|
for (let i = 1; i < labels.length - 1; i++) {
|
||||||
if ((i - 1) % interval !== 0 || i === 1) {
|
if (i === centerIndex) newPruned[i] = labels[i];
|
||||||
newPruned[i] = "";
|
else newPruned[i] = "";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
newPruned.push(labels[labels.length - 1]);
|
||||||
return newPruned;
|
return newPruned;
|
||||||
}, [labels, preserve]);
|
}, [labels]);
|
||||||
|
|
||||||
console.log({ labels, data, pruned, preserve });
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<LineChart
|
<LineChart
|
||||||
|
|
|
@ -73,8 +73,6 @@ export default function ViewGraph() {
|
||||||
let periodFormat = "do";
|
let periodFormat = "do";
|
||||||
if (period === Periods.Weekly) periodFormat = "iii";
|
if (period === Periods.Weekly) periodFormat = "iii";
|
||||||
else if (period === Periods.Yearly) periodFormat = "P";
|
else if (period === Periods.Yearly) periodFormat = "P";
|
||||||
let preserve = 3;
|
|
||||||
if (period === Periods.Yearly) preserve = 1;
|
|
||||||
|
|
||||||
if (metric === Metrics.Volume && Number(volumes?.length) > 0)
|
if (metric === Metrics.Volume && Number(volumes?.length) > 0)
|
||||||
return (
|
return (
|
||||||
|
@ -83,7 +81,6 @@ export default function ViewGraph() {
|
||||||
labels={volumes.map((volume) =>
|
labels={volumes.map((volume) =>
|
||||||
format(new Date(volume.created), periodFormat)
|
format(new Date(volume.created), periodFormat)
|
||||||
)}
|
)}
|
||||||
preserve={preserve}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
if (
|
if (
|
||||||
|
@ -96,7 +93,6 @@ export default function ViewGraph() {
|
||||||
labels={weights.map((set) =>
|
labels={weights.map((set) =>
|
||||||
format(new Date(set.created), periodFormat)
|
format(new Date(set.created), periodFormat)
|
||||||
)}
|
)}
|
||||||
preserve={preserve}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -39,21 +39,24 @@ export default function ViewWeightGraph() {
|
||||||
}, [period]);
|
}, [period]);
|
||||||
|
|
||||||
const charts = useMemo(() => {
|
const charts = useMemo(() => {
|
||||||
|
if (!weights) return;
|
||||||
if (weights?.length === 0) {
|
if (weights?.length === 0) {
|
||||||
return <List.Item title="No data yet." />;
|
return <List.Item title="No data yet." />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let periodFormat = "do";
|
||||||
|
if (period === Periods.Weekly) periodFormat = "iii";
|
||||||
|
else if (period === Periods.Yearly) periodFormat = "P";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Chart
|
<Chart
|
||||||
yData={weights?.map((set) => set.value) || []}
|
data={weights.map((set) => set.value)}
|
||||||
yFormat={(value) => `${value}${weights?.[0].unit}`}
|
labels={weights.map((weight) =>
|
||||||
xData={weights || []}
|
format(new Date(weight.created), periodFormat)
|
||||||
xFormat={(_value, index) =>
|
)}
|
||||||
format(new Date(weights?.[index].created), "d/M")
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}, [weights]);
|
}, [weights, period]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -85,8 +85,8 @@ android {
|
||||||
applicationId "com.massive"
|
applicationId "com.massive"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 36190
|
versionCode 36191
|
||||||
versionName "1.164"
|
versionName "1.165"
|
||||||
}
|
}
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
release {
|
release {
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
npx tsc
|
||||||
|
|
||||||
cd android || exit 1
|
cd android || exit 1
|
||||||
|
|
||||||
build=app/build.gradle
|
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
|
sed -i "s/\"version\": \"[0-9]*.[0-9]*\"/\"version\": \"$major.$minor\"/" ../package.json
|
||||||
|
|
||||||
if [ "$1" != "-n" ]; then
|
if [ "$1" != "-n" ]; then
|
||||||
npx tsc
|
|
||||||
./gradlew bundleRelease
|
./gradlew bundleRelease
|
||||||
bundle install
|
bundle install
|
||||||
bundle exec fastlane supply --aab app/build/outputs/bundle/release/app-release.aab
|
bundle exec fastlane supply --aab app/build/outputs/bundle/release/app-release.aab
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "massive",
|
"name": "massive",
|
||||||
"version": "1.164",
|
"version": "1.165",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user