Design, Planning

Notion Formula: View Upcoming Deadlines With This Minimal Design

Screen+Shot+2021-01-11+at+11.06.41+AM.jpg

🖌 Deadline Design

To add a bit of flavor to your Notion workspace, I recommend focusing on important visual cues like the deadline indicator below. Inside a database with a deadline date property, the following is how to grab the deadline’s day of the week. This Notion formula uses the functions dateBetween, now(), day, concat, formatDate and slice.

What Does This Formula Do?

  • If deadline is within the next week, show day of the week it is due.

  • If not ... show blank space.

What You Need

  • A date property called “Deadline”

Start On Sunday

Screen Shot 2021-01-11 at 11.06.41 AM.png

Entire Formula

if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0, concat(slice("‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒", 0, 3 * day(prop("Deadline")) + 1), formatDate(prop("Deadline"), "ddd")) + "▶︎", "")

Breakdown

  • If deadline is within the next week …

    • if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0,

      • Show progress bar showing deadline’s day of the week …

        • concat(slice("‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒", 0, 3 * day(prop("Deadline")) + 1), formatDate(prop("Deadline"), "ddd")) + "▶︎",

  • Otherwise, show blank space …

    • "")

Start On Monday

Screen Shot 2021-01-11 at 12.28.42 PM.png

Entire Formula

if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0 and day(prop("Deadline")) == 0, "‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒Sun▶︎", if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0, concat(slice("‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒", 0, 3 * day(prop("Deadline")) - 2), formatDate(prop("Deadline"), "ddd")) + "▶︎", ""))

Breakdown

  • If deadline is within the next week and deadline is a Sunday …

    • if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0 and day(prop("Deadline")) == 0,

      • Show …

        • "‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒Sun▶︎"

  • If deadline is with the next week …

    • if(dateBetween(prop("Deadline"), now(), "days") + 1 < 7 and dateBetween(prop("Deadline"), now(), "days") + 1 > 0,

      • Show progress bar showing deadline’s day of the week …

        • concat(slice("‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒", 0, 3 * day(prop("Deadline")) - 2), formatDate(prop("Deadline"), "ddd")) + "▶︎",

  • Otherwise, show blank space …

    • ""))

Filter Recommendation

I suggest filtering a separate database view for upcoming deadlines → Day For Upcoming Tasks is not empty

  • Add new database view: locate “add a view” next to database title

  • Add a filter: locate “…” at the top right hand corner of database, then locate filter.

Screen Shot 2021-01-11 at 12.45.55 PM.png
 

Further Reading