Compare commits

..

1 commit

Author SHA1 Message Date
ab3e92268a v0.6.1: pin Keep/Deleted folders to sidebar bottom; highlight All sources
- Move the Keep/Deleted system folders out of the scrolling source list into a
  pinned section at the bottom of the sidebar (only sources scroll now), so the
  folders stay reachable with many sources. Renamed .source-folders ->
  .system-folders; .source-list flexes to fill.
- "All sources" is visually distinct (bold + subtle blue tint) as the primary
  entry.

Template/CSS only. Feed/trash rendering tests pass; feed renders in all views.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 21:07:39 +01:00
4 changed files with 52 additions and 24 deletions

View file

@ -9,6 +9,15 @@ former name, "Daybook".)
_Nothing yet._ _Nothing yet._
## [0.6.1] — 2026-09-07
### Changed
- Sidebar: the **Keep / Deleted folders are pinned to the bottom** — only the
source list scrolls, so the folders stay reachable no matter how many sources
you have. **"All sources"** is now visually distinct (bold + subtle blue tint)
as the primary entry. (Internal: `.source-folders` class renamed to
`.system-folders`.)
## [0.6.0] — 2026-09-07 ## [0.6.0] — 2026-09-07
### Added ### Added
@ -205,7 +214,8 @@ First tagged release.
- Dockerised (Gunicorn + whitenoise), SQLite, `git`-based deploy with a - Dockerised (Gunicorn + whitenoise), SQLite, `git`-based deploy with a
runbook (`deploy/cloud_agent_deploy.md`) and health check. runbook (`deploy/cloud_agent_deploy.md`) and health check.
[Unreleased]: https://git.cygnus.systems/peter/daybook/compare/v0.6.0...HEAD [Unreleased]: https://git.cygnus.systems/peter/daybook/compare/v0.6.1...HEAD
[0.6.1]: https://git.cygnus.systems/peter/daybook/compare/v0.6.0...v0.6.1
[0.6.0]: https://git.cygnus.systems/peter/daybook/compare/v0.5.1...v0.6.0 [0.6.0]: https://git.cygnus.systems/peter/daybook/compare/v0.5.1...v0.6.0
[0.5.1]: https://git.cygnus.systems/peter/daybook/compare/v0.5.0...v0.5.1 [0.5.1]: https://git.cygnus.systems/peter/daybook/compare/v0.5.0...v0.5.1
[0.5.0]: https://git.cygnus.systems/peter/daybook/compare/v0.4.1...v0.5.0 [0.5.0]: https://git.cygnus.systems/peter/daybook/compare/v0.4.1...v0.5.0

View file

@ -1,4 +1,4 @@
# Single source of truth for the app version. Bump this, commit, then tag the # Single source of truth for the app version. Bump this, commit, then tag the
# commit `vX.Y.Z` and deploy. Surfaced on Settings -> About and in # commit `vX.Y.Z` and deploy. Surfaced on Settings -> About and in
# GET /api/capabilities ("version"). # GET /api/capabilities ("version").
__version__ = "0.6.0" __version__ = "0.6.1"

View file

