feat(admin): 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선 #103

병합
jhkang feature/report 에서 develop 로 23 commits 를 머지했습니다 2026-03-19 18:05:27 +09:00
Showing only changes of commit f0fee9d92b - Show all commits

파일 보기

@ -192,37 +192,32 @@ export function SatelliteRequest() {
const bsInputStyle = { border: '1px solid #21262d', background: '#161b22', color: '#e2e8f0' }
return (
<div className="overflow-y-auto py-5 px-6">
{/* 헤더 */}
<div className="flex items-center justify-between mb-5">
<div className="flex items-center gap-3">
<div className="w-10 h-10 rounded-[10px] flex items-center justify-center text-xl" style={{ background: 'linear-gradient(135deg,rgba(59,130,246,.2),rgba(168,85,247,.2))', border: '1px solid rgba(59,130,246,.3)' }}>🛰</div>
<div>
<div className="text-base font-bold font-korean text-text-1"> </div>
<div className="text-[11px] text-text-3 font-korean mt-0.5"> </div>
</div>
<div className="overflow-y-auto py-5 px-6" style={{ height: mainTab === 'map' ? '100%' : undefined }}>
{/* 헤더 + 탭 + 새요청 한 줄 */}
<div className="flex items-center gap-4 mb-4">
<div className="flex items-center gap-2.5 shrink-0">
<div className="w-8 h-8 rounded-lg flex items-center justify-center text-base" style={{ background: 'linear-gradient(135deg,rgba(59,130,246,.2),rgba(168,85,247,.2))', border: '1px solid rgba(59,130,246,.3)' }}>🛰</div>
<div className="text-[13px] font-bold font-korean text-text-1"> </div>
</div>
<button onClick={() => setModalPhase('provider')} className="px-4 py-2.5 text-white border-none rounded-sm text-[13px] font-semibold cursor-pointer font-korean flex items-center gap-1.5" style={{ background: 'linear-gradient(135deg,var(--blue),var(--purple))' }}>🛰 </button>
</div>
{/* 요청목록 / 지도 뷰 탭 */}
<div className="flex gap-1.5 mb-4">
<button
onClick={() => setMainTab('list')}
className="px-4 py-2 rounded text-[11px] font-bold font-korean cursor-pointer border transition-colors"
style={mainTab === 'list'
? { background: 'rgba(59,130,246,.12)', borderColor: 'rgba(59,130,246,.3)', color: 'var(--blue)' }
: { background: 'var(--bg3)', borderColor: 'var(--bd)', color: 'var(--t3)' }
}
>📋 </button>
<button
onClick={() => setMainTab('map')}
className="px-4 py-2 rounded text-[11px] font-bold font-korean cursor-pointer border transition-colors"
style={mainTab === 'map'
? { background: 'rgba(59,130,246,.12)', borderColor: 'rgba(59,130,246,.3)', color: 'var(--blue)' }
: { background: 'var(--bg3)', borderColor: 'var(--bd)', color: 'var(--t3)' }
}
>🗺 </button>
<div className="flex gap-1.5">
<button
onClick={() => setMainTab('list')}
className="px-3 py-1.5 rounded text-[10px] font-bold font-korean cursor-pointer border transition-colors"
style={mainTab === 'list'
? { background: 'rgba(59,130,246,.12)', borderColor: 'rgba(59,130,246,.3)', color: 'var(--blue)' }
: { background: 'var(--bg3)', borderColor: 'var(--bd)', color: 'var(--t3)' }
}
>📋 </button>
<button
onClick={() => setMainTab('map')}
className="px-3 py-1.5 rounded text-[10px] font-bold font-korean cursor-pointer border transition-colors"
style={mainTab === 'map'
? { background: 'rgba(59,130,246,.12)', borderColor: 'rgba(59,130,246,.3)', color: 'var(--blue)' }
: { background: 'var(--bg3)', borderColor: 'var(--bd)', color: 'var(--t3)' }
}
>🗺 </button>
</div>
<button onClick={() => setModalPhase('provider')} className="ml-auto px-4 py-2 text-white border-none rounded-sm text-[11px] font-semibold cursor-pointer font-korean flex items-center gap-1.5 shrink-0" style={{ background: 'linear-gradient(135deg,var(--blue),var(--purple))' }}>🛰 </button>
</div>
{mainTab === 'list' && (<>
@ -380,7 +375,7 @@ export function SatelliteRequest() {
const dateFiltered = requests.filter(r => r.dateKey === mapSelectedDate)
const dateHasDots = [...new Set(requests.map(r => r.dateKey).filter(Boolean))]
return (
<div className="bg-bg-2 border border-border rounded-md overflow-hidden relative" style={{ height: 'calc(100vh - 240px)' }}>
<div className="bg-bg-2 border border-border rounded-md overflow-hidden relative" style={{ height: 'calc(100vh - 160px)' }}>
<Map
initialViewState={{ longitude: 127.5, latitude: 34.5, zoom: 7 }}
mapStyle={SAT_MAP_STYLE}