63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
import { DailyPhase, TaskModel } from '@homeman/models.ts'
|
||
import { kv } from '@homeman/db.ts'
|
||
import { ulid } from 'https://deno.land/x/ulid@v0.3.0/mod.ts'
|
||
|
||
const hardcoded: Record<DailyPhase, [string, string][]> = {
|
||
'Morning': [
|
||
['🥣', 'Breakfast'],
|
||
['🪥', 'Brush teeth'],
|
||
['👕', 'Get dressed'],
|
||
['🙏', 'Ask and thank Jesus'],
|
||
['✝️', 'Bible story or devotional'],
|
||
['📚', 'School: with Mrs. Emily or Mama'],
|
||
['🎨', 'Create time: 🧶craft ✏️ draw 🧑🏼🎨 paint'],
|
||
['🏗️', ' Build time: 🧱legos 🚂train tracks 🏎magna tiles'],
|
||
['👯', 'Friend time: playdate or neighbor time'],
|
||
['🚗', 'Outing: 📚library 🌳park 🥑groceries ☕ coffee shop'],
|
||
],
|
||
'Midday': [
|
||
['🥓', 'Lunch'],
|
||
['🧹', 'Tidy time'],
|
||
['🤫', 'Quiet time'],
|
||
['🏃', 'BIG energy time: 🚲bike 🥁 drums 🤸 silly play'],
|
||
['👯', 'Friend time: playdate or neighbor time'],
|
||
['🚗', 'Outing: 📚library 🌳park 🥑groceries'],
|
||
],
|
||
'Evening': [
|
||
['🍽️', 'Dinner'],
|
||
['🚗', 'Outing'],
|
||
['👪', 'Family time: 🃏games 🕺dance party 🤸silly play 🏋️workout'],
|
||
],
|
||
'Bedtime': [
|
||
['🪥', 'Brush teeth'],
|
||
['🛁', 'Take bath'],
|
||
['👕', 'Put on pajamas'],
|
||
['🙏', 'Ask and thank Jesus'],
|
||
['✝️', 'Bible story or devotional'],
|
||
['📕', 'Read a story'],
|
||
['❤', 'Emotions check in: 😭 😡 😂 😟 😣 😀 ☹️ 😰 😁'],
|
||
],
|
||
'Night': [
|
||
['👨⚖️', 'Sleep!'],
|
||
],
|
||
}
|
||
console.log({ kv })
|
||
Object.entries(hardcoded).forEach(async ([tphase, phaseTasks]) => {
|
||
const phase = tphase as DailyPhase
|
||
for (const [emoji, description] of phaseTasks) {
|
||
const task = TaskModel.parse({
|
||
phase,
|
||
emoji,
|
||
description,
|
||
id: ulid(),
|
||
doneAt: null,
|
||
})
|
||
console.log(task)
|
||
try {
|
||
await kv.set(['task', task.id], task)
|
||
} catch (e) {
|
||
console.error('error creating:', e)
|
||
}
|
||
}
|
||
})
|