diff --git a/hwe/sammo/DTO/MenuLine.php b/hwe/sammo/DTO/MenuLine.php new file mode 100644 index 00000000..2c71f54e --- /dev/null +++ b/hwe/sammo/DTO/MenuLine.php @@ -0,0 +1,14 @@ +type = 'line'; + } +} \ No newline at end of file diff --git a/hwe/sammo/DTO/MenuMulti.php b/hwe/sammo/DTO/MenuMulti.php index d3204595..40c746fc 100644 --- a/hwe/sammo/DTO/MenuMulti.php +++ b/hwe/sammo/DTO/MenuMulti.php @@ -9,7 +9,7 @@ use LDTO\Converter\ArrayConverter; class MenuMulti extends DTO{ public readonly string $type; - /** @param MenuItem[] $subMenu */ + /** @param (MenuItem|MenuLine)[] $subMenu */ public function __construct( public string $name, #[Convert(ArrayConverter::class, [DTO::class])] diff --git a/hwe/sammo/DTO/MenuSplit.php b/hwe/sammo/DTO/MenuSplit.php index a01df416..804af3b2 100644 --- a/hwe/sammo/DTO/MenuSplit.php +++ b/hwe/sammo/DTO/MenuSplit.php @@ -9,7 +9,7 @@ use LDTO\DTO; class MenuSplit extends DTO{ public readonly string $type; - /** @param MenuItem[] $subMenu */ + /** @param (MenuItem|MenuLine)[] $subMenu */ public function __construct( public MenuItem $main, #[Convert(ArrayConverter::class, [DTO::class])] diff --git a/hwe/ts/defs/API/Global.ts b/hwe/ts/defs/API/Global.ts index a722a4f5..baeac1b9 100644 --- a/hwe/ts/defs/API/Global.ts +++ b/hwe/ts/defs/API/Global.ts @@ -222,6 +222,11 @@ export type GetFrontInfoResponse = { }; }; + +export type MenuLine = { + type: 'line'; +} + export type MenuItem = { type: 'item'; name: string; @@ -235,15 +240,16 @@ export type MenuItem = { export type MenuSplit = { type: 'split'; main: MenuItem; - subMenu: MenuItem[]; + subMenu: (MenuItem | MenuLine)[]; } export type MenuMulti = { type: 'multi'; name: string; - subMenu: MenuItem[]; + subMenu: (MenuItem | MenuLine)[]; } + export type GetMenuResponse = { result: true; menu: (MenuItem | MenuSplit | MenuMulti)[];