구조 개편 1단계: components/ 를 common/pc/mobile/로 분리
- components/common/: Select, Tooltip, ConfirmDialog, DatePicker, Checkbox, LoginDialog, CharacterSuggestDropdown (device 독립) - components/pc/: Layout, Footer, NoticeWidget (PC 전용) - components/mobile/: (placeholder) - 모든 import path 업데이트 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
45d325dfbe
commit
4789c56dfa
23 changed files with 24 additions and 24 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
import { Routes, Route } from 'react-router-dom'
|
import { Routes, Route } from 'react-router-dom'
|
||||||
import Layout from './components/Layout'
|
import Layout from './components/pc/Layout'
|
||||||
import Home from './pages/Home'
|
import Home from './pages/Home'
|
||||||
import FeaturePage from './features/FeaturePage'
|
import FeaturePage from './features/FeaturePage'
|
||||||
import AdminLayout from './features/admin/AdminLayout'
|
import AdminLayout from './features/admin/AdminLayout'
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
||||||
import { api } from '../../api/client'
|
import { api } from '../../api/client'
|
||||||
import ConfirmDialog from '../../components/ConfirmDialog'
|
import ConfirmDialog from '../../components/common/ConfirmDialog'
|
||||||
import { useAuthStore } from '../../stores/auth'
|
import { useAuthStore } from '../../stores/auth'
|
||||||
|
|
||||||
/* ── 공용 모달 ── */
|
/* ── 공용 모달 ── */
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom'
|
||||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
||||||
import { api } from '../../api/client'
|
import { api } from '../../api/client'
|
||||||
import ImagePicker from './components/ImagePicker'
|
import ImagePicker from './components/ImagePicker'
|
||||||
import ConfirmDialog from '../../components/ConfirmDialog'
|
import ConfirmDialog from '../../components/common/ConfirmDialog'
|
||||||
|
|
||||||
function Field({ label, hint, error, required, children }) {
|
function Field({ label, hint, error, required, children }) {
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { useEffect, useLayoutEffect } from 'react'
|
import { useEffect, useLayoutEffect } from 'react'
|
||||||
import { useQuery, useQueries } from '@tanstack/react-query'
|
import { useQuery, useQueries } from '@tanstack/react-query'
|
||||||
import { api } from '../../api/client'
|
import { api } from '../../api/client'
|
||||||
import { useLayout } from '../../components/Layout'
|
import { useLayout } from '../../components/pc/Layout'
|
||||||
import CharacterPanel from './user/CharacterPanel'
|
import CharacterPanel from './user/CharacterPanel'
|
||||||
import BossSelector from './user/BossSelector'
|
import BossSelector from './user/BossSelector'
|
||||||
import { useBossStore } from './store'
|
import { useBossStore } from './store'
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@ import { useState, useEffect, useRef } from 'react'
|
||||||
import { useNavigate, useParams } from 'react-router-dom'
|
import { useNavigate, useParams } from 'react-router-dom'
|
||||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
||||||
import { api } from '../../../api/client'
|
import { api } from '../../../api/client'
|
||||||
import ConfirmDialog from '../../../components/ConfirmDialog'
|
import ConfirmDialog from '../../../components/common/ConfirmDialog'
|
||||||
import Checkbox from '../../../components/Checkbox'
|
import Checkbox from '../../../components/common/Checkbox'
|
||||||
import Select from '../../../components/Select'
|
import Select from '../../../components/common/Select'
|
||||||
import { useAuthStore } from '../../../stores/auth'
|
import { useAuthStore } from '../../../stores/auth'
|
||||||
import { DIFFICULTIES, formatMeso, getDifficultyImageUrl } from './constants'
|
import { DIFFICULTIES, formatMeso, getDifficultyImageUrl } from './constants'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import {
|
||||||
} from '@dnd-kit/sortable'
|
} from '@dnd-kit/sortable'
|
||||||
import { CSS } from '@dnd-kit/utilities'
|
import { CSS } from '@dnd-kit/utilities'
|
||||||
import { api } from '../../../api/client'
|
import { api } from '../../../api/client'
|
||||||
import Tooltip from '../../../components/Tooltip'
|
import Tooltip from '../../../components/common/Tooltip'
|
||||||
import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from './constants'
|
import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from './constants'
|
||||||
|
|
||||||
function BossCardContent({ boss, dragging = false }) {
|
function BossCardContent({ boss, dragging = false }) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import Select from '../../../components/Select'
|
import Select from '../../../components/common/Select'
|
||||||
import { DIFFICULTIES, formatMeso } from '../admin/constants'
|
import { DIFFICULTIES, formatMeso } from '../admin/constants'
|
||||||
|
|
||||||
const LABEL_EN = { easy: 'EASY', normal: 'NORMAL', hard: 'HARD', chaos: 'CHAOS', extreme: 'EXTREME' }
|
const LABEL_EN = { easy: 'EASY', normal: 'NORMAL', hard: 'HARD', chaos: 'CHAOS', extreme: 'EXTREME' }
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@ import { useMutation } from '@tanstack/react-query'
|
||||||
import { Reorder, useDragControls } from 'framer-motion'
|
import { Reorder, useDragControls } from 'framer-motion'
|
||||||
import { OverlayScrollbarsComponent } from 'overlayscrollbars-react'
|
import { OverlayScrollbarsComponent } from 'overlayscrollbars-react'
|
||||||
import { api } from '../../../api/client'
|
import { api } from '../../../api/client'
|
||||||
import ConfirmDialog from '../../../components/ConfirmDialog'
|
import ConfirmDialog from '../../../components/common/ConfirmDialog'
|
||||||
import Tooltip from '../../../components/Tooltip'
|
import Tooltip from '../../../components/common/Tooltip'
|
||||||
import CharacterSuggestDropdown from '../../../components/CharacterSuggestDropdown'
|
import CharacterSuggestDropdown from '../../../components/common/CharacterSuggestDropdown'
|
||||||
import { useFitText } from '../../../hooks/useFitText'
|
import { useFitText } from '../../../hooks/useFitText'
|
||||||
import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from '../admin/constants'
|
import { DIFFICULTIES, formatMeso, getDifficultyBadgeStyle } from '../admin/constants'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,9 @@ import QuestSelector from './components/QuestSelector'
|
||||||
import PointsInput from './components/PointsInput'
|
import PointsInput from './components/PointsInput'
|
||||||
import ProgressBar from './components/ProgressBar'
|
import ProgressBar from './components/ProgressBar'
|
||||||
import WeeklyDefault from './components/WeeklyDefault'
|
import WeeklyDefault from './components/WeeklyDefault'
|
||||||
import DatePicker from '../../components/DatePicker'
|
import DatePicker from '../../components/common/DatePicker'
|
||||||
import ConfirmDialog from '../../components/ConfirmDialog'
|
import ConfirmDialog from '../../components/common/ConfirmDialog'
|
||||||
import { useLayout } from '../../components/Layout'
|
import { useLayout } from '../../components/pc/Layout'
|
||||||
|
|
||||||
function makeEmptyWeekly() {
|
function makeEmptyWeekly() {
|
||||||
const bosses = {}
|
const bosses = {}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import Select from '../../../components/Select'
|
import Select from '../../../components/common/Select'
|
||||||
import Tooltip from '../../../components/Tooltip'
|
import Tooltip from '../../../components/common/Tooltip'
|
||||||
import WeeklyScheduler from './WeeklyScheduler'
|
import WeeklyScheduler from './WeeklyScheduler'
|
||||||
import { WEEKLY_BOSSES, MONTHLY_BOSSES, LIBERATION_BOSS_IMAGE_BASE, calcPoints } from '../data'
|
import { WEEKLY_BOSSES, MONTHLY_BOSSES, LIBERATION_BOSS_IMAGE_BASE, calcPoints } from '../data'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@ import dayjs from 'dayjs'
|
||||||
import utc from 'dayjs/plugin/utc'
|
import utc from 'dayjs/plugin/utc'
|
||||||
import timezone from 'dayjs/plugin/timezone'
|
import timezone from 'dayjs/plugin/timezone'
|
||||||
import { api } from '../../api/client'
|
import { api } from '../../api/client'
|
||||||
import { useLayout } from '../../components/Layout'
|
import { useLayout } from '../../components/pc/Layout'
|
||||||
import Select from '../../components/Select'
|
import Select from '../../components/common/Select'
|
||||||
import Tooltip from '../../components/Tooltip'
|
import Tooltip from '../../components/common/Tooltip'
|
||||||
import CharacterSuggestDropdown from '../../components/CharacterSuggestDropdown'
|
import CharacterSuggestDropdown from '../../components/common/CharacterSuggestDropdown'
|
||||||
import { useSymbolStore } from './store'
|
import { useSymbolStore } from './store'
|
||||||
|
|
||||||
dayjs.extend(utc)
|
dayjs.extend(utc)
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import { useState, useRef, useEffect } from 'react'
|
||||||
import { useNavigate, useParams } from 'react-router-dom'
|
import { useNavigate, useParams } from 'react-router-dom'
|
||||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
||||||
import { api } from '../../../api/client'
|
import { api } from '../../../api/client'
|
||||||
import Select from '../../../components/Select'
|
import Select from '../../../components/common/Select'
|
||||||
import ConfirmDialog from '../../../components/ConfirmDialog'
|
import ConfirmDialog from '../../../components/common/ConfirmDialog'
|
||||||
import { useAuthStore } from '../../../stores/auth'
|
import { useAuthStore } from '../../../stores/auth'
|
||||||
|
|
||||||
const TYPE_OPTIONS = [
|
const TYPE_OPTIONS = [
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { useQuery } from '@tanstack/react-query'
|
import { useQuery } from '@tanstack/react-query'
|
||||||
import { api } from '../api/client'
|
import { api } from '../api/client'
|
||||||
import NoticeWidget from '../components/NoticeWidget'
|
import NoticeWidget from '../components/pc/NoticeWidget'
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
const { data: menus = [], isLoading: loading } = useQuery({
|
const { data: menus = [], isLoading: loading } = useQuery({
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue