|
<%* |
|
const format = 'blub'; // default format |
|
// let metadataType = await tp.system.prompt('Enter the type of metadata (Priority, Repeat, Start, Scheduled, Due, Created, Completion)'); |
|
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 + ' '; |
|
-%> |