mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
Websocket basic
Websocket basic
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
<script lang="ts">
|
||||
import { websocketStore } from '$lib/stores/websocket';
|
||||
import { notificationController, NotificationType } from './notification/notification';
|
||||
|
||||
let assetUpdateCount = 0;
|
||||
let lastAssetName;
|
||||
let timeoutId;
|
||||
|
||||
const subscribe = websocketStore.onAssetUpdate.subscribe(value => {
|
||||
if (value && value.originalFileName) {
|
||||
lastAssetName = value.originalFileName;
|
||||
assetUpdateCount++;
|
||||
clearTimeout(timeoutId);
|
||||
timeoutId = setTimeout(() => {
|
||||
if (assetUpdateCount === 1) {
|
||||
|
||||
notificationController.show({
|
||||
message: `Asset updated: ${lastAssetName}.\nPlease reload to apply changes`,
|
||||
type: NotificationType.Info,
|
||||
});
|
||||
} else {
|
||||
notificationController.show({
|
||||
message: `${assetUpdateCount} assets updated.\nPlease reload to apply changes`,
|
||||
type: NotificationType.Info,
|
||||
});
|
||||
}
|
||||
assetUpdateCount = 0;
|
||||
}, 500);
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user