Files
sam-manage/resources/views/sales/dashboard/partials/help-modal.blade.php
김보곤 04240b2cc6 fix:도움말 모달 스타일을 커스텀 CSS로 변경
- prose 클래스 대신 커스텀 CSS 적용
- @tailwindcss/typography 플러그인 의존성 제거
- 마크다운 렌더링 스타일 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:09:26 +09:00

212 lines
6.1 KiB
PHP

{{-- 영업파트너 가이드북 도움말 모달 --}}
<div x-data="{ open: true }"
x-show="open"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="transition ease-in duration-200"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0"
class="fixed inset-0 z-50 overflow-y-auto"
aria-labelledby="modal-title"
role="dialog"
aria-modal="true">
{{-- 배경 오버레이 --}}
<div class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity" @click="open = false; setTimeout(() => { document.getElementById('help-modal-container').innerHTML = '' }, 200)"></div>
{{-- 모달 컨테이너 --}}
<div class="flex min-h-full items-center justify-center p-4">
<div x-show="open"
x-transition:enter="transition ease-out duration-300"
x-transition:enter-start="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
x-transition:enter-end="opacity-100 translate-y-0 sm:scale-100"
x-transition:leave="transition ease-in duration-200"
x-transition:leave-start="opacity-100 translate-y-0 sm:scale-100"
x-transition:leave-end="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
class="relative transform overflow-hidden rounded-xl bg-white shadow-2xl transition-all w-full max-w-6xl max-h-[90vh] flex flex-col">
{{-- 헤더 --}}
<div class="flex items-center justify-between px-6 py-4 border-b border-gray-200 bg-gradient-to-r from-blue-600 to-blue-700 flex-shrink-0">
<div class="flex items-center gap-3">
<div class="p-2 bg-white/20 rounded-lg">
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
</svg>
</div>
<h3 class="text-xl font-bold text-white" id="modal-title">영업파트너 가이드북</h3>
</div>
<button type="button"
@click="open = false; setTimeout(() => { document.getElementById('help-modal-container').innerHTML = '' }, 200)"
class="p-2 text-white/80 hover:text-white hover:bg-white/20 rounded-lg transition-colors">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
{{-- 콘텐츠 영역 --}}
<div class="flex-1 overflow-y-auto p-6">
<div class="help-content">
{!! $htmlContent !!}
</div>
</div>
{{-- 푸터 --}}
<div class="flex items-center justify-end px-6 py-4 border-t border-gray-200 bg-gray-50 flex-shrink-0">
<button type="button"
@click="open = false; setTimeout(() => { document.getElementById('help-modal-container').innerHTML = '' }, 200)"
class="px-6 py-2.5 bg-gray-600 hover:bg-gray-700 text-white font-medium rounded-lg transition-colors">
닫기
</button>
</div>
</div>
</div>
</div>
<style>
.help-content {
color: #374151;
line-height: 1.75;
}
.help-content h1 {
font-size: 2rem;
font-weight: 700;
color: #111827;
border-bottom: 2px solid #e5e7eb;
padding-bottom: 1rem;
margin-bottom: 1.5rem;
}
.help-content h2 {
font-size: 1.5rem;
font-weight: 700;
color: #1d4ed8;
margin-top: 2.5rem;
margin-bottom: 1rem;
padding-left: 1rem;
border-left: 4px solid #3b82f6;
}
.help-content h3 {
font-size: 1.25rem;
font-weight: 600;
color: #1f2937;
margin-top: 1.5rem;
margin-bottom: 0.75rem;
}
.help-content h4 {
font-size: 1.125rem;
font-weight: 500;
color: #374151;
margin-top: 1rem;
margin-bottom: 0.5rem;
}
.help-content p {
margin-bottom: 1rem;
color: #4b5563;
}
.help-content a {
color: #2563eb;
text-decoration: none;
}
.help-content a:hover {
text-decoration: underline;
}
.help-content strong {
font-weight: 600;
color: #111827;
}
.help-content code {
background-color: #f3f4f6;
color: #db2777;
padding: 0.125rem 0.375rem;
border-radius: 0.25rem;
font-size: 0.875rem;
font-family: ui-monospace, monospace;
}
.help-content pre {
background-color: #1f2937;
color: #f3f4f6;
padding: 1rem;
border-radius: 0.5rem;
overflow-x: auto;
margin: 1rem 0;
}
.help-content pre code {
background: none;
color: inherit;
padding: 0;
}
.help-content blockquote {
border-left: 4px solid #60a5fa;
background-color: #eff6ff;
padding: 0.75rem 1rem;
margin: 1rem 0;
border-radius: 0 0.5rem 0.5rem 0;
color: #1f2937;
}
.help-content blockquote p {
margin: 0;
}
.help-content table {
width: 100%;
border-collapse: collapse;
margin: 1rem 0;
}
.help-content th {
background-color: #f3f4f6;
border: 1px solid #d1d5db;
padding: 0.75rem 1rem;
text-align: left;
font-weight: 600;
color: #374151;
}
.help-content td {
border: 1px solid #d1d5db;
padding: 0.75rem 1rem;
color: #4b5563;
}
.help-content tr:nth-child(even) {
background-color: #f9fafb;
}
.help-content ul {
list-style-type: disc;
padding-left: 1.5rem;
margin: 1rem 0;
}
.help-content ol {
list-style-type: decimal;
padding-left: 1.5rem;
margin: 1rem 0;
}
.help-content li {
margin-bottom: 0.5rem;
color: #4b5563;
}
.help-content hr {
border: none;
border-top: 1px solid #e5e7eb;
margin: 2rem 0;
}
</style>