Files
sam-manage/resources/views/roadmap/documents/index.blade.php
김보곤 61df5f104a feat: [roadmap] 로드맵 문서 페이지 추가
- sam/docs 중장기 계획 문서를 렌더링하는 전용 페이지
- 비전&전략, 프로젝트 런칭, 제품 설계, 시스템 개요 4개 카테고리
- Markdown → HTML 변환 (Str::markdown)
- /roadmap/documents 목록 + /roadmap/documents/{slug} 상세
2026-03-02 16:02:51 +09:00

68 lines
3.7 KiB
PHP

@extends('layouts.app')
@section('title', '로드맵 문서')
@section('content')
<!-- 페이지 헤더 -->
<div class="flex flex-col lg:flex-row lg:justify-between lg:items-center gap-4 mb-6">
<h1 class="text-2xl font-bold text-gray-800 flex items-center gap-2">
<svg class="w-6 h-6 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
로드맵 문서
</h1>
<div class="flex flex-wrap items-center gap-2">
<a href="{{ route('roadmap.index') }}" class="inline-flex items-center gap-1 px-3 py-1.5 text-sm bg-white hover:bg-gray-100 text-gray-700 rounded-lg border transition">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
</svg>
대시보드
</a>
<a href="{{ route('roadmap.plans.index') }}" class="inline-flex items-center gap-1 px-3 py-1.5 text-sm bg-white hover:bg-gray-100 text-gray-700 rounded-lg border transition">
계획 목록
</a>
</div>
</div>
<!-- 소개 -->
<div class="bg-gradient-to-r from-indigo-50 to-blue-50 rounded-lg p-6 mb-8 border border-indigo-100">
<h2 class="text-lg font-bold text-indigo-900 mb-2">SAM 중장기 계획 문서</h2>
<p class="text-sm text-indigo-700">SAM 프로젝트의 비전, 로드맵, 제품 설계 문서를 곳에서 확인할 있습니다. 문서를 클릭하면 상세 내용을 있습니다.</p>
</div>
<!-- 문서 카테고리별 목록 -->
@foreach($registry as $group)
<div class="mb-8">
<h2 class="text-lg font-bold text-gray-800 flex items-center gap-2 mb-4">
<i class="{{ $group['icon'] }} text-{{ $group['color'] }}-600"></i>
{{ $group['category_label'] }}
</h2>
<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
@foreach($group['items'] as $item)
<a href="{{ $item['exists'] ? route('roadmap.documents.show', $item['slug']) : '#' }}"
class="block bg-white rounded-lg shadow-sm border border-gray-200 p-5 hover:shadow-md hover:border-{{ $group['color'] }}-300 transition group {{ !$item['exists'] ? 'opacity-50 cursor-not-allowed' : '' }}">
<div class="flex items-start justify-between mb-3">
<h3 class="text-sm font-bold text-gray-900 group-hover:text-{{ $group['color'] }}-700 transition leading-snug">{{ $item['title'] }}</h3>
<span class="shrink-0 ml-2 px-2 py-0.5 text-xs rounded-full bg-{{ $group['color'] }}-100 text-{{ $group['color'] }}-700">{{ $item['badge'] }}</span>
</div>
<p class="text-xs text-gray-500 mb-3 leading-relaxed">{{ $item['description'] }}</p>
<div class="flex items-center justify-between text-xs text-gray-400">
<span>{{ $item['date'] }}</span>
@if($item['exists'])
<span class="flex items-center gap-1 text-{{ $group['color'] }}-500">
문서 보기
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</span>
@else
<span class="text-gray-300">파일 없음</span>
@endif
</div>
</a>
@endforeach
</div>
</div>
@endforeach
@endsection