feat(frontend): système de plugins — runtime, menus, layouts custom (#43)

Lots F1-F4 : runtime de chargement/registre plugin, extension des menus
existants, panneau de gestion des plugins, types de layout custom
(sélecteur, fallback, cellule dédiée) branchés sur le port plugin.
Suite npm typecheck/test verte (947/947).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 07:37:11 +02:00
parent bb35641715
commit ac726d075e
41 changed files with 3245 additions and 24 deletions

View File

@ -41,6 +41,15 @@ export class TauriSystemGateway implements SystemGateway {
return typeof result === "string" ? result : null;
}
async pickArchiveFile(): Promise<string | null> {
const result = await open({
directory: false,
multiple: false,
filters: [{ name: "Plugin archive", extensions: ["ideaplug", "zip", "vsix"] }],
});
return typeof result === "string" ? result : null;
}
async onAppExitWorkGuard(
handler: (state: AppExitWorkGuardState) => void,
): Promise<Unsubscribe> {