import React, { useState } from 'react'; import { Box, Button, Input, SimpleGrid, Table, TableContainer, Tbody, Td, Th, Thead, Tr, } from '@chakra-ui/react'; import { insertRecord, parseRecords, stopCurrentRecord } from '../note'; import { Duration, Instant, OffsetDateTime, ZoneId } from '@js-joda/core'; import formatSeconds from '../formatSeconds'; import { parseProjects } from '../project'; import { useInterval } from 'usehooks-ts'; export enum HtmlElementId { snComponent = 'sn-component', textarea = 'textarea', } interface Props { note: string; saveNote: (newNote: string) => void; setPreview: (newPreview: string) => void; } export default function Editor({ note, saveNote, setPreview }: Props) { const [nextProject, setNextProject] = useState(''); let [completedRecords, activeRecord] = parseRecords(note); let projects = parseProjects(completedRecords); let sumAllProjects = projects.reduce( (sum, project) => sum.plus(project.totalTime), Duration.ZERO ); setPreview(`Total: ${formatSeconds(sumAllProjects.toMillis() / 1000)}`); return (
| Project | Duration | Action |
|---|---|---|
| {activeRecord.project} |
|
|
| {project.name} |
|