From 27fc26ee968081b9e97d2c462d095d3c13f81580 Mon Sep 17 00:00:00 2001 From: caadiq Date: Thu, 22 Jan 2026 21:41:44 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=ED=8F=B4=EB=8D=94=20=EA=B5=AC=EC=A1=B0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 변경 전: components/ ├── pc/admin/ (플랫) ├── pc/public/ (플랫) └── mobile/ (플랫) 변경 후: components/ ├── pc/admin/ │ ├── layout/ (Layout, Header) │ ├── common/ (ConfirmDialog, DatePicker, TimePicker, NumberPicker) │ └── schedule/ (AdminScheduleCard, CategorySelector) ├── pc/public/ │ ├── layout/ (Layout, Header, Footer) │ └── schedule/ (Calendar, ScheduleCard, BirthdayCard, CategoryFilter) └── mobile/ ├── layout/ (Layout, Header, BottomNav) └── schedule/ (Calendar, ScheduleCard 등) Co-Authored-By: Claude Opus 4.5 --- frontend-temp/src/components/mobile/index.js | 10 ++-------- .../src/components/mobile/{ => layout}/BottomNav.jsx | 0 .../src/components/mobile/{ => layout}/Header.jsx | 0 .../src/components/mobile/{ => layout}/Layout.jsx | 0 frontend-temp/src/components/mobile/layout/index.js | 3 +++ .../mobile/{ => schedule}/BirthdayCard.jsx | 0 .../components/mobile/{ => schedule}/Calendar.jsx | 0 .../mobile/{ => schedule}/ScheduleCard.jsx | 0 .../mobile/{ => schedule}/ScheduleListCard.jsx | 0 .../mobile/{ => schedule}/ScheduleSearchCard.jsx | 0 .../src/components/mobile/schedule/index.js | 5 +++++ .../pc/admin/{ => common}/ConfirmDialog.jsx | 0 .../components/pc/admin/{ => common}/DatePicker.jsx | 0 .../pc/admin/{ => common}/NumberPicker.jsx | 0 .../components/pc/admin/{ => common}/TimePicker.jsx | 0 .../src/components/pc/admin/common/index.js | 4 ++++ frontend-temp/src/components/pc/admin/index.js | 12 +++++------- .../src/components/pc/admin/{ => layout}/Header.jsx | 0 .../src/components/pc/admin/{ => layout}/Layout.jsx | 0 .../src/components/pc/admin/layout/index.js | 2 ++ .../pc/admin/{ => schedule}/AdminScheduleCard.jsx | 0 .../src/components/pc/admin/schedule/index.js | 1 + frontend-temp/src/components/pc/public/index.js | 9 ++------- .../src/components/pc/public/{ => layout}/Footer.jsx | 0 .../src/components/pc/public/{ => layout}/Header.jsx | 0 .../src/components/pc/public/{ => layout}/Layout.jsx | 0 .../src/components/pc/public/layout/index.js | 3 +++ .../pc/public/{ => schedule}/BirthdayCard.jsx | 0 .../components/pc/public/{ => schedule}/Calendar.jsx | 0 .../pc/public/{ => schedule}/CategoryFilter.jsx | 0 .../pc/public/{ => schedule}/ScheduleCard.jsx | 0 .../src/components/pc/public/schedule/index.js | 4 ++++ .../pc/admin/schedules/edit/YouTubeEditForm.jsx | 2 +- .../src/pages/pc/admin/schedules/form/index.jsx | 2 +- 34 files changed, 33 insertions(+), 24 deletions(-) rename frontend-temp/src/components/mobile/{ => layout}/BottomNav.jsx (100%) rename frontend-temp/src/components/mobile/{ => layout}/Header.jsx (100%) rename frontend-temp/src/components/mobile/{ => layout}/Layout.jsx (100%) create mode 100644 frontend-temp/src/components/mobile/layout/index.js rename frontend-temp/src/components/mobile/{ => schedule}/BirthdayCard.jsx (100%) rename frontend-temp/src/components/mobile/{ => schedule}/Calendar.jsx (100%) rename frontend-temp/src/components/mobile/{ => schedule}/ScheduleCard.jsx (100%) rename frontend-temp/src/components/mobile/{ => schedule}/ScheduleListCard.jsx (100%) rename frontend-temp/src/components/mobile/{ => schedule}/ScheduleSearchCard.jsx (100%) create mode 100644 frontend-temp/src/components/mobile/schedule/index.js rename frontend-temp/src/components/pc/admin/{ => common}/ConfirmDialog.jsx (100%) rename frontend-temp/src/components/pc/admin/{ => common}/DatePicker.jsx (100%) rename frontend-temp/src/components/pc/admin/{ => common}/NumberPicker.jsx (100%) rename frontend-temp/src/components/pc/admin/{ => common}/TimePicker.jsx (100%) create mode 100644 frontend-temp/src/components/pc/admin/common/index.js rename frontend-temp/src/components/pc/admin/{ => layout}/Header.jsx (100%) rename frontend-temp/src/components/pc/admin/{ => layout}/Layout.jsx (100%) create mode 100644 frontend-temp/src/components/pc/admin/layout/index.js rename frontend-temp/src/components/pc/admin/{ => schedule}/AdminScheduleCard.jsx (100%) rename frontend-temp/src/components/pc/public/{ => layout}/Footer.jsx (100%) rename frontend-temp/src/components/pc/public/{ => layout}/Header.jsx (100%) rename frontend-temp/src/components/pc/public/{ => layout}/Layout.jsx (100%) create mode 100644 frontend-temp/src/components/pc/public/layout/index.js rename frontend-temp/src/components/pc/public/{ => schedule}/BirthdayCard.jsx (100%) rename frontend-temp/src/components/pc/public/{ => schedule}/Calendar.jsx (100%) rename frontend-temp/src/components/pc/public/{ => schedule}/CategoryFilter.jsx (100%) rename frontend-temp/src/components/pc/public/{ => schedule}/ScheduleCard.jsx (100%) create mode 100644 frontend-temp/src/components/pc/public/schedule/index.js diff --git a/frontend-temp/src/components/mobile/index.js b/frontend-temp/src/components/mobile/index.js index cc5f621..18c0c4a 100644 --- a/frontend-temp/src/components/mobile/index.js +++ b/frontend-temp/src/components/mobile/index.js @@ -1,11 +1,5 @@ // 레이아웃 -export { default as Layout } from './Layout'; -export { default as Header } from './Header'; -export { default as BottomNav } from './BottomNav'; +export * from './layout'; // 일정 컴포넌트 -export { default as Calendar } from './Calendar'; -export { default as ScheduleCard } from './ScheduleCard'; -export { default as ScheduleListCard } from './ScheduleListCard'; -export { default as ScheduleSearchCard } from './ScheduleSearchCard'; -export { default as BirthdayCard } from './BirthdayCard'; +export * from './schedule'; diff --git a/frontend-temp/src/components/mobile/BottomNav.jsx b/frontend-temp/src/components/mobile/layout/BottomNav.jsx similarity index 100% rename from frontend-temp/src/components/mobile/BottomNav.jsx rename to frontend-temp/src/components/mobile/layout/BottomNav.jsx diff --git a/frontend-temp/src/components/mobile/Header.jsx b/frontend-temp/src/components/mobile/layout/Header.jsx similarity index 100% rename from frontend-temp/src/components/mobile/Header.jsx rename to frontend-temp/src/components/mobile/layout/Header.jsx diff --git a/frontend-temp/src/components/mobile/Layout.jsx b/frontend-temp/src/components/mobile/layout/Layout.jsx similarity index 100% rename from frontend-temp/src/components/mobile/Layout.jsx rename to frontend-temp/src/components/mobile/layout/Layout.jsx diff --git a/frontend-temp/src/components/mobile/layout/index.js b/frontend-temp/src/components/mobile/layout/index.js new file mode 100644 index 0000000..4ec95de --- /dev/null +++ b/frontend-temp/src/components/mobile/layout/index.js @@ -0,0 +1,3 @@ +export { default as Layout } from './Layout'; +export { default as Header } from './Header'; +export { default as BottomNav } from './BottomNav'; diff --git a/frontend-temp/src/components/mobile/BirthdayCard.jsx b/frontend-temp/src/components/mobile/schedule/BirthdayCard.jsx similarity index 100% rename from frontend-temp/src/components/mobile/BirthdayCard.jsx rename to frontend-temp/src/components/mobile/schedule/BirthdayCard.jsx diff --git a/frontend-temp/src/components/mobile/Calendar.jsx b/frontend-temp/src/components/mobile/schedule/Calendar.jsx similarity index 100% rename from frontend-temp/src/components/mobile/Calendar.jsx rename to frontend-temp/src/components/mobile/schedule/Calendar.jsx diff --git a/frontend-temp/src/components/mobile/ScheduleCard.jsx b/frontend-temp/src/components/mobile/schedule/ScheduleCard.jsx similarity index 100% rename from frontend-temp/src/components/mobile/ScheduleCard.jsx rename to frontend-temp/src/components/mobile/schedule/ScheduleCard.jsx diff --git a/frontend-temp/src/components/mobile/ScheduleListCard.jsx b/frontend-temp/src/components/mobile/schedule/ScheduleListCard.jsx similarity index 100% rename from frontend-temp/src/components/mobile/ScheduleListCard.jsx rename to frontend-temp/src/components/mobile/schedule/ScheduleListCard.jsx diff --git a/frontend-temp/src/components/mobile/ScheduleSearchCard.jsx b/frontend-temp/src/components/mobile/schedule/ScheduleSearchCard.jsx similarity index 100% rename from frontend-temp/src/components/mobile/ScheduleSearchCard.jsx rename to frontend-temp/src/components/mobile/schedule/ScheduleSearchCard.jsx diff --git a/frontend-temp/src/components/mobile/schedule/index.js b/frontend-temp/src/components/mobile/schedule/index.js new file mode 100644 index 0000000..348feab --- /dev/null +++ b/frontend-temp/src/components/mobile/schedule/index.js @@ -0,0 +1,5 @@ +export { default as Calendar } from './Calendar'; +export { default as ScheduleCard } from './ScheduleCard'; +export { default as ScheduleListCard } from './ScheduleListCard'; +export { default as ScheduleSearchCard } from './ScheduleSearchCard'; +export { default as BirthdayCard } from './BirthdayCard'; diff --git a/frontend-temp/src/components/pc/admin/ConfirmDialog.jsx b/frontend-temp/src/components/pc/admin/common/ConfirmDialog.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/ConfirmDialog.jsx rename to frontend-temp/src/components/pc/admin/common/ConfirmDialog.jsx diff --git a/frontend-temp/src/components/pc/admin/DatePicker.jsx b/frontend-temp/src/components/pc/admin/common/DatePicker.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/DatePicker.jsx rename to frontend-temp/src/components/pc/admin/common/DatePicker.jsx diff --git a/frontend-temp/src/components/pc/admin/NumberPicker.jsx b/frontend-temp/src/components/pc/admin/common/NumberPicker.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/NumberPicker.jsx rename to frontend-temp/src/components/pc/admin/common/NumberPicker.jsx diff --git a/frontend-temp/src/components/pc/admin/TimePicker.jsx b/frontend-temp/src/components/pc/admin/common/TimePicker.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/TimePicker.jsx rename to frontend-temp/src/components/pc/admin/common/TimePicker.jsx diff --git a/frontend-temp/src/components/pc/admin/common/index.js b/frontend-temp/src/components/pc/admin/common/index.js new file mode 100644 index 0000000..7a69392 --- /dev/null +++ b/frontend-temp/src/components/pc/admin/common/index.js @@ -0,0 +1,4 @@ +export { default as ConfirmDialog } from './ConfirmDialog'; +export { default as DatePicker } from './DatePicker'; +export { default as TimePicker } from './TimePicker'; +export { default as NumberPicker } from './NumberPicker'; diff --git a/frontend-temp/src/components/pc/admin/index.js b/frontend-temp/src/components/pc/admin/index.js index aebc090..8c47f41 100644 --- a/frontend-temp/src/components/pc/admin/index.js +++ b/frontend-temp/src/components/pc/admin/index.js @@ -1,10 +1,8 @@ // 레이아웃 -export { default as AdminLayout } from './Layout'; -export { default as AdminHeader } from './Header'; +export * from './layout'; // 공통 컴포넌트 -export { default as AdminScheduleCard } from './AdminScheduleCard'; -export { default as ConfirmDialog } from './ConfirmDialog'; -export { default as NumberPicker } from './NumberPicker'; -export { default as DatePicker } from './DatePicker'; -export { default as TimePicker } from './TimePicker'; +export * from './common'; + +// 스케줄 관련 +export * from './schedule'; diff --git a/frontend-temp/src/components/pc/admin/Header.jsx b/frontend-temp/src/components/pc/admin/layout/Header.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/Header.jsx rename to frontend-temp/src/components/pc/admin/layout/Header.jsx diff --git a/frontend-temp/src/components/pc/admin/Layout.jsx b/frontend-temp/src/components/pc/admin/layout/Layout.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/Layout.jsx rename to frontend-temp/src/components/pc/admin/layout/Layout.jsx diff --git a/frontend-temp/src/components/pc/admin/layout/index.js b/frontend-temp/src/components/pc/admin/layout/index.js new file mode 100644 index 0000000..a8c07f2 --- /dev/null +++ b/frontend-temp/src/components/pc/admin/layout/index.js @@ -0,0 +1,2 @@ +export { default as AdminLayout } from './Layout'; +export { default as AdminHeader } from './Header'; diff --git a/frontend-temp/src/components/pc/admin/AdminScheduleCard.jsx b/frontend-temp/src/components/pc/admin/schedule/AdminScheduleCard.jsx similarity index 100% rename from frontend-temp/src/components/pc/admin/AdminScheduleCard.jsx rename to frontend-temp/src/components/pc/admin/schedule/AdminScheduleCard.jsx diff --git a/frontend-temp/src/components/pc/admin/schedule/index.js b/frontend-temp/src/components/pc/admin/schedule/index.js index 8c7cfe7..e36d19c 100644 --- a/frontend-temp/src/components/pc/admin/schedule/index.js +++ b/frontend-temp/src/components/pc/admin/schedule/index.js @@ -1 +1,2 @@ +export { default as AdminScheduleCard } from './AdminScheduleCard'; export { default as CategorySelector } from './CategorySelector'; diff --git a/frontend-temp/src/components/pc/public/index.js b/frontend-temp/src/components/pc/public/index.js index a128ea5..18c0c4a 100644 --- a/frontend-temp/src/components/pc/public/index.js +++ b/frontend-temp/src/components/pc/public/index.js @@ -1,10 +1,5 @@ // 레이아웃 -export { default as Layout } from './Layout'; -export { default as Header } from './Header'; -export { default as Footer } from './Footer'; +export * from './layout'; // 일정 컴포넌트 -export { default as Calendar } from './Calendar'; -export { default as ScheduleCard } from './ScheduleCard'; -export { default as BirthdayCard } from './BirthdayCard'; -export { default as CategoryFilter } from './CategoryFilter'; +export * from './schedule'; diff --git a/frontend-temp/src/components/pc/public/Footer.jsx b/frontend-temp/src/components/pc/public/layout/Footer.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/Footer.jsx rename to frontend-temp/src/components/pc/public/layout/Footer.jsx diff --git a/frontend-temp/src/components/pc/public/Header.jsx b/frontend-temp/src/components/pc/public/layout/Header.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/Header.jsx rename to frontend-temp/src/components/pc/public/layout/Header.jsx diff --git a/frontend-temp/src/components/pc/public/Layout.jsx b/frontend-temp/src/components/pc/public/layout/Layout.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/Layout.jsx rename to frontend-temp/src/components/pc/public/layout/Layout.jsx diff --git a/frontend-temp/src/components/pc/public/layout/index.js b/frontend-temp/src/components/pc/public/layout/index.js new file mode 100644 index 0000000..85bb816 --- /dev/null +++ b/frontend-temp/src/components/pc/public/layout/index.js @@ -0,0 +1,3 @@ +export { default as Layout } from './Layout'; +export { default as Header } from './Header'; +export { default as Footer } from './Footer'; diff --git a/frontend-temp/src/components/pc/public/BirthdayCard.jsx b/frontend-temp/src/components/pc/public/schedule/BirthdayCard.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/BirthdayCard.jsx rename to frontend-temp/src/components/pc/public/schedule/BirthdayCard.jsx diff --git a/frontend-temp/src/components/pc/public/Calendar.jsx b/frontend-temp/src/components/pc/public/schedule/Calendar.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/Calendar.jsx rename to frontend-temp/src/components/pc/public/schedule/Calendar.jsx diff --git a/frontend-temp/src/components/pc/public/CategoryFilter.jsx b/frontend-temp/src/components/pc/public/schedule/CategoryFilter.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/CategoryFilter.jsx rename to frontend-temp/src/components/pc/public/schedule/CategoryFilter.jsx diff --git a/frontend-temp/src/components/pc/public/ScheduleCard.jsx b/frontend-temp/src/components/pc/public/schedule/ScheduleCard.jsx similarity index 100% rename from frontend-temp/src/components/pc/public/ScheduleCard.jsx rename to frontend-temp/src/components/pc/public/schedule/ScheduleCard.jsx diff --git a/frontend-temp/src/components/pc/public/schedule/index.js b/frontend-temp/src/components/pc/public/schedule/index.js new file mode 100644 index 0000000..196d75a --- /dev/null +++ b/frontend-temp/src/components/pc/public/schedule/index.js @@ -0,0 +1,4 @@ +export { default as Calendar } from './Calendar'; +export { default as ScheduleCard } from './ScheduleCard'; +export { default as BirthdayCard } from './BirthdayCard'; +export { default as CategoryFilter } from './CategoryFilter'; diff --git a/frontend-temp/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx b/frontend-temp/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx index 434dcdf..9e0a2f2 100644 --- a/frontend-temp/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx +++ b/frontend-temp/src/pages/pc/admin/schedules/edit/YouTubeEditForm.jsx @@ -12,7 +12,7 @@ import { Users, Check, } from "lucide-react"; -import AdminLayout from "@/components/pc/admin/Layout"; +import AdminLayout from "@/components/pc/admin/layout/Layout"; import Toast from "@/components/common/Toast"; import { useAdminAuth } from "@/hooks/pc/admin"; import { useToast } from "@/hooks/common"; diff --git a/frontend-temp/src/pages/pc/admin/schedules/form/index.jsx b/frontend-temp/src/pages/pc/admin/schedules/form/index.jsx index 5e2f087..85c0833 100644 --- a/frontend-temp/src/pages/pc/admin/schedules/form/index.jsx +++ b/frontend-temp/src/pages/pc/admin/schedules/form/index.jsx @@ -2,7 +2,7 @@ import { useState, useEffect } from "react"; import { useNavigate, Link } from "react-router-dom"; import { motion, AnimatePresence } from "framer-motion"; import { Home, ChevronRight } from "lucide-react"; -import AdminLayout from "@/components/pc/admin/Layout"; +import AdminLayout from "@/components/pc/admin/layout/Layout"; import { useAdminAuth } from "@/hooks/pc/admin"; import * as categoriesApi from "@/api/admin/categories"; import CategorySelector from "@/components/pc/admin/schedule/CategorySelector";