@ -360,6 +360,7 @@ h1 {
/* Source sidebar: scrollbar hidden until hover (short list, rarely scrolls). */ /* Source sidebar: scrollbar hidden until hover (short list, rarely scrolls). */
.source-list { .source-list {
flex: 1 1 auto; /* fill available height so system folders pin to the bottom */
scrollbar-color: transparent transparent; scrollbar-color: transparent transparent;
scrollbar-width: none; scrollbar-width: none;
} }
@ -1131,11 +1132,28 @@ kbd {
color: var(--danger-text-plain); color: var(--danger-text-plain);
} }
/* System folders (Keep / Deleted) at the bottom of the sidebar */ /* System folders (Keep / Deleted): pinned at the bottom of the sidebar,
.source-folders { below the scrolling source list. */
.system-folders {
border-top: 1px solid var(--grid-line); border-top: 1px solid var(--grid-line);
margin-top: 0.4rem; display: flex;
padding-top: 0.4rem; flex-direction: column;
flex-shrink: 0;
padding: 0.4rem 0.6rem 0.2rem;
}
/* "All sources" — the primary entry, visually distinct from individual sources:
bold, with a subtle blue tint (works over both light and dark surfaces). */
.all-sources-link {
font-weight: 600;
}
.all-sources-link:not(.selected) {
background: rgba(74, 110, 168, 0.14);
}
.all-sources-link:not(.selected):hover {
background: rgba(74, 110, 168, 0.22);
} }
.empty-trash-button { .empty-trash-button {

View file

@ -35,7 +35,7 @@
<h2>Sources</h2> <h2>Sources</h2>
</div> </div>
<nav class="source-list"> <nav class="source-list">
<a class="source-link {% if not selected_source and not selected_folder %}selected{% endif %}" href="?{% if selected_label %}label={{ selected_label|urlencode }}&amp;{% endif %}{% if selected_kind %}kind={{ selected_kind|urlencode }}&amp;{% endif %}{% if title_query %}q={{ title_query|urlencode }}&amp;{% endif %}view={{ selected_view }}&amp;preview=none"> <a class="source-link all-sources-link {% if not selected_source and not selected_folder %}selected{% endif %}" href="?{% if selected_label %}label={{ selected_label|urlencode }}&amp;{% endif %}{% if selected_kind %}kind={{ selected_kind|urlencode }}&amp;{% endif %}{% if title_query %}q={{ title_query|urlencode }}&amp;{% endif %}view={{ selected_view }}&amp;preview=none">
<span class="source-name">All sources</span> <span class="source-name">All sources</span>
{% if total_count %}<span class="source-count">{{ total_count }}</span>{% endif %} {% if total_count %}<span class="source-count">{{ total_count }}</span>{% endif %}
</a> </a>
@ -45,24 +45,24 @@
{% if entry.count %}<span class="source-count">{{ entry.count }}</span>{% endif %} {% if entry.count %}<span class="source-count">{{ entry.count }}</span>{% endif %}
</a> </a>
{% endfor %} {% endfor %}
{% if keep_count or trash_count %}
<div class="source-folders">
{% if keep_count %}
<a class="source-link folder-link {% if selected_folder == 'keep' %}selected{% endif %}" href="?folder=keep&amp;view={{ selected_view }}&amp;preview=none" data-folder-link="keep">
<span class="source-name">&#9733; Keep</span>
<span class="source-count">{{ keep_count }}</span>
</a>
{% endif %}
{% if trash_count %}
<a class="source-link folder-link {% if selected_folder == 'deleted' %}selected{% endif %}" href="?folder=deleted&amp;view={{ selected_view }}&amp;preview=none" data-folder-link="deleted">
<span class="source-name">&#128465; Deleted</span>
<span class="source-count">{{ trash_count }}</span>
</a>
{% endif %}
</div>
{% endif %}
</nav> </nav>
{% if keep_count or trash_count %}
<nav class="system-folders" aria-label="Folders">
{% if keep_count %}
<a class="source-link folder-link {% if selected_folder == 'keep' %}selected{% endif %}" href="?folder=keep&amp;view={{ selected_view }}&amp;preview=none" data-folder-link="keep">
<span class="source-name">&#9733; Keep</span>
<span class="source-count">{{ keep_count }}</span>
</a>
{% endif %}
{% if trash_count %}
<a class="source-link folder-link {% if selected_folder == 'deleted' %}selected{% endif %}" href="?folder=deleted&amp;view={{ selected_view }}&amp;preview=none" data-folder-link="deleted">
<span class="source-name">&#128465; Deleted</span>
<span class="source-count">{{ trash_count }}</span>
</a>
{% endif %}
</nav>
{% endif %}
</aside> </aside>
<div class="splitter" data-splitter="days" role="separator" aria-label="Resize sources sidebar" aria-orientation="vertical"></div> <div class="splitter" data-splitter="days" role="separator" aria-label="Resize sources sidebar" aria-orientation="vertical"></div>