mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-14 06:25:52 +02:00
* wip * add test * use themeManager.currentCompiledTheme for obtaining theme variables / reduce getComputedStyle usage * fix * fix: better error handling on theme installation * Update Changelog * chore: remove frontend-shared builds as it is currently working as a stub package * fix: broken lockfile * fix * fix lint * fix
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { EventEmitter } from 'eventemitter3';
|
|
import * as Misskey from 'misskey-js';
|
|
import { onBeforeUnmount } from 'vue';
|
|
|
|
type Events = {
|
|
clientNotification: (notification: Misskey.entities.Notification) => void;
|
|
notePosted: (note: Misskey.entities.Note) => void;
|
|
noteDeleted: (noteId: Misskey.entities.Note['id']) => void;
|
|
driveFileCreated: (file: Misskey.entities.DriveFile) => void;
|
|
driveFilesUpdated: (files: Misskey.entities.DriveFile[]) => void;
|
|
driveFilesDeleted: (files: Misskey.entities.DriveFile[]) => void;
|
|
driveFoldersUpdated: (folders: Misskey.entities.DriveFolder[]) => void;
|
|
driveFoldersDeleted: (folders: Misskey.entities.DriveFolder[]) => void;
|
|
};
|
|
|
|
export const globalEvents = new EventEmitter<Events>();
|
|
|
|
export function useGlobalEvent<T extends keyof Events>(
|
|
event: T,
|
|
callback: EventEmitter.EventListener<Events, T>,
|
|
): void {
|
|
globalEvents.on(event, callback);
|
|
onBeforeUnmount(() => {
|
|
globalEvents.off(event, callback);
|
|
});
|
|
}
|