diff --git a/archivebox/templates/admin/base.html b/archivebox/templates/admin/base.html
index 5d4d4cc5..897a26d5 100644
--- a/archivebox/templates/admin/base.html
+++ b/archivebox/templates/admin/base.html
@@ -277,10 +277,22 @@
$(this).parents('.card').removeClass('selected-card')
})
};
+ function selectSnapshotIfHotlinked() {
+ // if we arrive at the index with a url like ??id__startswith=...
+ // we were hotlinked here with the intention of making it easy for the user to perform some
+ // actions on the given snapshot. therefore we should preselect the snapshot to save them a click
+ if (window.location.search.startsWith('?id__startswith=') || window.location.search.startsWith('?id__exact=')) {
+ const result_checkboxes = [...document.querySelectorAll('#result_list .action-checkbox input[type=checkbox]')]
+ if (result_checkboxes.length === 1) {
+ result_checkboxes[0].click()
+ }
+ }
+ }
$(document).ready(function() {
fix_actions()
setupSnapshotGridListToggle()
setTimeOffset()
+ selectSnapshotIfHotlinked()
})