feat: 메뉴 구성에 line 추가
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\DTO;
|
||||||
|
|
||||||
|
use LDTO\DTO;
|
||||||
|
|
||||||
|
class MenuLine extends DTO{
|
||||||
|
public readonly string $type;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
){
|
||||||
|
$this->type = 'line';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ use LDTO\Converter\ArrayConverter;
|
|||||||
class MenuMulti extends DTO{
|
class MenuMulti extends DTO{
|
||||||
public readonly string $type;
|
public readonly string $type;
|
||||||
|
|
||||||
/** @param MenuItem[] $subMenu */
|
/** @param (MenuItem|MenuLine)[] $subMenu */
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public string $name,
|
public string $name,
|
||||||
#[Convert(ArrayConverter::class, [DTO::class])]
|
#[Convert(ArrayConverter::class, [DTO::class])]
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use LDTO\DTO;
|
|||||||
class MenuSplit extends DTO{
|
class MenuSplit extends DTO{
|
||||||
public readonly string $type;
|
public readonly string $type;
|
||||||
|
|
||||||
/** @param MenuItem[] $subMenu */
|
/** @param (MenuItem|MenuLine)[] $subMenu */
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public MenuItem $main,
|
public MenuItem $main,
|
||||||
#[Convert(ArrayConverter::class, [DTO::class])]
|
#[Convert(ArrayConverter::class, [DTO::class])]
|
||||||
|
|||||||
@@ -222,6 +222,11 @@ export type GetFrontInfoResponse = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MenuLine = {
|
||||||
|
type: 'line';
|
||||||
|
}
|
||||||
|
|
||||||
export type MenuItem = {
|
export type MenuItem = {
|
||||||
type: 'item';
|
type: 'item';
|
||||||
name: string;
|
name: string;
|
||||||
@@ -235,15 +240,16 @@ export type MenuItem = {
|
|||||||
export type MenuSplit = {
|
export type MenuSplit = {
|
||||||
type: 'split';
|
type: 'split';
|
||||||
main: MenuItem;
|
main: MenuItem;
|
||||||
subMenu: MenuItem[];
|
subMenu: (MenuItem | MenuLine)[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MenuMulti = {
|
export type MenuMulti = {
|
||||||
type: 'multi';
|
type: 'multi';
|
||||||
name: string;
|
name: string;
|
||||||
subMenu: MenuItem[];
|
subMenu: (MenuItem | MenuLine)[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export type GetMenuResponse = {
|
export type GetMenuResponse = {
|
||||||
result: true;
|
result: true;
|
||||||
menu: (MenuItem | MenuSplit | MenuMulti)[];
|
menu: (MenuItem | MenuSplit | MenuMulti)[];
|
||||||
|
|||||||
Reference in New Issue
Block a user