KCG 모니터링 대시보드
Go to file
htlee 8acf8824fb refactor: Phase 2 완료 — useStaticDeckLayers 분할 (1,086줄→85줄)
- useStaticDeckLayers를 조합 훅으로 전환 (서브훅 호출만)
- createPortLayers: 항구 + 풍력단지 (145줄)
- createNavigationLayers: 해경 + 공항 + 항행경보 + 해적 (332줄)
- createMilitaryLayers: 군사시설 + 정부기관 + NK 발사/미사일 (272줄)
- createFacilityLayers: 인프라 + 위험시설 + CN/JP 시설 (310줄)
- layers/types.ts: 공유 타입 + hexToRgb (49줄)
- 각 서브훅은 SVG/색상 상수를 자체 포함 (독립 모듈)
2026-03-23 10:14:54 +09:00
.claude feat: 센서 그래프 실데이터 + 선박 모달 UI 개선 + KST/UTC 라디오 2026-03-18 09:23:45 +09:00
.gitea/workflows fix: prediction 배포 스크립트 수정 — health timeout 60초 + tar.gz 재시도 수정 2026-03-20 12:20:54 +09:00
.githooks feat(backend): OSINT/Satellite 수집기 + Caffeine 캐시 통일 + REST API 2026-03-18 04:04:18 +09:00
backend feat: 선단 클러스터 UI — 폴리곤 경계 + 목록 패널 + hover/zoom 인터랙션 2026-03-20 18:19:27 +09:00
database feat: 선단 등록 DB + 어망/어구 정체성 추적 시스템 2026-03-20 18:07:15 +09:00
deploy feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시 2026-03-20 12:10:21 +09:00
docs docs: 릴리즈 노트 정리 (2026-03-23) 2026-03-23 08:24:31 +09:00
frontend refactor: Phase 2 완료 — useStaticDeckLayers 분할 (1,086줄→85줄) 2026-03-23 10:14:54 +09:00
prediction feat: 한국 레이어 핵심 기능 통합 — 해외시설·현장분석·선단강조·버그수정 (#145) 2026-03-23 08:19:54 +09:00
.editorconfig chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.gitignore fix(deploy): application-prod.yml 코드 내장 + 외부 설정 참조 제거 2026-03-18 04:38:25 +09:00
.node-version chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.npmrc chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
.prettierrc chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00
CLAUDE.md fix(ci): package-lock.json 제거 후 npm install (플랫폼 호환) 2026-03-17 14:29:09 +09:00
README.md feat: KCG 모니터링 대시보드 초기 프로젝트 구성 2026-03-17 09:01:18 +09:00
workflow-version.json chore: 팀 워크플로우 초기 구성 (react-ts) 2026-03-17 08:42:46 +09:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])