added progress bar for competencies

This commit is contained in:
2026-01-10 20:57:54 +00:00
parent 755d6705fa
commit 903eb88fdc
7 changed files with 92 additions and 43 deletions

View File

@@ -81,6 +81,22 @@ function countByState(items) {
}, {}); }, {});
} }
async function updateProgress(items) {
const total = items.length;
const completed = items.filter(i => i.state === "completed").length;
const percent = total === 0 ? 0 : Math.round((completed / total) * 100);
console.log(`Progress: ${percent}% (${completed}/${total})`);
const fill = document.getElementById("progress-fill");
const label = document.getElementById("progress-label");
if (fill) fill.style.width = `${percent}%`;
if (label) label.textContent = `${percent}% completed`;
}
function createCard(item) { function createCard(item) {
const card = document.createElement("div"); const card = document.createElement("div");
card.className = "kanban-card"; card.className = "kanban-card";
@@ -158,8 +174,9 @@ function renderBoard(items) {
async function loadBoard() { async function loadBoard() {
const res = await fetch("/api/competencies/items"); const res = await fetch("/api/competencies/items");
const items = await res.json(); const items = await res.json();
updateProgress(items);
renderBoard(items); renderBoard(items);
populateMobileControls(items); populateMobileControls(items);
} }
loadBoard(); loadBoard();

View File

@@ -181,3 +181,28 @@
cursor: default; cursor: default;
background-image: none; background-image: none;
} }
#progress-wrapper {
margin-bottom: 16px;
}
#progress-label {
font-size: 14px;
margin-bottom: 6px;
text-align: right;
color: #555;
}
#progress-bar {
width: 100%;
height: 10px;
background: #e5e7eb;
border-radius: 999px;
overflow: hidden;
}
#progress-fill {
height: 100%;
width: 0%;
background: #22c55e;
transition: width 0.3s ease;
}

View File

