1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-05-14 06:25:52 +02:00
Files
misskey/packages/frontend/src/events.ts
かっこかり b528ff9c59 enhance(frontend): テーマの適用管理を改善 (#17376)
* 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
2026-05-07 11:42:45 +09:00

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);
});
}