diff --git a/archivebox/core/admin_tags.py b/archivebox/core/admin_tags.py index f8f53815..377049d6 100644 --- a/archivebox/core/admin_tags.py +++ b/archivebox/core/admin_tags.py @@ -117,7 +117,7 @@ class TagAdmin(BaseModelAdmin): sort = normalize_tag_sort((request.GET.get("sort") or "created_desc").strip()) created_by = normalize_created_by_filter((request.GET.get("created_by") or "").strip()) year = normalize_created_year_filter((request.GET.get("year") or "").strip()) - has_snapshots = normalize_has_snapshots_filter((request.GET.get("has_snapshots") or "all").strip()) + has_snapshots = normalize_has_snapshots_filter((request.GET.get("has_snapshots") or "yes").strip()) context = { **self.admin_site.each_context(request), **(extra_context or {}), diff --git a/archivebox/templates/admin/core/tag/change_list.html b/archivebox/templates/admin/core/tag/change_list.html index ad43f8a9..2d4a0fb2 100644 --- a/archivebox/templates/admin/core/tag/change_list.html +++ b/archivebox/templates/admin/core/tag/change_list.html @@ -353,6 +353,13 @@ font-size: 13px; } + .tag-card__empty[href] { + display: block; + color: #075985; + font-weight: 600; + text-decoration: none; + } + .tag-toast { position: sticky; top: 12px; @@ -609,6 +616,7 @@ document.addEventListener('DOMContentLoaded', function () { } grid.innerHTML = cards.map(function (card) { + const snapshotCount = Number(card.num_snapshots || 0); const snapshotHtml = (card.snapshots || []).length ? card.snapshots.map(function (snapshot) { return '' + @@ -617,7 +625,9 @@ document.addEventListener('DOMContentLoaded', function () { '' + escapeHtml(snapshot.title) + '' + ''; }).join('') - : '
No snapshots attached yet.
'; + : snapshotCount > 0 + ? '' + escapeHtml(snapshotCount) + ' snapshot' + (snapshotCount === 1 ? '' : 's') + ' attached' + : '
No snapshots attached yet.
'; return '' + '
' + diff --git a/etc/package.json b/etc/package.json index 4a2674b7..5f7a411e 100644 --- a/etc/package.json +++ b/etc/package.json @@ -1,6 +1,6 @@ { "name": "archivebox", - "version": "0.9.31rc43", + "version": "0.9.31rc44", "repository": "github:ArchiveBox/ArchiveBox", "license": "MIT", "dependencies": { diff --git a/pyproject.toml b/pyproject.toml index 5a83ef11..2e489601 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "archivebox" -version = "0.9.31rc43" +version = "0.9.31rc44" requires-python = ">=3.13" description = "Self-hosted internet archiving solution." authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}] @@ -79,9 +79,9 @@ dependencies = [ ### Extractor dependencies (optional binaries detected at runtime via shutil.which) ### Binary/Package Management "abxbus>=2.5.4", # EventBus API - "abxpkg>=1.10.34", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm - "abx-plugins>=1.10.99", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring - "abx-dl>=1.10.99", # shared ArchiveBox downloader package with blocking install preflight + "abxpkg>=1.10.35", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm + "abx-plugins>=1.10.100", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring + "abx-dl>=1.10.100", # shared ArchiveBox downloader package with blocking install preflight ### UUID7 backport for Python <3.14 "uuid7>=0.1.0; python_version < '3.14'", # provides the uuid_extensions module on Python 3.13 ]