@@ -4,8 +4,8 @@
See the categories: @@html:<a href="../categories.html">Categories</a>@@ See the categories: @@html:<a href="../categories.html">Categories</a>@@
* Blogs: * Blogs:
- [[file:2026/2026-list.org][2026 List]] @@html:<span class="post-date">06-01-2026 16:08</span>@@ - [[file:2026/2026-list.org][2026 List]] @@html:<span class="post-date">10-01-2026 20:49</span>@@
- [[file:2025/2025-list.org][2025 List]] @@html:<span class="post-date">06-01-2026 16:08</span>@@ - [[file:2025/2025-list.org][2025 List]] @@html:<span class="post-date">10-01-2026 20:49</span>@@
- [[file:2026/01-january/04-01-week-review.org][[04-01-2026] - Weekly Review]] @@html:<span class="post-date">04-01-2026 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@ - [[file:2026/01-january/04-01-week-review.org][[04-01-2026] - Weekly Review]] @@html:<span class="post-date">04-01-2026 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@
- [[file:2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">28-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@ - [[file:2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">28-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@
- [[file:2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">21-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@ - [[file:2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">21-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@

View File

@@ -8,6 +8,13 @@
This page shows the status of the competencies I am working on (*grad*) This page shows the status of the competencies I am working on (*grad*)
#+BEGIN_EXPORT html #+BEGIN_EXPORT html
<div id="progress-wrapper">
<div id="progress-label">0% completed</div>
<div id="progress-bar">
<div id="progress-fill"></div>
</div>
</div>
<div id="kanban-board"> <div id="kanban-board">
<p>Loading status…</p> <p>Loading status…</p>
</div> </div>

View File

@@ -4,7 +4,7 @@
See the categories: @@html:<a href="../categories.html">Categories</a>@@ See the categories: @@html:<a href="../categories.html">Categories</a>@@
* Posts: * Posts:
- [[file:career/career-list.org][Career List]] @@html:<span class="post-date">06-01-2026 16:08</span>@@ - [[file:career/career-list.org][Career List]] @@html:<span class="post-date">10-01-2026 20:49</span>@@
- [[file:career/probation-objectives.org][Probation Objectives:]] @@html:<span class="post-date">08-12-2025 17:55</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@ - [[file:career/probation-objectives.org][Probation Objectives:]] @@html:<span class="post-date">08-12-2025 17:55</span>@@ @@html:<a href="/tags/review.html"> <span class="post-tag">review</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@
- [[file:career/airflow.org][Datamarts, Airflow and DAG's]] @@html:<span class="post-date">15-11-2025 18:37</span>@@ @@html:<a href="/tags/learning.html"> <span class="post-tag">learning</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@ - [[file:career/airflow.org][Datamarts, Airflow and DAG's]] @@html:<span class="post-date">15-11-2025 18:37</span>@@ @@html:<a href="/tags/learning.html"> <span class="post-tag">learning</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@
- [[file:career/normalisation.org][Benefits of Normalisation]] @@html:<span class="post-date">10-11-2025 18:04</span>@@ @@html:<a href="/tags/learning.html"> <span class="post-tag">learning</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@ - [[file:career/normalisation.org][Benefits of Normalisation]] @@html:<span class="post-date">10-11-2025 18:04</span>@@ @@html:<a href="/tags/learning.html"> <span class="post-tag">learning</span> </a>@@ @@html:<a href="/tags/notes.html"> <span class="post-tag">notes</span> </a>@@

View File

@@ -2,6 +2,8 @@
#+OPTIONS: toc:nil num:nil #+OPTIONS: toc:nil num:nil
* Recently Updated (top 26 files - per lima's request) * Recently Updated (top 26 files - per lima's request)
- [[file:home/status.org][Competency Status Board]] @@html:<span class="post-date">2026-01-10 20:47</span>@@
- [[file:posts/career/probation-objectives.org][Probation Objectives:]] @@html:<span class="post-date">2026-01-07 18:03</span>@@
- [[file:posts/career/airflow.org][Datamarts, Airflow and DAG's]] @@html:<span class="post-date">2026-01-06 16:08</span>@@ - [[file:posts/career/airflow.org][Datamarts, Airflow and DAG's]] @@html:<span class="post-date">2026-01-06 16:08</span>@@
- [[file:home/backlog.org][Backlog]] @@html:<span class="post-date">2026-01-06 16:00</span>@@ - [[file:home/backlog.org][Backlog]] @@html:<span class="post-date">2026-01-06 16:00</span>@@
- [[file:posts/career/invest-principles.org][Invest Principles]] @@html:<span class="post-date">2026-01-04 17:15</span>@@ - [[file:posts/career/invest-principles.org][Invest Principles]] @@html:<span class="post-date">2026-01-04 17:15</span>@@
@@ -9,10 +11,8 @@
- [[file:posts/career/lean.org][Lean]] @@html:<span class="post-date">2025-12-30 21:04</span>@@ - [[file:posts/career/lean.org][Lean]] @@html:<span class="post-date">2025-12-30 21:04</span>@@
- [[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">2025-12-30 18:47</span>@@ - [[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">2025-12-30 18:47</span>@@
- [[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">2025-12-30 10:15</span>@@ - [[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">2025-12-30 10:15</span>@@
- [[file:posts/career/probation-objectives.org][Probation Objectives:]] @@html:<span class="post-date">2025-12-29 08:11</span>@@
- [[file:home/notes.org][Notes]] @@html:<span class="post-date">2025-12-18 22:30</span>@@ - [[file:home/notes.org][Notes]] @@html:<span class="post-date">2025-12-18 22:30</span>@@
- [[file:home/setup.org][Setup]] @@html:<span class="post-date">2025-12-18 22:00</span>@@ - [[file:home/setup.org][Setup]] @@html:<span class="post-date">2025-12-18 22:00</span>@@
- [[file:home/status.org][Competency Status Board]] @@html:<span class="post-date">2025-12-18 21:16</span>@@
- [[file:posts/career/wireframe-designs.org][Wireframe Designs]] @@html:<span class="post-date">2025-12-16 21:44</span>@@ - [[file:posts/career/wireframe-designs.org][Wireframe Designs]] @@html:<span class="post-date">2025-12-16 21:44</span>@@
- [[file:posts/career/solid-principles.org][SOLID Principles]] @@html:<span class="post-date">2025-12-16 21:44</span>@@ - [[file:posts/career/solid-principles.org][SOLID Principles]] @@html:<span class="post-date">2025-12-16 21:44</span>@@
- [[file:posts/career/retrospectives.org][Retrospectives]] @@html:<span class="post-date">2025-12-16 21:44</span>@@ - [[file:posts/career/retrospectives.org][Retrospectives]] @@html:<span class="post-date">2025-12-16 21:44</span>@@

View File

@@ -9,18 +9,36 @@
- [[file:lima/gems.org][gems]] - [[file:lima/gems.org][gems]]
- [[file:lima/one.org][one]] - [[file:lima/one.org][one]]
- [[file:lima/limas-play-area.org][limas-play-area]] - [[file:lima/limas-play-area.org][limas-play-area]]
- books - home
- [[file:books/books-list.org][Books List]] - [[file:home/countdown.org][Countdown]]
- clean-code - [[file:home/contact.org][Contact]]
- [[file:books/clean-code/clean-code-notes.org][Clean Code Notes]] - [[file:home/backlog.org][Backlog]]
- [[file:home/services.org][Service]]
- [[file:home/setup.org][Setup]]
- [[file:home/notes.org][Notes]]
- [[file:home/status.org][Competency Status Board]]
- [[file:home/categories.org][Categories]]
- posts
- [[file:posts/posts-intro.org][Posts Introduction]]
- [[file:posts/posts-list.org][Posts List]]
- career
- [[file:posts/career/solid-principles.org][SOLID Principles]]
- [[file:posts/career/owasp.org][OWASP Top Ten]]
- [[file:posts/career/lean.org][Lean]]
- [[file:posts/career/retrospectives.org][Retrospectives]]
- [[file:posts/career/invest-principles.org][Invest Principles]]
- [[file:posts/career/career-intro.org][Career Introduction]]
- [[file:posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:posts/career/management-of-self.org][Management of self training]]
- [[file:posts/career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]]
- [[file:posts/career/normalisation.org][Benefits of Normalisation]]
- [[file:posts/career/airflow.org][Datamarts, Airflow and DAG's]]
- [[file:posts/career/probation-objectives.org][Probation Objectives:]]
- [[file:posts/career/career-list.org][Career List]]
- blogs - blogs
- [[file:blogs/blogs-intro.org][Blogs Introduction]] - [[file:blogs/blogs-intro.org][Blogs Introduction]]
- [[file:blogs/publish-pages.org][How to publish pages using Org Publish]] - [[file:blogs/publish-pages.org][How to publish pages using Org Publish]]
- [[file:blogs/blogs-list.org][Blogs List]] - [[file:blogs/blogs-list.org][Blogs List]]
- 2026
- [[file:blogs/2026/2026-list.org][2026 List]]
- 01-january
- [[file:blogs/2026/01-january/04-01-week-review.org][[04-01-2026] - Weekly Review]]
- 2025 - 2025
- [[file:blogs/2025/2025-list.org][2025 List]] - [[file:blogs/2025/2025-list.org][2025 List]]
- 11-november - 11-november
@@ -42,40 +60,22 @@
- [[file:blogs/2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]] - [[file:blogs/2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]]
- [[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] - [[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]]
- [[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] - [[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]]
- home - 2026
- [[file:home/countdown.org][Countdown]] - [[file:blogs/2026/2026-list.org][2026 List]]
- [[file:home/contact.org][Contact]] - 01-january
- [[file:home/backlog.org][Backlog]] - [[file:blogs/2026/01-january/04-01-week-review.org][[04-01-2026] - Weekly Review]]
- [[file:home/services.org][Service]] - books
- [[file:home/status.org][Competency Status Board]] - [[file:books/books-list.org][Books List]]
- [[file:home/setup.org][Setup]] - clean-code
- [[file:home/notes.org][Notes]] - [[file:books/clean-code/clean-code-notes.org][Clean Code Notes]]
- [[file:home/categories.org][Categories]]
- posts
- [[file:posts/posts-intro.org][Posts Introduction]]
- [[file:posts/posts-list.org][Posts List]]
- career
- [[file:posts/career/solid-principles.org][SOLID Principles]]
- [[file:posts/career/owasp.org][OWASP Top Ten]]
- [[file:posts/career/lean.org][Lean]]
- [[file:posts/career/retrospectives.org][Retrospectives]]
- [[file:posts/career/invest-principles.org][Invest Principles]]
- [[file:posts/career/career-intro.org][Career Introduction]]
- [[file:posts/career/wireframe-designs.org][Wireframe Designs]]
- [[file:posts/career/management-of-self.org][Management of self training]]
- [[file:posts/career/requirements-features.org][Requirements, features, user stories, tasks, walking skeletons]]
- [[file:posts/career/normalisation.org][Benefits of Normalisation]]
- [[file:posts/career/airflow.org][Datamarts, Airflow and DAG's]]
- [[file:posts/career/probation-objectives.org][Probation Objectives:]]
- [[file:posts/career/career-list.org][Career List]]
- tags - tags
- [[file:tags/learning.org][Tag: learning]]
- [[file:tags/introduction.org][Tag: introduction]] - [[file:tags/introduction.org][Tag: introduction]]
- [[file:tags/website.org][Tag: website]] - [[file:tags/learning.org][Tag: learning]]
- [[file:tags/notes.org][Tag: notes]] - [[file:tags/notes.org][Tag: notes]]
- [[file:tags/review.org][Tag: review]]
- [[file:tags/emacs.org][Tag: emacs]] - [[file:tags/emacs.org][Tag: emacs]]
- [[file:tags/education.org][Tag: education]] - [[file:tags/education.org][Tag: education]]
- [[file:tags/website.org][Tag: website]]
- [[file:tags/review.org][Tag: review]]
- [[file:tags/reading.org][Tag: reading]] - [[file:tags/reading.org][Tag: reading]]
- [[file:tags/maths.org][Tag: maths]] - [[file:tags/maths.org][Tag: maths]]
- [[file:tags/insights.org][Tag: insights]] - [[file:tags/insights.org][Tag: insights]]