diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 348965a..34a03ca 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,5 +1,5 @@ import { Routes, Route } from 'react-router-dom' -import Layout from './components/Layout' +import Layout from './components/pc/Layout' import Home from './pages/Home' import FeaturePage from './features/FeaturePage' import AdminLayout from './features/admin/AdminLayout' diff --git a/frontend/src/components/CharacterSuggestDropdown.jsx b/frontend/src/components/common/CharacterSuggestDropdown.jsx similarity index 100% rename from frontend/src/components/CharacterSuggestDropdown.jsx rename to frontend/src/components/common/CharacterSuggestDropdown.jsx diff --git a/frontend/src/components/Checkbox.jsx b/frontend/src/components/common/Checkbox.jsx similarity index 100% rename from frontend/src/components/Checkbox.jsx rename to frontend/src/components/common/Checkbox.jsx diff --git a/frontend/src/components/ConfirmDialog.jsx b/frontend/src/components/common/ConfirmDialog.jsx similarity index 100% rename from frontend/src/components/ConfirmDialog.jsx rename to frontend/src/components/common/ConfirmDialog.jsx diff --git a/frontend/src/components/DatePicker.jsx b/frontend/src/components/common/DatePicker.jsx similarity index 100% rename from frontend/src/components/DatePicker.jsx rename to frontend/src/components/common/DatePicker.jsx diff --git a/frontend/src/components/LoginDialog.jsx b/frontend/src/components/common/LoginDialog.jsx similarity index 100% rename from frontend/src/components/LoginDialog.jsx rename to frontend/src/components/common/LoginDialog.jsx diff --git a/frontend/src/components/Select.jsx b/frontend/src/components/common/Select.jsx similarity index 100% rename from frontend/src/components/Select.jsx rename to frontend/src/components/common/Select.jsx diff --git a/frontend/src/components/Tooltip.jsx b/frontend/src/components/common/Tooltip.jsx similarity index 100% rename from frontend/src/components/Tooltip.jsx rename to frontend/src/components/common/Tooltip.jsx diff --git a/frontend/src/components/Footer.jsx b/frontend/src/components/pc/Footer.jsx similarity index 100% rename from frontend/src/components/Footer.jsx rename to frontend/src/components/pc/Footer.jsx diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/pc/Layout.jsx similarity index 100% rename from frontend/src/components/Layout.jsx rename to frontend/src/components/pc/Layout.jsx diff --git a/frontend/src/components/NoticeWidget.jsx b/frontend/src/components/pc/NoticeWidget.jsx similarity index 100% rename from frontend/src/components/NoticeWidget.jsx rename to frontend/src/components/pc/NoticeWidget.jsx diff --git a/frontend/src/features/admin/AdminImages.jsx b/frontend/src/features/admin/AdminImages.jsx index 5b35875..90f1002 100644 --- a/frontend/src/features/admin/AdminImages.jsx +++ b/frontend/src/features/admin/AdminImages.jsx @@ -1,7 +1,7 @@ import { useState, useEffect } from 'react' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { api } from '../../api/client' -import ConfirmDialog from '../../components/ConfirmDialog' +import ConfirmDialog from '../../components/common/ConfirmDialog' import { useAuthStore } from '../../stores/auth' /* ── 공용 모달 ── */ diff --git a/frontend/src/features/admin/AdminMenuForm.jsx b/frontend/src/features/admin/AdminMenuForm.jsx index 1b355cc..481181a 100644 --- a/frontend/src/features/admin/AdminMenuForm.jsx +++ b/frontend/src/features/admin/AdminMenuForm.jsx @@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { api } from '../../api/client' import ImagePicker from './components/ImagePicker' -import ConfirmDialog from '../../components/ConfirmDialog' +import ConfirmDialog from '../../components/common/ConfirmDialog' function Field({ label, hint, error, required, children }) { return ( diff --git a/frontend/src/features/boss-crystal/BossCrystal.jsx b/frontend/src/features/boss-crystal/BossCrystal.jsx index 94016e9..7b8185d 100644 --- a/frontend/src/features/boss-crystal/BossCrystal.jsx +++ b/frontend/src/features/boss-crystal/BossCrystal.jsx @@ -1,7 +1,7 @@ import { useEffect, useLayoutEffect } from 'react' import { useQuery, useQueries } from '@tanstack/react-query' import { api } from '../../api/client' -import { useLayout } from '../../components/Layout' +import { useLayout } from '../../components/pc/Layout' import CharacterPanel from './user/CharacterPanel' import BossSelector from './user/BossSelector' import { useBossStore } from './store' diff --git a/frontend/src/features/boss-crystal/admin/BossForm.jsx b/frontend/src/features/boss-crystal/admin/BossForm.jsx index c3a670c..861ac6c 100644 --- a/frontend/src/features/boss-crystal/admin/BossForm.jsx +++ b/frontend/src/features/boss-crystal/admin/BossForm.jsx @@ -2,9 +2,9 @@ import { useState, useEffect, useRef } from 'react' import { useNavigate, useParams } from 'react-router-dom' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { api } from '../../../api/client' -import ConfirmDialog from '../../../components/ConfirmDialog' -import Checkbox from '../../../components/Checkbox' -import Select from '../../../components/Select' +import ConfirmDialog from '../../../components/common/ConfirmDialog' +import Checkbox from '../../../components/common/Checkbox' +import Select from '../../../components/common/Select' import { useAuthStore } from '../../../stores/auth' import { DIFFICULTIES, formatMeso, getDifficultyImageUrl } from './constants' diff --git a/frontend/src/features/boss-crystal/admin/BossList.jsx b/frontend/src/features/boss-crystal/admin/BossList.jsx index dc82c96..438ab62 100644 --- a/frontend/src/features/boss-crystal/admin/BossList.jsx +++ b/frontend/src/features/boss-crystal/admin/BossList.jsx @@ -11,7 +11,7 @@ import { } from '@dnd-kit/sortable' import { CSS } from '@dnd-kit/utilities' import { api } from '../../../api/client' -import Tooltip from '../../../components/Tooltip' +import Tooltip from '../../../components/common/Tooltip' import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from './constants' function BossCardContent({ boss, dragging = false }) { diff --git a/frontend/src/features/boss-crystal/user/BossSelector.jsx b/frontend/src/features/boss-crystal/user/BossSelector.jsx index 4b5c47a..37c6b17 100644 --- a/frontend/src/features/boss-crystal/user/BossSelector.jsx +++ b/frontend/src/features/boss-crystal/user/BossSelector.jsx @@ -1,4 +1,4 @@ -import Select from '../../../components/Select' +import Select from '../../../components/common/Select' import { DIFFICULTIES, formatMeso } from '../admin/constants' const LABEL_EN = { easy: 'EASY', normal: 'NORMAL', hard: 'HARD', chaos: 'CHAOS', extreme: 'EXTREME' } diff --git a/frontend/src/features/boss-crystal/user/CharacterPanel.jsx b/frontend/src/features/boss-crystal/user/CharacterPanel.jsx index cf47d87..3aa36c7 100644 --- a/frontend/src/features/boss-crystal/user/CharacterPanel.jsx +++ b/frontend/src/features/boss-crystal/user/CharacterPanel.jsx @@ -3,9 +3,9 @@ import { useMutation } from '@tanstack/react-query' import { Reorder, useDragControls } from 'framer-motion' import { OverlayScrollbarsComponent } from 'overlayscrollbars-react' import { api } from '../../../api/client' -import ConfirmDialog from '../../../components/ConfirmDialog' -import Tooltip from '../../../components/Tooltip' -import CharacterSuggestDropdown from '../../../components/CharacterSuggestDropdown' +import ConfirmDialog from '../../../components/common/ConfirmDialog' +import Tooltip from '../../../components/common/Tooltip' +import CharacterSuggestDropdown from '../../../components/common/CharacterSuggestDropdown' import { useFitText } from '../../../hooks/useFitText' import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from '../admin/constants' diff --git a/frontend/src/features/liberation/Liberation.jsx b/frontend/src/features/liberation/Liberation.jsx index d0898ba..9de99b7 100644 --- a/frontend/src/features/liberation/Liberation.jsx +++ b/frontend/src/features/liberation/Liberation.jsx @@ -16,9 +16,9 @@ import QuestSelector from './components/QuestSelector' import PointsInput from './components/PointsInput' import ProgressBar from './components/ProgressBar' import WeeklyDefault from './components/WeeklyDefault' -import DatePicker from '../../components/DatePicker' -import ConfirmDialog from '../../components/ConfirmDialog' -import { useLayout } from '../../components/Layout' +import DatePicker from '../../components/common/DatePicker' +import ConfirmDialog from '../../components/common/ConfirmDialog' +import { useLayout } from '../../components/pc/Layout' function makeEmptyWeekly() { const bosses = {} diff --git a/frontend/src/features/liberation/components/WeeklyDefault.jsx b/frontend/src/features/liberation/components/WeeklyDefault.jsx index faca444..a9c04d1 100644 --- a/frontend/src/features/liberation/components/WeeklyDefault.jsx +++ b/frontend/src/features/liberation/components/WeeklyDefault.jsx @@ -1,5 +1,5 @@ -import Select from '../../../components/Select' -import Tooltip from '../../../components/Tooltip' +import Select from '../../../components/common/Select' +import Tooltip from '../../../components/common/Tooltip' import WeeklyScheduler from './WeeklyScheduler' import { WEEKLY_BOSSES, MONTHLY_BOSSES, LIBERATION_BOSS_IMAGE_BASE, calcPoints } from '../data' diff --git a/frontend/src/features/symbol/Symbol.jsx b/frontend/src/features/symbol/Symbol.jsx index d7368a8..ba43172 100644 --- a/frontend/src/features/symbol/Symbol.jsx +++ b/frontend/src/features/symbol/Symbol.jsx @@ -4,10 +4,10 @@ import dayjs from 'dayjs' import utc from 'dayjs/plugin/utc' import timezone from 'dayjs/plugin/timezone' import { api } from '../../api/client' -import { useLayout } from '../../components/Layout' -import Select from '../../components/Select' -import Tooltip from '../../components/Tooltip' -import CharacterSuggestDropdown from '../../components/CharacterSuggestDropdown' +import { useLayout } from '../../components/pc/Layout' +import Select from '../../components/common/Select' +import Tooltip from '../../components/common/Tooltip' +import CharacterSuggestDropdown from '../../components/common/CharacterSuggestDropdown' import { useSymbolStore } from './store' dayjs.extend(utc) diff --git a/frontend/src/features/symbol/admin/SymbolForm.jsx b/frontend/src/features/symbol/admin/SymbolForm.jsx index 8011deb..c3eb7fd 100644 --- a/frontend/src/features/symbol/admin/SymbolForm.jsx +++ b/frontend/src/features/symbol/admin/SymbolForm.jsx @@ -2,8 +2,8 @@ import { useState, useRef, useEffect } from 'react' import { useNavigate, useParams } from 'react-router-dom' import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' import { api } from '../../../api/client' -import Select from '../../../components/Select' -import ConfirmDialog from '../../../components/ConfirmDialog' +import Select from '../../../components/common/Select' +import ConfirmDialog from '../../../components/common/ConfirmDialog' import { useAuthStore } from '../../../stores/auth' const TYPE_OPTIONS = [ diff --git a/frontend/src/pages/Home.jsx b/frontend/src/pages/Home.jsx index e894271..3b43edd 100644 --- a/frontend/src/pages/Home.jsx +++ b/frontend/src/pages/Home.jsx @@ -1,7 +1,7 @@ import { Link } from 'react-router-dom' import { useQuery } from '@tanstack/react-query' import { api } from '../api/client' -import NoticeWidget from '../components/NoticeWidget' +import NoticeWidget from '../components/pc/NoticeWidget' export default function Home() { const { data: menus = [], isLoading: loading } = useQuery({