Purging expired notifications and alerts. Fixed manticore stash sync.

This commit is contained in:
2026-07-13 17:27:50 +02:00
parent cf758c2494
commit 327885dd17
9 changed files with 194 additions and 9 deletions

View File

@@ -281,6 +281,22 @@ function toggleFilterCombined() {
</span>
</span>
</span>
<span
v-for="scene in alert.scenes"
:key="`alert-${alert.id}-${scene.id}`"
class="alert-scene"
>
<time
:datetime="scene.date.toISOString()"
class="alert-date"
>{{ format(scene.date, 'yyyy-MM-dd') }}</time>
<a
:href="`/scene/${scene.id}/${scene.slug}`"
class="alert-value alert-title ellipsis link"
>{{ scene.title }}</a>
</span>
</div>
<div class="alert-meta">
@@ -476,6 +492,16 @@ function toggleFilterCombined() {
display: flex;
}
.alert-scene {
display: flex;
gap: .5rem;
padding: 0 .5rem;
}
.alert-date {
flex-shrink: 0;
}
.alert-actions {
display: flex;
align-items: center;

View File

@@ -108,7 +108,15 @@ onMounted(async () => {
class="notif-body notif-link nolink"
>
<span class="notif-trigger">
<span class="notif-details">
<span
v-if="notif.matchedSceneIds.length > 0"
class="notif-details"
>Scene is released</span>
<span
v-else
class="notif-details"
>
New
<template

View File

@@ -22,6 +22,10 @@ const props = defineProps({
type: Boolean,
default: true,
},
showAlert: {
type: Boolean,
default: true,
},
});
const emit = defineEmits(['stashed', 'unstashed']);
@@ -118,6 +122,7 @@ async function alertItem() {
...(props.domain === 'actors' && { actors: [props.item.id] }),
...(props.domain === 'tags' && { tags: [props.item.id] }),
...(props.domain === 'entities' && { entities: [props.item.id] }),
...(props.domain === 'scenes' && { scenes: [props.item.id] }),
notify: true,
email: false,
preset: true,
@@ -205,7 +210,7 @@ async function reloadStashes(newStash) {
class="bookmarks"
>
<div
v-if="showSecondary && !!itemAlerts"
v-if="showSecondary && showAlert && !!itemAlerts"
class="alert-trigger"
>
<Icon