mirror of
https://github.com/morten-olsen/bob-the-algorithm.git
synced 2026-02-08 00:46:25 +01:00
update
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
</>
|
||||
)}
|
||||
/>
|
||||
|
||||
@@ -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;
|
||||
|
||||
40
src/ui/screens/plan/settings.tsx
Normal file
40
src/ui/screens/plan/settings.tsx
Normal 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 };
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user