feat(layout): supporte la création de layouts plugins (customPluginLayout)
Étend le flux de création de layout backend (DTO, usecases, store) et le frontend (sélecteur, adaptateurs, LayoutTabs/LayoutGrid) pour permettre d'ouvrir un layout déclaré par un plugin installé (ex. Android Health), sans passer par le message bloquant "extension backend pas encore livrée". Ticket #141 — QA vert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@ -10,7 +10,13 @@
|
||||
|
||||
import { invoke } from "@tauri-apps/api/core";
|
||||
|
||||
import type { LayoutKind, LayoutList, LayoutOperation, LayoutTree } from "@/domain";
|
||||
import type {
|
||||
LayoutKind,
|
||||
LayoutList,
|
||||
LayoutOperation,
|
||||
LayoutTree,
|
||||
PluginLayoutOrigin,
|
||||
} from "@/domain";
|
||||
import type { LayoutGateway } from "@/ports";
|
||||
|
||||
export class TauriLayoutGateway implements LayoutGateway {
|
||||
@ -30,9 +36,14 @@ export class TauriLayoutGateway implements LayoutGateway {
|
||||
return invoke<LayoutList>("list_layouts", { projectId });
|
||||
}
|
||||
|
||||
createLayout(projectId: string, name: string, kind?: LayoutKind): Promise<{ layoutId: string }> {
|
||||
createLayout(
|
||||
projectId: string,
|
||||
name: string,
|
||||
kind?: LayoutKind,
|
||||
pluginOrigin?: PluginLayoutOrigin,
|
||||
): Promise<{ layoutId: string }> {
|
||||
return invoke<{ layoutId: string }>("create_layout", {
|
||||
request: { projectId, name, kind },
|
||||
request: { projectId, name, kind, pluginOrigin },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user