refactor(responsive): Phase 3 코드 품질 개선
- Blog/BlogMarketing/Subscription/MusicStudio: 미사용 useIsMobile 제거 - Subscription: 미사용 Link import 제거 - Blog.css: 중복 display:block 제거 - BlogMarketing: dead prop onGenerate 제거 - Todo: 카드 버튼 터치 타겟 26→36px 확대 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
||||||
import { useIsMobile } from '../../hooks/useIsMobile';
|
|
||||||
import PullToRefresh from '../../components/PullToRefresh';
|
import PullToRefresh from '../../components/PullToRefresh';
|
||||||
import FAB from '../../components/FAB';
|
import FAB from '../../components/FAB';
|
||||||
import {
|
import {
|
||||||
@@ -84,7 +83,6 @@ function usePollTask(onDone) {
|
|||||||
|
|
||||||
/* ══════════════════════════════════════════════════════════════════════════ */
|
/* ══════════════════════════════════════════════════════════════════════════ */
|
||||||
export default function BlogMarketing() {
|
export default function BlogMarketing() {
|
||||||
const isMobile = useIsMobile();
|
|
||||||
const [tab, setTab] = useState('dashboard');
|
const [tab, setTab] = useState('dashboard');
|
||||||
const [status, setStatus] = useState(null);
|
const [status, setStatus] = useState(null);
|
||||||
|
|
||||||
@@ -133,7 +131,7 @@ export default function BlogMarketing() {
|
|||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{tab === 'dashboard' && <DashboardTab />}
|
{tab === 'dashboard' && <DashboardTab />}
|
||||||
{tab === 'research' && <ResearchTab onGenerate={(id) => { setTab('write'); }} />}
|
{tab === 'research' && <ResearchTab />}
|
||||||
{tab === 'write' && <WriteTab />}
|
{tab === 'write' && <WriteTab />}
|
||||||
{tab === 'posts' && <PostsTab />}
|
{tab === 'posts' && <PostsTab />}
|
||||||
|
|
||||||
|
|||||||
@@ -472,7 +472,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.blog-list.is-visible {
|
.blog-list.is-visible {
|
||||||
display: block;
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import {
|
|||||||
updateBlogPost,
|
updateBlogPost,
|
||||||
deleteBlogPost,
|
deleteBlogPost,
|
||||||
} from '../../api';
|
} from '../../api';
|
||||||
import { useIsMobile } from '../../hooks/useIsMobile';
|
|
||||||
import PullToRefresh from '../../components/PullToRefresh';
|
import PullToRefresh from '../../components/PullToRefresh';
|
||||||
import FAB from '../../components/FAB';
|
import FAB from '../../components/FAB';
|
||||||
import './Blog.css';
|
import './Blog.css';
|
||||||
@@ -356,7 +355,6 @@ const BlogEditor = ({ post, onSave, onClose }) => {
|
|||||||
// ── 메인 Blog 컴포넌트 ───────────────────────────────────────────────────────
|
// ── 메인 Blog 컴포넌트 ───────────────────────────────────────────────────────
|
||||||
|
|
||||||
const Blog = () => {
|
const Blog = () => {
|
||||||
const isMobile = useIsMobile();
|
|
||||||
const staticPosts = useMemo(() => getBlogPosts(), []);
|
const staticPosts = useMemo(() => getBlogPosts(), []);
|
||||||
const [apiPosts, setApiPosts] = useState([]);
|
const [apiPosts, setApiPosts] = useState([]);
|
||||||
const [apiError, setApiError] = useState(false);
|
const [apiError, setApiError] = useState(false);
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import {
|
|||||||
generateStyleBoost,
|
generateStyleBoost,
|
||||||
generateVideo,
|
generateVideo,
|
||||||
} from '../../api';
|
} from '../../api';
|
||||||
import { useIsMobile } from '../../hooks/useIsMobile';
|
|
||||||
import PullToRefresh from '../../components/PullToRefresh';
|
import PullToRefresh from '../../components/PullToRefresh';
|
||||||
import FAB from '../../components/FAB';
|
import FAB from '../../components/FAB';
|
||||||
import './MusicStudio.css';
|
import './MusicStudio.css';
|
||||||
@@ -515,7 +514,6 @@ const Library = ({ tracks, onDelete, onRefresh, onExtend, onVocalRemoval, onCove
|
|||||||
───────────────────────────────────────────── */
|
───────────────────────────────────────────── */
|
||||||
export default function MusicStudio() {
|
export default function MusicStudio() {
|
||||||
/* ── 탭 ── */
|
/* ── 탭 ── */
|
||||||
const isMobile = useIsMobile();
|
|
||||||
const [tab, setTab] = useState('create');
|
const [tab, setTab] = useState('create');
|
||||||
|
|
||||||
/* ── Provider 상태 ── */
|
/* ── Provider 상태 ── */
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
import React, { useState, useEffect, useMemo, useCallback } from 'react';
|
import React, { useState, useEffect, useMemo, useCallback } from 'react';
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
import { apiGet, apiPost, apiPut, apiDelete } from '../../api';
|
import { apiGet, apiPost, apiPut, apiDelete } from '../../api';
|
||||||
import { useIsMobile } from '../../hooks/useIsMobile';
|
|
||||||
import PullToRefresh from '../../components/PullToRefresh';
|
import PullToRefresh from '../../components/PullToRefresh';
|
||||||
import FAB from '../../components/FAB';
|
import FAB from '../../components/FAB';
|
||||||
import './Subscription.css';
|
import './Subscription.css';
|
||||||
@@ -1299,7 +1297,6 @@ function ProfileTab() {
|
|||||||
|
|
||||||
// ── Subscription (Main) ──────────────────────────────────────────────────────
|
// ── Subscription (Main) ──────────────────────────────────────────────────────
|
||||||
function Subscription() {
|
function Subscription() {
|
||||||
const isMobile = useIsMobile();
|
|
||||||
const [activeTab, setActiveTab] = useState(0);
|
const [activeTab, setActiveTab] = useState(0);
|
||||||
const [refreshKey, setRefreshKey] = useState(0);
|
const [refreshKey, setRefreshKey] = useState(0);
|
||||||
|
|
||||||
|
|||||||
@@ -222,8 +222,8 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 26px;
|
width: 36px;
|
||||||
height: 26px;
|
height: 36px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid var(--line);
|
border: 1px solid var(--line);
|
||||||
background: rgba(255, 255, 255, 0.04);
|
background: rgba(255, 255, 255, 0.04);
|
||||||
|
|||||||
Reference in New Issue
Block a user