import React from "react"; function ProgressBar(props: { done: number, total: number, units: string, color: string, }) { const { done, total, units, color } = props const width = Math.floor(done / total * 100) const rest = 100 - width let [fg, bg] = [`bg-${color}-600`, `bg-${color}-100`] if (color === 'white') { [fg, bg] = ['bg-gray-600', 'bg-gray-100'] } return (

{done} of {total} {units}

) } function Goal(props: { subject: string, goal: string, done: number, total: number, units: string, color: string, }) { const { subject, goal, done, total, units, color } = props const width = "6em" const Tr = (props: { label: string, value: string, valueComponent?: React.ReactElement, }) => ( {props.label} {props.valueComponent ? props.valueComponent : props.value} ) return ( }/>
) } function Copy(props: { children: React.ReactNode }) { return (

{props.children}

) } function App() { return (

Goals

For me, a goal is something that is difficult for me to complete but easy for me to measure. I tend to add new goals as time progresses, mistakenly assuming that I can support additional goals for free. To counterbalance my tendancy to casually accumulate goals, I aim to only have three goals; I will not add a new goal until I complete an existing goal. I created and published this page to clarify that idea. Here are my current goals and the progress I have made towards achieving them.
) } export default App;