import { useRef, useState } from "react";
import { motion, useInView, AnimatePresence } from "framer-motion";
import {
Radio,
Puzzle,
Network,
Expand,
Shield,
ArrowUpRight,
Package,
Wind,
AlertTriangle,
Ship,
Plane,
} from "lucide-react";
import SubHero from "../../components/SubHero";
import useFadeIn from "../../hooks/useFadeIn";
const SOLUTION_NAV = [
{ label: "비행상황관리 시스템", to: "/solution/flight-control" },
{ label: "IBE", to: "/solution/ibe" },
// { label: "스마트 관광 예약 플랫폼", to: "/solution/smart-tour" },
// { label: "KT G-cloud 인천총판", to: "/solution/kt-gcloud" },
];
const FEATURES = [
{ icon: Radio, label: "실시간 모니터링" },
{ icon: Puzzle, label: "손쉬운 연계모듈" },
{ icon: Network, label: "네트워크 기반 방식" },
{ icon: Expand, label: "확장성 고려" },
{ icon: Shield, label: "안정적 서비스" },
];
const STATS = [
{ value: "90%+", label: "운항 데이터 정확도" },
{ value: "10분", label: "이내 실시간 처리" },
{ value: "24/7", label: "무중단 모니터링" },
{ value: "N+1", label: "다중 비행체 동시 관제" },
];
const DOMAINS = [
{
img: "domain_img1.jpg",
label: "드론 물류·배송 관제",
desc: "도심 및 광역 드론 배송 경로 최적화 및 실시간 위치 관제",
},
{
img: "domain_img2.jpg",
label: "UAM 도심항공 모빌리티",
desc: "미래형 도심 항공 교통 인프라 연계 관제 시스템",
},
{
img: "domain_img3.jpg",
label: "무인기 환경측정",
desc: "대기질·기상 데이터 수집 드론 운용 및 모니터링",
},
{
img: "domain_img4.jpg",
label: "안티드론 보안관제",
desc: "비인가 드론 탐지·추적 및 무력화 대응 지원",
},
{
img: "domain_img5.jpg",
label: "선박·항공기 통합관제",
desc: "해상·공중 복합 식별정보 수집 및 통합 상황관리",
},
];
const FUNCTIONS = [
{ num: "01", img: "./images/s1-01.jpg", label: "비행가능 지역 및 공역표출" },
{ num: "02", img: "./images/s1-02.jpg", label: "비행체 위치 표출" },
{
num: "03",
img: "./images/s1-03.jpg",
label: "항공기 비행경로 및 히스토리 표출",
},
{ num: "04", img: "./images/s1-04.jpg", label: "항공기 비행정보 표출" },
{ num: "05", img: "./images/s1-05.jpg", label: "비행계획서 조회" },
{ num: "06", img: "./images/s1-06.jpg", label: "비정상 상황의 경보 표출" },
];
const FLOW = [
{
step: "01",
label: "비행체 식별",
desc: "항공기·드론·선박 실시간 신호 수집",
},
{
step: "02",
label: "데이터 수집",
desc: "위치·속도·고도·식별코드 통합 처리",
},
{ step: "03", label: "관제 서버", desc: "통합 관제 서버 분석 및 상황 판단" },
{ step: "04", label: "모니터링", desc: "관제사 화면 실시간 현황 표출" },
{ step: "05", label: "경보·대응", desc: "이상 상황 감지 즉시 경보 및 대응" },
];
const ease = [0.22, 1, 0.36, 1];
function RevealText({ children, delay = 0, className }) {
return (
{children}
);
}
function StaggerWords({ text, delay = 0, className }) {
const words = text.split(" ");
return (
{words.map((word, i) => (
{word}
))}
);
}
function FlightControlPage() {
const basePath = import.meta.env.BASE_URL;
const ref = useFadeIn();
const [activeIdx, setActiveIdx] = useState(0);
// const overviewRef = useRef(null);
const statsRef = useRef(null);
const domainsRef = useRef(null);
const funcRef = useRef(null);
const flowRef = useRef(null);
const introRef = useRef(null);
const introInView = useInView(introRef, { once: true, margin: "-60px" });
const highlightRef = useRef(null);
const highlightInView = useInView(highlightRef, {
once: true,
margin: "-60px",
});
// const overviewInView = useInView(overviewRef, {
// once: true,
// margin: "-60px",
// });
const statsInView = useInView(statsRef, { once: true, margin: "-60px" });
const domainsInView = useInView(domainsRef, { once: true, margin: "-60px" });
const funcInView = useInView(funcRef, { once: true, margin: "-80px" });
const flowInView = useInView(flowRef, { once: true, margin: "-60px" });
return (
Flight Management}
navItems={SOLUTION_NAV}
/>
{/* 1. 개요 */}
{/*
{overviewInView && (
비행상황 관리 시스템
)}
{overviewInView && (
)}
각종 드론 상황관제, 환경측정, 미래산업인 드론/PAV/UAM을 활용한
사업들을 지원하기 위한 환경/물류/안티 드론 등의 상황관제
시스템을 연구하고 솔루션을 제공합니다.
{FEATURES.map(({ icon: Icon, label }, i) => (
{label}
))}
*/}
{/* 개요 인트로 */}
Overview
모든 이동체 정보를
하나의 플랫폼에서
항공기, 무인기, 선박, 지상 이동체의 실시간 정보를 통합
모니터링하고
상황을 인식하여 신속하고 안전한 운영 의사결정을 지원합니다.
{[
{ img: "fc_aircraft.png", label: "항공기" },
{ img: "fc_drone.png", label: "무인기" },
{ img: "fc_vessel.png", label: "선박" },
{ img: "fc_car.png", label: "차량 등" },
].map((item, i) => (
{item.label}
))}
{/* 기능 하이라이트 */}
{[
{
tag: "Real-Time Monitoring",
title: "실시간 이동체 정보 기반\n통합 모니터링",
desc: "전체에 분산된 이동체의 위치와 상태를 실시간으로 추적하여 안전하고 효율적인 운영 환경을 제공합니다.",
img: "fc_tablet.png",
icons: [
{
img: "fc_tab_airplane.png",
x: "0%",
y: "8%",
delay: 0,
move: { x: [-40, -120, 0], y: [0, 90, 0] }, // 왼쪽 아래 (배 방향)
},
{
img: "fc_tab_vessel.png",
x: "-30%",
y: "42%",
delay: 0,
move: { x: [0, 110, 0], y: [0, 60, 0] }, // 오른쪽 아래 (자동차 방향)
},
{
img: "fc_tab_car.png",
x: "0%",
y: "64%",
delay: 0,
move: { x: [0, 120, 0], y: [0, -65, 0] }, // 오른쪽 위 (드론 방향)
},
{
img: "fc_tab_drone.png",
x: "30%",
y: "40%",
delay: 0,
move: { x: [0, -100, 0], y: [0, -50, 0] }, // 왼쪽 위 (비행기 방향)
},
],
},
{
tag: "Situational Awareness",
title: "상황 인식 및\n의사결정 지원",
desc: "다양한 데이터와 고도화된 분석을 통해 상황을 예측하고 최적의 의사결정을 가능하게 합니다.",
img: "fc_tablet2.png",
icons: null,
},
].map((item, i) => (
{item.tag}
{item.title.split("\n").map((line, j) => (
{line}
))}
{item.desc}

{item.icons &&
item.icons.map((icon, j) => (
))}
{i === 1 && (
<>
>
)}
))}
{/* 2. 수치 지표 */}
{/*
{STATS.map(({ value, label }, i) => (
{value}
{label}
))}
*/}
{/* 3. 적용 분야 */}
적용 분야
{DOMAINS.map(({ icon: Icon, img, label, desc }, i) => (
))}
{/* 4. 주요기능 */}
주요기능
{FUNCTIONS.map(({ num, label }, i) => (
setActiveIdx(i)}
initial={{ opacity: 0, y: 16 }}
animate={funcInView ? { opacity: 1, y: 0 } : {}}
transition={{ duration: 0.5, ease, delay: 0.05 * i }}
>
{num}
{label}
))}
{FUNCTIONS[activeIdx].num}
{FUNCTIONS[activeIdx].label}
{/* 5. 시스템 구성 흐름 */}
시스템 구성
{FLOW.map(({ step, label, desc }, i) => (
{step}
{label}
{desc}
{i < FLOW.length - 1 && (
)}
))}
);
}
export default FlightControlPage;