<%* // billable: marks a note as relevant for billing, invoicing or non-billable review. const componentName = "billable"; const file = tp.file.find_tfile(tp.file.path(true)); setTimeout(async () => { await tp.app.fileManager.processFrontMatter(file, (frontmatter) => { const components = Array.isArray(frontmatter["components"]) ? frontmatter["components"] : []; if (!components.includes(componentName)) components.push(componentName); frontmatter["components"] = components; frontmatter["bill_status"] = frontmatter["bill_status"] ?? "unreviewed"; frontmatter["bill_minutes"] = frontmatter["bill_minutes"] ?? 0; frontmatter["bill_rate"] = frontmatter["bill_rate"] ?? 0; frontmatter["bill_amount"] = frontmatter["bill_amount"] ?? 0; frontmatter["bill_currency"] = frontmatter["bill_currency"] ?? "EUR"; frontmatter["bill_invoice"] = frontmatter["bill_invoice"] ?? ""; frontmatter["bill_note"] = frontmatter["bill_note"] ?? ""; }); }, 300) -%>