πŸ“‹

Advanced Notion Trick: Double Progress Bar

Created
Feb 1, 2021 11:12 PM
↙️
Hi, Hello! My name is Sarah - the writer behind redgregory.com.
notion image
πŸ„
Yes the Notion progress bar is a great addition to a workspace, but what about the double progress bar?

What Exactly Is Going On Here?

  • Let's say you have a database with a deadline and project progress variables (ie. total pages/pages read for book progress).
  • The double progress bar will act as a visual cue for the user to determine where the project's progress lies parallel to the distance to the deadline.

The Two Progress Bars:

What You'll Need For This Example

  • 2 number properties to find book reading progress named "Total Pages" and "Page on"
  • A date range property named "Start β†’ Stop Reading"

The Scenario

πŸ—£
THE SCENARIO: Imagine you are an English major (like I was) and you want to find the relation between book reading progress and the deadline you've set for yourself to finish said book (ie. in 2 weeks) THE GOAL: Simply, make sure the green book leads the red circle!
Double Progress Bar
Name
Total Pages
Page On
Start β†’ Stop Reading
Progress Bar
450
250
Jan 29, 2021 β†’ Feb 8, 2021
120
100
Jan 28, 2021 β†’ Feb 4, 2021
346
141
Jan 17, 2021 β†’ Feb 3, 2021

Final Formula

"Progress: " + format(slice("β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’", 0, floor(20 * prop("Page On") / prop("Total Pages"))) + "πŸ“—" + slice("β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’", 0, 20 - floor(20 * prop("Page On") / prop("Total Pages"))) + " " + format(floor(100 * prop("Page On") / prop("Total Pages"))) + "%") + "\nDeadline: " + format(if(dateBetween(start(prop("Start β†’ Stop Reading")), now(), "days") > 0, "β­•β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’ 0%", if(dateBetween(end(prop("Start β†’ Stop Reading")), now(), "days") > -1, slice("β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’", 0, floor(20 * dateBetween(now(), start(prop("Start β†’ Stop Reading")), "days") / dateBetween(end(prop("Start β†’ Stop Reading")), start(prop("Start β†’ Stop Reading")), "days"))) + "β­•" + slice("β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’", 0, 20 - floor(20 * dateBetween(now(), start(prop("Start β†’ Stop Reading")), "days") / dateBetween(end(prop("Start β†’ Stop Reading")), start(prop("Start β†’ Stop Reading")), "days"))) + " " + format(floor(100 * dateBetween(now(), start(prop("Start β†’ Stop Reading")), "days") / dateBetween(end(prop("Start β†’ Stop Reading")), start(prop("Start β†’ Stop Reading")), "days"))) + "%", "β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β€’β­• 100%")))

πŸ”₯
More about how to make the slider progress bar
⌨️
Slider Progress Bar Use-Cases

Extra: How To Enter A New Line In A Formula

  • Insert (+ "\n") for new line

My Mood

Highest Performing Tweet

Content Published This Week

Video preview