feat: 보고서 지도캡처 + 드론/CCTV/확산예측 UI 기능 개선 #91

병합
jhkang feature/function_develop 에서 develop 로 27 commits 를 머지했습니다 2026-03-16 18:30:04 +09:00
79개의 변경된 파일1634개의 추가작업 그리고 0개의 파일을 삭제
Showing only changes of commit d9a51d2101 - Show all commits

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 494 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 319 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 311 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 476 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 743 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 906 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  크기: 551 KiB

파일 보기

@ -3,6 +3,7 @@ import type { MainTab } from '../../types/navigation'
import { useAuthStore } from '../../store/authStore'
import { useMenuStore } from '../../store/menuStore'
import { useMapStore } from '../../store/mapStore'
import UserManualPopup from '../ui/UserManualPopup'
interface TopBarProps {
activeTab: MainTab
@ -11,6 +12,7 @@ interface TopBarProps {
export function TopBar({ activeTab, onTabChange }: TopBarProps) {
const [showQuickMenu, setShowQuickMenu] = useState(false)
const [showManual, setShowManual] = useState(false)
const quickMenuRef = useRef<HTMLDivElement>(null)
const { hasPermission, user, logout } = useAuthStore()
const { menuConfig, isLoaded } = useMenuStore()
@ -173,10 +175,26 @@ export function TopBar({ activeTab, onTabChange }: TopBarProps) {
</div>
</button>
))}
<div className="my-1.5 border-t border-border" />
{/* 매뉴얼 */}
<button
onClick={() => {
setShowManual(true)
setShowQuickMenu(false)
}}
className="w-full px-3 py-2 flex items-center gap-2.5 text-[12px] text-text-2 hover:bg-[rgba(255,255,255,0.06)] hover:text-text-1 transition-all"
>
<span className="text-[13px]">&#x1F4D6;</span>
</button>
</div>
)}
</div>
</div>
{/* 사용자 매뉴얼 팝업 */}
<UserManualPopup isOpen={showManual} onClose={() => setShowManual(false)} />
</div>
)
}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다. Load Diff