@@ -9,67 +9,67 @@ interface EmailTemplateProps {
99const EmailTemplate : React . FC < EmailTemplateProps > = ( { toEmail, quizLink } ) => {
1010 const navigate = useNavigate ( ) ;
1111 return (
12- < div className = "font-pretendard p-10" >
13- < div className = "max-w-2xl mx-auto bg-white rounded-2xl shadow-lg overflow-hidden" >
12+ < div className = "font-pretendard p-4 sm:p-6 lg:p- 10" >
13+ < div className = "max-w-2xl mx-auto bg-white rounded-xl sm:rounded- 2xl shadow-lg overflow-hidden" >
1414 { /* Header with Logo */ }
15- < div className = "bg-gradient-to-r from-brand-500 to-brand-600 p-8 text-center" >
16- < div className = "flex items-center justify-center space-x-2 mb-4" >
17- < span className = "text-3xl font-bold text-white" > CS</ span >
18- < span className = "text-3xl font-bold text-blue-100" > 25</ span >
15+ < div className = "bg-gradient-to-r from-brand-500 to-brand-600 p-6 sm:p- 8 text-center" >
16+ < div className = "flex items-center justify-center space-x-2 mb-3 sm:mb- 4" >
17+ < span className = "text-2xl sm:text- 3xl font-bold text-white" > CS</ span >
18+ < span className = "text-2xl sm:text- 3xl font-bold text-blue-100" > 25</ span >
1919 </ div >
20- < h1 className = "text-2xl font-bold text-white" > 오늘의 CS 문제</ h1 >
21- < p className = "text-brand-100 mt-2" > AI가 준비한 맞춤형 문제를 확인하세요</ p >
20+ < h1 className = "text-xl sm:text- 2xl font-bold text-white" > 오늘의 CS 문제</ h1 >
21+ < p className = "text-sm sm:text-base text- brand-100 mt-2" > AI가 준비한 맞춤형 문제를 확인하세요</ p >
2222 </ div >
2323
2424 { /* Content */ }
25- < div className = "p-8" >
26- < div className = "text-center mb-8" >
27- < div className = "w-20 h-20 bg-brand-100 rounded-full flex items-center justify-center mx-auto mb-4" >
28- < svg className = "w-10 h-10 text-brand-600" fill = "none" stroke = "currentColor" viewBox = "0 0 24 24" >
25+ < div className = "p-6 sm:p- 8" >
26+ < div className = "text-center mb-6 sm:mb- 8" >
27+ < div className = "w-16 h-16 sm:w- 20 sm: h-20 bg-brand-100 rounded-full flex items-center justify-center mx-auto mb-3 sm: mb-4" >
28+ < svg className = "w-8 h-8 sm:w- 10 sm: h-10 text-brand-600" fill = "none" stroke = "currentColor" viewBox = "0 0 24 24" >
2929 < path strokeLinecap = "round" strokeLinejoin = "round" strokeWidth = { 2 } d = "M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
3030 </ svg >
3131 </ div >
32- < h2 className = "text-2xl font-bold text-gray-900 mb-4" > 오늘의 문제를 풀어보세요!</ h2 >
33- < p className = "text-gray-600 leading-relaxed mb-6 " >
34- 안녕하세요! CS25에서 오늘의 맞춤형 CS 문제를 보내드립니다.< br />
35- AI가 생성한 문제와 상세한 해설로 CS 지식을 향상시켜보세요.
32+ < h2 className = "text-xl sm:text- 2xl font-bold text-gray-900 mb-3 sm: mb-4" > 오늘의 문제를 풀어보세요!</ h2 >
33+ < p className = "text-sm sm:text-base text- gray-600 leading-relaxed mb-4 sm:mb-6 px-2 sm:px-0 " >
34+ 안녕하세요! CS25에서 오늘의 맞춤형 CS 문제를 보내드립니다.< br className = "hidden sm:block" />
35+ < span className = "block sm:inline" > AI가 생성한 문제와 상세한 해설로 CS 지식을 향상시켜보세요.</ span >
3636 </ p >
3737 </ div >
3838
3939 { /* Action Button */ }
40- < div className = "text-center mb-8" >
40+ < div className = "text-center mb-6 sm:mb- 8" >
4141 < button
4242 onClick = { ( ) => navigate ( '/quiz' ) }
43- className = "inline-block bg-gradient-to-r from-brand-500 to-brand-600 text-white px-8 py-4 rounded-full font-semibold text-lg transition-all duration-300 hover:from-brand-600 hover:to-brand-700 hover:shadow-lg"
43+ className = "inline-block bg-gradient-to-r from-brand-500 to-brand-600 text-white px-6 sm:px- 8 py-3 sm:py- 4 rounded-full font-semibold text-base sm:text- lg transition-all duration-300 hover:from-brand-600 hover:to-brand-700 hover:shadow-lg w-full sm:w-auto max-w-xs "
4444 >
4545 🧠 연습문제 풀기
4646 </ button >
4747 </ div >
4848
4949 { /* Today's Topic Preview */ }
50- < div className = "bg-gray-50 rounded-xl p-6 mb-8" >
51- < h3 className = "text-lg font-bold text-gray-900 mb-2" > 오늘의 주제</ h3 >
52- < div className = "flex flex-wrap gap-2" >
53- < span className = "bg-brand-100 text-brand-700 px-3 py-1 rounded-full text-sm font-medium" > 알고리즘</ span >
54- < span className = "bg-navy-100 text-navy-700 px-3 py-1 rounded-full text-sm font-medium" > 시간복잡도</ span >
50+ < div className = "bg-gray-50 rounded-lg sm:rounded- xl p-4 sm:p-6 mb-6 sm: mb-8" >
51+ < h3 className = "text-base sm:text- lg font-bold text-gray-900 mb-2" > 오늘의 주제</ h3 >
52+ < div className = "flex flex-wrap gap-2 justify-center sm:justify-start " >
53+ < span className = "bg-brand-100 text-brand-700 px-3 py-1 rounded-full text-xs sm:text- sm font-medium" > 알고리즘</ span >
54+ < span className = "bg-navy-100 text-navy-700 px-3 py-1 rounded-full text-xs sm:text- sm font-medium" > 시간복잡도</ span >
5555 </ div >
5656 </ div >
5757
5858 { /* Subscription Settings */ }
59- < div className = "text-center mb-8" >
59+ < div className = "text-center mb-6 sm:mb- 8" >
6060 < button
6161 disabled
62- className = "inline-flex items-center space-x-2 bg-gray-100 hover:bg-gray-200 text-gray-700 px-4 py-2 rounded-lg font-medium text-sm border border-gray-200 transition-all duration-200 hover:shadow-sm"
62+ className = "inline-flex items-center space-x-2 bg-gray-100 hover:bg-gray-200 text-gray-700 px-3 sm:px- 4 py-2 rounded-lg font-medium text-xs sm: text-sm border border-gray-200 transition-all duration-200 hover:shadow-sm"
6363 >
64- < span className = "text-base" > ⚙️</ span >
64+ < span className = "text-sm sm:text- base" > ⚙️</ span >
6565 < span > 구독 설정</ span >
6666 </ button >
6767 </ div >
6868
6969 { /* Footer */ }
70- < div className = "border-t border-gray-200 pt-6" >
71- < div className = "text-center text-gray-500 text-sm space-y-2" >
72- < p >
70+ < div className = "border-t border-gray-200 pt-4 sm:pt- 6" >
71+ < div className = "text-center text-gray-500 text-xs sm:text- sm space-y-2" >
72+ < p className = "px-2 sm:px-0" >
7373 이 메일은 < span className = "font-medium text-gray-700" > { toEmail } </ span > 계정으로 발송되었습니다.
7474 </ p >
7575 < p >
0 commit comments