This commit is contained in:
Morten Olsen
2022-05-06 14:39:49 +02:00
parent d83a4aebc7
commit 7057e11e96
18 changed files with 257 additions and 51 deletions

View File

@@ -1,9 +1,8 @@
import { useLocations, useSetLocation } from "#/features/location";
import { useNavigation, useRoute } from '@react-navigation/native';
import { Button, TextInput } from "#/ui/components";
import { Popup, Button, TextInput } from "#/ui/components";
import { useCallback, useEffect, useMemo, useState } from "react";
import { nanoid } from 'nanoid';
import Popup from "#/ui/components/popup";
const LocationSetScreen: React.FC = () => {
const { params = {} } = useRoute() as any;

View File

@@ -8,19 +8,19 @@ import { useCommit, useDate } from "#/features/calendar";
import { format, formatDistance, formatDistanceToNow, set } from "date-fns";
import styled from "styled-components/native";
import { Status } from "#/features/planner/algorithm/build-graph";
import { useNavigation } from "@react-navigation/native";
const Wrapper = styled.ScrollView`
`;
const getStats = (status: Status) => {
console.log('status', status);
if (status.current === 'running') {
const runTime = formatDistanceToNow(status.start, { includeSeconds: true })
return `calulated ${status.nodes} nodes in ${runTime}`;
return `calulated ${status.nodes} nodes in ${runTime} using ${status.strategy}`;
}
const runTime = formatDistance(status.start, status.end, { includeSeconds: true })
return `calulated ${status.nodes} nodes in ${runTime}`;
return `calulated ${status.nodes} nodes in ${runTime} using ${status.strategy}`;
};
const PlanDayScreen: React.FC = () => {
@@ -28,10 +28,11 @@ const PlanDayScreen: React.FC = () => {
const [location] = useCurrentLocation();
const [startTime, setStartTime] = useState('06:00');
const [commit] = useCommit();
const { navigate } = useNavigation();
const current = useMemo(
() => location || {
id: 'unknown',
title: 'foo',
title: 'Unknown',
},
[location]
)
@@ -70,6 +71,9 @@ const PlanDayScreen: React.FC = () => {
<Button onPress={() => commit(options.result?.agenda || [])} icon="download" />
</Cell>
)}
<Cell>
<Button onPress={() => navigate('planSettings')} icon="settings" />
</Cell>
</>
)}
/>

View File

@@ -1,11 +1,10 @@
import { useLocations, useSetLocation } from "#/features/location";
import { useNavigation, useRoute } from '@react-navigation/native';
import { Button, Checkbok, TextInput } from "#/ui/components";
import { Popup, Button, Checkbok, TextInput } from "#/ui/components";
import { useCallback, useEffect, useMemo, useState } from "react";
import { nanoid } from 'nanoid';
import { useAgendaContext, useSetAgendaContext } from "#/features/agenda-context";
import { format } from "date-fns";
import Popup from "#/ui/components/popup";
const AgendaContextSetScreen: React.FC = () => {
const { params = {} } = useRoute() as any;

View File

@@ -0,0 +1,40 @@
import { Strategies, usePlanOptions, useSetPlanOptions } from "#/features/planner"
import { Selector } from "#/ui/components/form/selector";
import { Popup } from "#/ui/components";
import { useNavigation } from "@react-navigation/native";
const items = [{
display: 'First valid',
value: Strategies.firstValid,
}, {
display: 'First complete',
value: Strategies.firstComplet,
}, {
display: 'All valid',
value: Strategies.allValid,
}, {
display: 'All',
value: Strategies.all,
}];
const PlanSettingsScreen: React.FC = () => {
const options = usePlanOptions();
const setOptions = useSetPlanOptions();
const { goBack } = useNavigation();
return (
<Popup onClose={goBack}>
<Selector
label="Strategy"
items={items}
getId={i => i}
selected={options.strategy}
setSelected={(strategy) => {
setOptions({ strategy: strategy || Strategies.firstComplet });
}}
/>
</Popup>
);
}
export { PlanSettingsScreen };

View File

@@ -1,11 +1,10 @@
import { useNavigation, useRoute } from '@react-navigation/native';
import { Button, Checkbok, TextInput } from "#/ui/components";
import { Popup, Button, Checkbok, TextInput } from "#/ui/components";
import { useCallback, useEffect, useMemo, useState } from "react";
import { nanoid } from 'nanoid';
import { useRoutines, useSetRoutine } from '#/features/routines';
import { format } from 'date-fns';
import { useLocations } from '#/features/location';
import Popup from '#/ui/components/popup';
const RoutineSetScreen: React.FC = () => {
const { params = {} } = useRoute() as any;