From 28cae8c18ba1151496df1eeecea8698b4412b4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Chyeonggkim=E2=80=9D?= <“hyeonggkim@smilegate.com”> Date: Tue, 4 Nov 2025 21:01:18 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=20=EB=B3=B4=EC=95=88=EA=B0=95=ED=99=94?= =?UTF-8?q?=20FxSecure01=20=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layers/composables/useTemplateRegistry.ts | 2 + layers/templates/FxSecure01/index.vue | 257 ++++++++++++++++++++++ public/images/common/img_OTP.png | Bin 0 -> 6975 bytes 3 files changed, 259 insertions(+) create mode 100644 layers/templates/FxSecure01/index.vue create mode 100644 public/images/common/img_OTP.png diff --git a/layers/composables/useTemplateRegistry.ts b/layers/composables/useTemplateRegistry.ts index 61e93bd..4396f48 100644 --- a/layers/composables/useTemplateRegistry.ts +++ b/layers/composables/useTemplateRegistry.ts @@ -10,6 +10,7 @@ import GrDetail03 from '#layers/templates/GrDetail03/index.vue' import GrBoard01 from '#layers/templates/GrBoard01/index.vue' import GrContents01 from '#layers/templates/GrContents01/index.vue' import FxDownload01 from '#layers/templates/FxDownload01/index.vue' +import FxSecure01 from '#layers/templates/FxSecure01/index.vue' const templateRegistry = { GR_VISUAL_01: { component: GrVisual01 }, @@ -24,6 +25,7 @@ const templateRegistry = { GR_DETAIL_03: { component: GrDetail03 }, GR_CONTENTS_01: { component: GrContents01 }, FX_DOWNLOAD_01: { component: FxDownload01 }, + FX_SECURE_01: { component: FxSecure01 }, } as const type TemplateKey = keyof typeof templateRegistry diff --git a/layers/templates/FxSecure01/index.vue b/layers/templates/FxSecure01/index.vue new file mode 100644 index 0000000..5632d27 --- /dev/null +++ b/layers/templates/FxSecure01/index.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/public/images/common/img_OTP.png b/public/images/common/img_OTP.png new file mode 100644 index 0000000000000000000000000000000000000000..22ef70bf594fb1c1f04aac155c2280a16dc7758a GIT binary patch literal 6975 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 literal 0 HcmV?d00001