diff --git a/web/src/lib/components/photos-page/asset-grid-actions.svelte b/web/src/lib/components/photos-page/asset-grid-actions.svelte
new file mode 100644
index 0000000000..717e0ddb85
--- /dev/null
+++ b/web/src/lib/components/photos-page/asset-grid-actions.svelte
@@ -0,0 +1,214 @@
+
+
+
+
+{#if isShowDeleteConfirmation}
+ (isShowDeleteConfirmation = false)}
+ onConfirm={() => handlePromiseError(trashOrDelete(true))}
+ />
+{/if}
+
+{#if isShowSelectDate}
+ {
+ isShowSelectDate = false;
+ const asset = await timelineManager.getClosestAssetToDate(
+ (DateTime.fromISO(dateString) as DateTime).toObject(),
+ );
+ if (asset) {
+ setFocusAsset(asset);
+ }
+ }}
+ onCancel={() => (isShowSelectDate = false)}
+ />
+{/if}
diff --git a/web/src/lib/components/photos-page/asset-grid.svelte b/web/src/lib/components/photos-page/asset-grid.svelte
index d27be02c6d..e28f854a98 100644
--- a/web/src/lib/components/photos-page/asset-grid.svelte
+++ b/web/src/lib/components/photos-page/asset-grid.svelte
@@ -1,42 +1,27 @@
-
-
-{#if isShowDeleteConfirmation}
- (isShowDeleteConfirmation = false)}
- onConfirm={() => handlePromiseError(trashOrDelete(true))}
- />
-{/if}
-
-{#if isShowSelectDate}
- {
- isShowSelectDate = false;
- const asset = await timelineManager.getClosestAssetToDate(
- (DateTime.fromISO(dateString) as DateTime).toObject(),
- );
- if (asset) {
- setFocusAsset(asset);
- }
- }}
- onCancel={() => (isShowSelectDate = false)}
- />
-{/if}
+
{#if timelineManager.months.length > 0}
{
- evt.preventDefault();
- let amount = 50;
- if (shiftKeyIsDown) {
- amount = 500;
- }
- if (evt.key === 'ArrowUp') {
- amount = -amount;
- if (shiftKeyIsDown) {
- element?.scrollBy({ top: amount, behavior: 'smooth' });
- }
- } else if (evt.key === 'ArrowDown') {
- element?.scrollBy({ top: amount, behavior: 'smooth' });
- }
- }}
/>
{/if}