chore: plan/report 페이지에서 '클리닉으로' 링크 + 다운로드 버튼 제거
Guest/User × Plan/Report 4개 페이지 상단 ReportNav 의 leftSlot('클리닉으로')과
rightSlot 의 다운로드 메뉴 버튼 제거. UserReportPage 의 '다시 분석' 버튼은 유지.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
main
parent
3ddffd4455
commit
82f166a80e
|
|
@ -6,11 +6,9 @@
|
|||
* 하단에 도입 문의 CTA(PlanCTA) 가 붙습니다.
|
||||
*/
|
||||
import { useEffect } from 'react';
|
||||
import { Link, useParams, useLocation } from 'react-router';
|
||||
import { ArrowLeft } from 'lucide-react';
|
||||
import { useParams, useLocation } from 'react-router';
|
||||
import { useMarketingPlan } from '../hooks/useMarketingPlan';
|
||||
import { ReportNav } from '@/features/report/components/ReportNav';
|
||||
import { PlanDownloadMenuButton } from '../components/PlanDownloadMenuButton';
|
||||
import { PLAN_SECTIONS } from '@/shared/constants/planSections';
|
||||
import PlanBody from '../components/PlanBody';
|
||||
|
||||
|
|
@ -59,23 +57,7 @@ export default function GuestPlanPage() {
|
|||
|
||||
return (
|
||||
<div className="pt-20">
|
||||
<ReportNav
|
||||
sections={PLAN_SECTIONS}
|
||||
leftSlot={
|
||||
<Link
|
||||
to="/clinics/view-clinic"
|
||||
className="inline-flex items-center gap-1.5 text-xs font-medium text-slate-500 hover:text-primary-900 transition-colors"
|
||||
>
|
||||
<ArrowLeft size={14} />
|
||||
클리닉으로
|
||||
</Link>
|
||||
}
|
||||
rightSlot={
|
||||
<div className="flex items-center gap-2">
|
||||
<PlanDownloadMenuButton filename={`${data.clinicName}_Marketing_Plan`} plan={data} />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
<ReportNav sections={PLAN_SECTIONS} />
|
||||
<PlanBody data={data} />
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -9,11 +9,9 @@
|
|||
* 본 차수 미포함, 후속 모듈로 이관. 아래 import/render 주석 처리.
|
||||
*/
|
||||
import { useEffect } from 'react';
|
||||
import { Link, useParams, useLocation } from 'react-router';
|
||||
import { ArrowLeft } from 'lucide-react';
|
||||
import { useParams, useLocation } from 'react-router';
|
||||
import { useMarketingPlan } from '../hooks/useMarketingPlan';
|
||||
import { ReportNav } from '@/features/report/components/ReportNav';
|
||||
import { PlanDownloadMenuButton } from '../components/PlanDownloadMenuButton';
|
||||
import { PLAN_SECTIONS } from '@/shared/constants/planSections';
|
||||
import PlanBody from '../components/PlanBody';
|
||||
import MyAssetUpload from '../components/MyAssetUpload';
|
||||
|
|
@ -21,7 +19,7 @@ import MyAssetUpload from '../components/MyAssetUpload';
|
|||
import WorkflowTracker from '../components/WorkflowTracker';
|
||||
|
||||
export default function UserPlanPage() {
|
||||
const { clinicId, id } = useParams<{ clinicId: string; id: string }>();
|
||||
const { id } = useParams<{ clinicId: string; id: string }>();
|
||||
const location = useLocation();
|
||||
// const stateClinicId = (location.state as { clinicId?: string } | undefined)?.clinicId || null;
|
||||
const { data, isLoading, error } = useMarketingPlan(id);
|
||||
|
|
@ -63,23 +61,7 @@ export default function UserPlanPage() {
|
|||
|
||||
return (
|
||||
<div className="pt-20">
|
||||
<ReportNav
|
||||
sections={PLAN_SECTIONS}
|
||||
leftSlot={
|
||||
<Link
|
||||
to={`/clinics/${clinicId}`}
|
||||
className="inline-flex items-center gap-1.5 text-xs font-medium text-slate-500 hover:text-primary-900 transition-colors"
|
||||
>
|
||||
<ArrowLeft size={14} />
|
||||
클리닉으로
|
||||
</Link>
|
||||
}
|
||||
rightSlot={
|
||||
<div className="flex items-center gap-2">
|
||||
<PlanDownloadMenuButton filename={`${data.clinicName}_Marketing_Plan`} plan={data} />
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
<ReportNav sections={PLAN_SECTIONS} />
|
||||
|
||||
<PlanBody data={data} />
|
||||
|
||||
|
|
|
|||
|
|
@ -5,15 +5,14 @@
|
|||
* 본문은 UserReportPage 와 동일하나, 하단에 도입 문의 CTA가 추가되고
|
||||
* 워크스페이스용 액션바는 노출되지 않습니다.
|
||||
*/
|
||||
import { Link, useParams } from 'react-router';
|
||||
import { ArrowRight, ArrowLeft } from 'lucide-react';
|
||||
import { useParams } from 'react-router';
|
||||
import { ArrowRight } from 'lucide-react';
|
||||
import { useReportPageData } from '../hooks/useReportPageData';
|
||||
import { ReportNav } from '../components/ReportNav';
|
||||
import { ScreenshotProvider } from '../stores/ScreenshotContext';
|
||||
import { REPORT_SECTIONS } from '@/shared/constants/reportSections';
|
||||
import { buildContactMailto } from '@/shared/lib/contact';
|
||||
import ReportBody from '../components/ReportBody';
|
||||
import { DownloadMenuButton } from '../components/DownloadMenuButton';
|
||||
|
||||
export default function GuestReportPage() {
|
||||
const { id } = useParams<{ id: string }>();
|
||||
|
|
@ -44,26 +43,7 @@ export default function GuestReportPage() {
|
|||
return (
|
||||
<ScreenshotProvider screenshots={data.screenshots ?? []}>
|
||||
<div className="pt-20">
|
||||
<ReportNav
|
||||
sections={REPORT_SECTIONS}
|
||||
leftSlot={
|
||||
<Link
|
||||
to="/clinics/view-clinic"
|
||||
className="inline-flex items-center gap-1.5 text-xs font-medium text-slate-500 hover:text-primary-900 transition-colors"
|
||||
>
|
||||
<ArrowLeft size={14} />
|
||||
클리닉으로
|
||||
</Link>
|
||||
}
|
||||
rightSlot={
|
||||
<div className="flex items-center gap-2">
|
||||
<DownloadMenuButton
|
||||
filename={`${data.clinicSnapshot.name}_Marketing_Intelligence_Report`}
|
||||
report={data}
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
<ReportNav sections={REPORT_SECTIONS} />
|
||||
|
||||
{enrichStatus === 'loading' && (
|
||||
<div className="fixed bottom-6 right-6 z-50 flex items-center gap-3 px-4 py-3 bg-white rounded-xl shadow-[3px_4px_12px_rgba(0,0,0,0.06)] border border-slate-100">
|
||||
|
|
|
|||
|
|
@ -7,16 +7,15 @@
|
|||
* - 하단의 도입 문의 CTA 없음
|
||||
*/
|
||||
import { Link, useParams } from 'react-router';
|
||||
import { ArrowLeft, RefreshCw } from 'lucide-react';
|
||||
import { RefreshCw } from 'lucide-react';
|
||||
import { useReportPageData } from '../hooks/useReportPageData';
|
||||
import { ReportNav } from '../components/ReportNav';
|
||||
import { ScreenshotProvider } from '../stores/ScreenshotContext';
|
||||
import { REPORT_SECTIONS } from '@/shared/constants/reportSections';
|
||||
import ReportBody from '../components/ReportBody';
|
||||
import { DownloadMenuButton } from '../components/DownloadMenuButton';
|
||||
|
||||
export default function UserReportPage() {
|
||||
const { clinicId, id } = useParams<{ clinicId: string; id: string }>();
|
||||
const { id } = useParams<{ clinicId: string; id: string }>();
|
||||
const { data, isLoading, error, enrichStatus } = useReportPageData(id);
|
||||
|
||||
if (isLoading) {
|
||||
|
|
@ -46,21 +45,7 @@ export default function UserReportPage() {
|
|||
<div className="pt-20">
|
||||
<ReportNav
|
||||
sections={REPORT_SECTIONS}
|
||||
leftSlot={
|
||||
<Link
|
||||
to={`/clinics/${clinicId}`}
|
||||
className="inline-flex items-center gap-1.5 text-xs font-medium text-slate-500 hover:text-primary-900 transition-colors"
|
||||
>
|
||||
<ArrowLeft size={14} />
|
||||
클리닉으로
|
||||
</Link>
|
||||
}
|
||||
rightSlot={
|
||||
<div className="flex items-center gap-2">
|
||||
<DownloadMenuButton
|
||||
filename={`${data.clinicSnapshot.name}_Marketing_Intelligence_Report`}
|
||||
report={data}
|
||||
/>
|
||||
<Link
|
||||
to={`/report/loading`}
|
||||
className="inline-flex items-center gap-1.5 px-3.5 py-2 rounded-full text-xs font-medium text-slate-600 bg-slate-50 border border-slate-200 hover:bg-white hover:border-slate-300 transition-all"
|
||||
|
|
@ -68,7 +53,6 @@ export default function UserReportPage() {
|
|||
<RefreshCw size={12} />
|
||||
다시 분석
|
||||
</Link>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue