mirror of
https://github.com/immich-app/immich.git
synced 2025-11-23 23:13:19 -05:00
19 lines
568 B
TypeScript
19 lines
568 B
TypeScript
import { cancelLoad, getCachedOrFetch } from './fetch-event';
|
|
|
|
export const installBroadcastChannelListener = () => {
|
|
const broadcast = new BroadcastChannel('immich');
|
|
// eslint-disable-next-line unicorn/prefer-add-event-listener
|
|
broadcast.onmessage = (event) => {
|
|
if (!event.data) {
|
|
return;
|
|
}
|
|
const urlstring = event.data.url;
|
|
const url = new URL(urlstring, event.origin);
|
|
if (event.data.type === 'cancel') {
|
|
cancelLoad(url.toString());
|
|
} else if (event.data.type === 'preload') {
|
|
getCachedOrFetch(url);
|
|
}
|
|
};
|
|
};
|