From 15174baa3628d909ff012c7d30884f3e1e670f77 Mon Sep 17 00:00:00 2001 From: clkim Date: Thu, 16 Oct 2025 10:48:41 +0900 Subject: [PATCH] =?UTF-8?q?feat.=20=EB=B2=84=ED=8A=BC=20=EC=95=A1=EC=85=98?= =?UTF-8?q?=EB=B3=84=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layers/assets/css/components/_button.css | 4 ++ layers/components/atoms/Button/index.vue | 54 +++++++++---------- .../components/atoms/icons/DownloadLine.vue | 33 ++++++++++++ .../atoms/icons/LongArrowRightLine.vue | 29 ++++++++++ layers/components/widgets/ButtonList.vue | 36 ++++++------- layers/types/components/button.ts | 1 + 6 files changed, 111 insertions(+), 46 deletions(-) create mode 100644 layers/components/atoms/icons/DownloadLine.vue create mode 100644 layers/components/atoms/icons/LongArrowRightLine.vue diff --git a/layers/assets/css/components/_button.css b/layers/assets/css/components/_button.css index bf1ff3f..39984ad 100644 --- a/layers/assets/css/components/_button.css +++ b/layers/assets/css/components/_button.css @@ -15,6 +15,10 @@ after:bg-[var(--text-color)] after:opacity-20 after:z-[2]; } + .btn-base .btn-content { + @apply relative flex items-center gap-1 z-[1]; + } + .size-large { @apply px-10 h-16 text-lg; } diff --git a/layers/components/atoms/Button/index.vue b/layers/components/atoms/Button/index.vue index 5c28912..5b9320d 100644 --- a/layers/components/atoms/Button/index.vue +++ b/layers/components/atoms/Button/index.vue @@ -1,9 +1,8 @@ diff --git a/layers/components/atoms/icons/DownloadLine.vue b/layers/components/atoms/icons/DownloadLine.vue new file mode 100644 index 0000000..a8ad124 --- /dev/null +++ b/layers/components/atoms/icons/DownloadLine.vue @@ -0,0 +1,33 @@ + + + diff --git a/layers/components/atoms/icons/LongArrowRightLine.vue b/layers/components/atoms/icons/LongArrowRightLine.vue new file mode 100644 index 0000000..5ea8a02 --- /dev/null +++ b/layers/components/atoms/icons/LongArrowRightLine.vue @@ -0,0 +1,29 @@ + + + diff --git a/layers/components/widgets/ButtonList.vue b/layers/components/widgets/ButtonList.vue index d7526cb..404038f 100644 --- a/layers/components/widgets/ButtonList.vue +++ b/layers/components/widgets/ButtonList.vue @@ -11,7 +11,6 @@ interface ButtonListProps { const props = defineProps() -// 상수 정의 const BUTTON_TYPE_MAP = { URL: { _self: 'internal' as const, @@ -35,23 +34,6 @@ const getButtonType = (btnInfo: PageDataResourceGroupBtnInfo): ButtonType => { return DEFAULT_BUTTON_TYPE } - -const getButtonProps = (button: PageDataResourceGroup) => ({ - type: getButtonType(button.btn_info), - target: button.btn_info?.detail?.action?.link_target, - href: button.btn_info?.detail?.action?.url, - rel: button.btn_info?.detail?.action?.rel, - backgroundColor: getColorCode({ - colorName: button.btn_info?.color_name_btn, - colorCode: button.btn_info?.color_code_btn, - }), - textColor: getColorCode({ - colorName: button.btn_info?.color_name_txt, - colorCode: button.btn_info?.color_code_txt, - }), - disabled: button.btn_info?.disabled, - text: button.btn_info?.txt_btn_name, -})