<%* const format = 'emoji'; // default format const metadataTypes = ['priority', 'repeat', 'start', 'scheduled', 'due', 'created', 'completion']; const priorityTypes = ['highest', 'high', 'medium', 'low', 'due', 'lowest']; const metadataType = await tp.system.suggester(metadataTypes, metadataTypes, true, 'Select the type of metadata'); let metadata; switch (metadataType.toLowerCase()) { case 'priority': let priorityValue = await tp.system.suggester(priorityTypes, priorityTypes, true, 'Enter your priority'); switch (priorityValue) { case 'highest': metadata = format == 'emoji' ? '🔺' : '[priority:: highest]'; break; case 'high': metadata = format == 'emoji' ? '⏫' : '[priority:: high]'; break; case 'medium': metadata = format == 'emoji' ? '🔼' : '[priority:: medium]'; break; case 'low': metadata = format == 'emoji' ? '🔽' : '[priority:: low]'; break; case 'lowest': metadata = format == 'emoji' ? '⏬' : '[priority:: lowest]'; break; default: metadata = 'Invalid input'; } break; case 'repeat': let repeatValue = await tp.system.prompt('Enter your repeat frequency'); metadata = format == 'emoji' ? `🔁 ${repeatValue}` : `[repeat:: ${repeatValue}]`; break; case 'start': case 'scheduled': case 'due': case 'created': case 'completion': // let dateValue = await tp.system.prompt(`Enter your date for ${metadataType}`); let dateValue = await tp.system.prompt(`Enter your date for ${metadataType}. You can also write 'today', 'tomorrow' or 'in n days'. Leave empty for today`); if (dateValue === '') { dateValue = tp.date.now('YYYY-MM-DD'); // use today's date if input is empty } else if (dateValue.toLowerCase() === 'today') { dateValue = tp.date.now('YYYY-MM-DD'); // use today's date if input is "today" } else if (dateValue.toLowerCase() === 'tomorrow') { dateValue = tp.date.now('YYYY-MM-DD', 1); // use tomorrow's date if input is "tomorrow" } else if (dateValue.toLowerCase().startsWith('in ') && dateValue.toLowerCase().endsWith(' days')) { let days = Number(dateValue.split(' ')[1]); if (!isNaN(days)) { dateValue = tp.date.now('YYYY-MM-DD', days); // use the date in X days if input is "in X days" } } if (format == 'emoji') { switch (metadataType.toLowerCase()) { case 'start': metadata = `🛫 ${dateValue}`; break; case 'scheduled': metadata = `⏳ ${dateValue}`; break; case 'due': metadata = `📅 ${dateValue}`; break; case 'created': metadata = `➕ ${dateValue}`; break; case 'completion': metadata = `✅ ${dateValue}`; break; } } else { metadata = `[${metadataType}:: ${dateValue}]`; } break; default: metadata = 'Invalid input'; } tR += metadata + ' '; -%>