diff --git a/src/app/(main)/events/create/steps/ApprovalStep.tsx b/src/app/(main)/events/create/steps/ApprovalStep.tsx index 043a63f..465029e 100644 --- a/src/app/(main)/events/create/steps/ApprovalStep.tsx +++ b/src/app/(main)/events/create/steps/ApprovalStep.tsx @@ -97,13 +97,28 @@ export default function ApprovalStep({ eventData, onApprove, onBack }: ApprovalS }} > - - + + 이벤트 제목 {eventData.recommendation?.title || '이벤트 제목'} @@ -120,16 +135,36 @@ export default function ApprovalStep({ eventData, onApprove, onBack }: ApprovalS }} > - - + + 목표 참여자 {eventData.recommendation?.expectedParticipants || 0} - + @@ -146,16 +181,36 @@ export default function ApprovalStep({ eventData, onApprove, onBack }: ApprovalS }} > - - + + 예상 비용 {((eventData.recommendation?.estimatedCost || 0) / 10000).toFixed(0)} - + 만원 @@ -172,13 +227,28 @@ export default function ApprovalStep({ eventData, onApprove, onBack }: ApprovalS }} > - - + + 예상 ROI {eventData.recommendation?.roi || 0}% diff --git a/src/app/(main)/events/page.tsx b/src/app/(main)/events/page.tsx index c6b0ea4..1a2dea4 100644 --- a/src/app/(main)/events/page.tsx +++ b/src/app/(main)/events/page.tsx @@ -250,14 +250,29 @@ export default function EventsPage() { }} > - + {stats.total} - + 전체 이벤트 @@ -273,14 +288,29 @@ export default function EventsPage() { }} > - + {stats.active} - + 진행중 @@ -296,14 +326,29 @@ export default function EventsPage() { }} > - + {stats.totalParticipants} - + 총 참여자 @@ -319,14 +364,29 @@ export default function EventsPage() { }} > - + {stats.avgROI}% - + 평균 ROI diff --git a/src/app/(main)/page.tsx b/src/app/(main)/page.tsx index 6dbac59..a6888e0 100644 --- a/src/app/(main)/page.tsx +++ b/src/app/(main)/page.tsx @@ -122,7 +122,7 @@ export default function HomePage() { width: 64, height: 64, borderRadius: '50%', - bgcolor: 'rgba(255, 255, 255, 0.2)', + bgcolor: 'rgba(0, 0, 0, 0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', @@ -130,22 +130,32 @@ export default function HomePage() { mb: 3, }} > - + 진행 중인 이벤트 {activeEvents.length} @@ -167,7 +177,7 @@ export default function HomePage() { width: 64, height: 64, borderRadius: '50%', - bgcolor: 'rgba(255, 255, 255, 0.2)', + bgcolor: 'rgba(0, 0, 0, 0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', @@ -175,22 +185,32 @@ export default function HomePage() { mb: 3, }} > - + 총 참여자 {totalParticipants.toLocaleString()} @@ -212,7 +232,7 @@ export default function HomePage() { width: 64, height: 64, borderRadius: '50%', - bgcolor: 'rgba(255, 255, 255, 0.2)', + bgcolor: 'rgba(0, 0, 0, 0.05)', display: 'flex', alignItems: 'center', justifyContent: 'center', @@ -220,22 +240,32 @@ export default function HomePage() { mb: 3, }} > - + 평균 ROI {avgROI}% diff --git a/src/app/(main)/profile/page.tsx b/src/app/(main)/profile/page.tsx index 5184a57..b970fd5 100644 --- a/src/app/(main)/profile/page.tsx +++ b/src/app/(main)/profile/page.tsx @@ -7,10 +7,12 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; import { Box, + Container, TextField, Button, Typography, - Paper, + Card, + CardContent, Avatar, Select, MenuItem, @@ -26,7 +28,8 @@ import { import { Person, Visibility, VisibilityOff, CheckCircle } from '@mui/icons-material'; import { useAuthStore } from '@/stores/authStore'; import { useUIStore } from '@/stores/uiStore'; -import { getGradientButtonStyle, responsiveText, containerStyles } from '@/shared/lib/button-styles'; +import Header from '@/shared/ui/Header'; +import { cardStyles, colors, responsiveText } from '@/shared/lib/button-styles'; // 기본 정보 스키마 const basicInfoSchema = z.object({ @@ -186,304 +189,341 @@ export default function ProfilePage() { }; return ( - - - {/* 사용자 정보 섹션 */} - - - - - - {user?.name} - - - {user?.email} - - + <> +
+ + + {/* 사용자 정보 섹션 */} + + + + + + + {user?.name} + + + {user?.email} + + + - {/* 기본 정보 */} - - - 기본 정보 - + {/* 기본 정보 */} + + + + 기본 정보 + - - ( - - )} - /> - - ( - { - const formatted = formatPhoneNumber(e.target.value); - field.onChange(formatted); - }} - error={!!basicErrors.phone} - helperText={basicErrors.phone?.message} - /> - )} - /> - - ( - - )} - /> - - - - {/* 매장 정보 */} - - - 매장 정보 - - - - ( - - )} - /> - - ( - - 업종 - - {businessErrors.businessType && ( - - {businessErrors.businessType.message} - + + ( + )} - - )} - /> - - ( - - )} - /> - - ( - - )} - /> - - - {/* 비밀번호 변경 */} - - - 비밀번호 변경 - + ( + { + const formatted = formatPhoneNumber(e.target.value); + field.onChange(formatted); + }} + error={!!basicErrors.phone} + helperText={basicErrors.phone?.message} + /> + )} + /> - - ( - ( + + )} + /> + + + + + {/* 매장 정보 */} + + + + 매장 정보 + + + + ( + + )} + /> + + ( + + 업종 + + {businessErrors.businessType && ( + + {businessErrors.businessType.message} + + )} + + )} + /> + + ( + + )} + /> + + ( + + )} + /> + + + + + {/* 비밀번호 변경 */} + + + + 비밀번호 변경 + + + + ( + + setShowCurrentPassword(!showCurrentPassword)} + edge="end" + > + {showCurrentPassword ? : } + + + ), + }} + /> + )} + /> + + ( + + setShowNewPassword(!showNewPassword)} + edge="end" + > + {showNewPassword ? : } + + + ), + }} + /> + )} + /> + + ( + + setShowConfirmPassword(!showConfirmPassword)} + edge="end" + > + {showConfirmPassword ? : } + + + ), + }} + /> + )} + /> + + + + + + {/* 액션 버튼 */} + + - - - {/* 액션 버튼 */} - - - - + {/* 저장 완료 다이얼로그 */} - setSuccessDialogOpen(false)}> + setSuccessDialogOpen(false)} + PaperProps={{ + sx: { + borderRadius: 4, + minWidth: 300, + }, + }} + > - + 저장 완료 - + 프로필 정보가 업데이트되었습니다. @@ -496,8 +536,15 @@ export default function ProfilePage() { }} sx={{ minWidth: 120, - py: { xs: 1.25, sm: 1.5 }, - ...getGradientButtonStyle('success'), + py: 2, + borderRadius: 2, + fontSize: '1rem', + fontWeight: 700, + background: `linear-gradient(135deg, ${colors.purple} 0%, ${colors.pink} 100%)`, + '&:hover': { + background: `linear-gradient(135deg, ${colors.purple} 0%, ${colors.pink} 100%)`, + opacity: 0.9, + }, }} > 확인 @@ -506,29 +553,51 @@ export default function ProfilePage() { {/* 로그아웃 확인 다이얼로그 */} - setLogoutDialogOpen(false)}> - 로그아웃 + setLogoutDialogOpen(false)} + PaperProps={{ + sx: { + borderRadius: 4, + minWidth: 300, + }, + }} + > + 로그아웃 - + 로그아웃 하시겠습니까? - + - + ); }