import { gsap } from "gsap"; import { ScrollTrigger } from "gsap/ScrollTrigger"; import SubHero from "../../components/SubHero"; import FloatingKeywords from "../../components/FloatingKeywords"; import { useEffect, useRef } from "react"; import { motion } from "framer-motion"; import { Link } from "react-router-dom"; import { useLanguage } from "../../context/LanguageContext"; gsap.registerPlugin(ScrollTrigger); const heroRight = ; const COMPANY_NAV_KO = [ { label: "회사소개", to: "/company/about" }, { label: "인증 및 특허현황", to: "/company/cert" }, { label: "연혁", to: "/company/history" }, { label: "고객 및 협력사", to: "/company/partners" }, { label: "찾아오시는 길", to: "/company/location" }, ]; const COMPANY_NAV_EN = [ { label: "About Us", to: "/company/about" }, { label: "Certifications & Patents", to: "/company/cert" }, { label: "History", to: "/company/history" }, { label: "Clients & Partners", to: "/company/partners" }, { label: "Location", to: "/company/location" }, ]; const STATS = [ { num: 160000, suffix: "대+", label: "국내 등록 드론 현황" }, { num: 1500, suffix: "억$+", label: "UAM 시장 규모 (2040)" }, { num: 300, suffix: "%+", label: "UAS·UAV 수요 증가율" }, ]; const TECH_CARDS = [ { icon: "ti-layers-intersect", title: "장애물 제한 표면 검토", desc: "비행 경로 상의 장애물 제한 표면을 정밀하게 분석하고 검토합니다.", }, { icon: "ti-mountain", title: "지형 및 장애물 정보", desc: "실시간 지형 데이터와 장애물 정보를 통합하여 안전한 비행을 지원합니다.", }, { icon: "ti-arrows-up", title: "비행가능 고도 표출", desc: "공역별 비행 가능한 고도 정보를 직관적으로 시각화합니다.", }, { icon: "ti-map-pin", title: "NOTAM 및 지오펜스", desc: "항공 고시보와 지오펜스 정보를 실시간으로 반영하여 안전 공역을 관리합니다.", }, ]; const MISSION_ITEMS_KO = [ { num: "01", keyword: "INNOVATION", title: "혁신", desc: "효율적이고 혁신적인 기술로 항공산업 발전에 기여합니다.", }, { num: "02", keyword: "TRUST", title: "신뢰", desc: "안전하고 신뢰할 수 있는 시스템을 구축합니다.", }, { num: "03", keyword: "COOPERATION", title: "협력", desc: "파트너와 함께 성장하는 협력 생태계를 만들어갑니다", }, ]; const MISSION_ITEMS_EN = [ { num: "01", keyword: "INNOVATION", title: "Innovation", desc: "We contribute to the advancement of the aviation industry through efficient, innovative technology.", }, { num: "02", keyword: "TRUST", title: "Trust", desc: "We build safe and reliable systems.", }, { num: "03", keyword: "COOPERATION", title: "Cooperation", desc: "We build a collaborative ecosystem that grows together with our partners.", }, ]; const PAGE_TEXT = { ko: { heroSub: "가치를 존중하며 신뢰를 바탕으로, 고객과 함께 지속 가능한 미래를 만들어갑니다.", companyLabel: "About PAL Networks", companyHeadingBlue: "항공·전문 IT산업분야의", companyHeadingPlain: "소프트웨어 개발 전문 기업", companyBody1: "항공·전문 IT산업분야의 소프트웨어 개발 전문 기업으로써 개발, 연구 & 컨설팅 등 기술력 기반으로 전문인력 중심으로 수행하고 있습니다.", companyBody2: "PAL은 모두 가깝게 오래 사귄 사람을 뜻하는 '친구'라는 의미와 좋은 친구 Good friend, 짝꿍 Mate란 의미입니다.", companyBody3: "PAL네트웍스는 사람에 따뜻한 가치를 존중하며, 신뢰를 바탕으로 실천하는 기업입니다.", companyImgAlt: "PAL Networks 소개", meaningLabel: "Brand Identity", meaningTitle: "PALNETWORKS의 의미", meaningCard1Title: "PAL — 친구 · Good friend · Mate", meaningCard1Desc: "오래 사귄 친구처럼 고객과 함께 성장하는 파트너십을 추구합니다", meaningCard2Title: "신뢰 · Trust", meaningCard2Desc: "신뢰를 바탕으로 사람에게 따뜻한 가치를 존중하며 실천하는 기업입니다", missionLabel: "Mission", missionTitle: ( <> 항공산업의 기술혁신 선도를 통한
파트너 고객만족 지원 ), missionDesc: "미션은 효율적이고 혁신적인 기술로 항공산업에 이바지 하는 시스템과 관련기술을 구축 개발하여 대한민국의 현재와 미래 발전에 기여하는 것입니다.", ctaTitle: ( <> PAL Networks와
함께 시작해보세요 ), ctaDesc: ( <> 항공 IT 솔루션에 대한 문의, 협력 제안 무엇이든 환영합니다.
전문 인력이 빠르게 답변드리겠습니다. ), ctaLocation: "찾아오시는 길", ctaInquiry: "문의하기", }, en: { heroSub: "Respecting values and building on trust, we create a sustainable future together with our customers.", companyLabel: "About PAL Networks", companyHeadingBlue: "In the Aviation & IT Industry,", companyHeadingPlain: "A Software Development Specialist", companyBody1: "As a software development specialist in the aviation and specialized IT industry, we carry out development, research, and consulting driven by technical expertise and skilled professionals.", companyBody2: "PAL means \u2018friend\u2019 \u2014 someone close who has stayed by your side for a long time \u2014 as well as Good Friend and Mate.", companyBody3: "PAL Networks is a company that respects the warm value of people and acts on a foundation of trust.", companyImgAlt: "About PAL Networks", meaningLabel: "Brand Identity", meaningTitle: "The Meaning of PALNETWORKS", meaningCard1Title: "PAL — Friend · Good Friend · Mate", meaningCard1Desc: "We pursue a partnership that grows together with our customers, like a long-time friend.", meaningCard2Title: "Trust", meaningCard2Desc: "We are a company built on trust, respecting and practicing warm values toward people.", missionLabel: "Mission", missionTitle: ( <> Leading Technology Innovation
for Partner Satisfaction ), missionDesc: "Our mission is to build and develop systems and related technologies that contribute to the aviation industry through efficient, innovative technology, helping advance Korea's present and future.", ctaTitle: ( <> Get Started
with PAL Networks ), ctaDesc: ( <> Inquiries about aviation IT solutions or partnership proposals are always welcome.
Our specialists will respond quickly. ), ctaLocation: "Location", ctaInquiry: "Inquiry", }, }; export default function AboutPage() { const { lang, withLang } = useLanguage(); const COMPANY_NAV = lang === "en" ? COMPANY_NAV_EN : COMPANY_NAV_KO; const MISSION_ITEMS = lang === "en" ? MISSION_ITEMS_EN : MISSION_ITEMS_KO; const t = PAGE_TEXT[lang]; const basePath = import.meta.env.BASE_URL; const ref = useRef(null); const meaningCardsRef = useRef([]); const missionItemsRef = useRef([]); const certCardsRef = useRef([]); const imgMainRef = useRef(null); const imgSideRef = useRef(null); const companyTextRef = useRef(null); useEffect(() => { const ctx = gsap.context(() => { // 메인 이미지: 원 → 사각형 gsap.fromTo( imgMainRef.current, { borderRadius: "50%", scale: 0.65, opacity: 0 }, { scrollTrigger: { trigger: imgMainRef.current, start: "top 80%", toggleActions: "play none none none", }, borderRadius: "20px", scale: 1, opacity: 1, duration: 1.2, ease: "power2.out", }, ); // 사이드 이미지: 원 → 사각형 gsap.fromTo( imgSideRef.current, { borderRadius: "50%", scale: 0.5, opacity: 0 }, { scrollTrigger: { trigger: imgSideRef.current, start: "top 85%", toggleActions: "play none none none", }, borderRadius: "20px", scale: 1, opacity: 1, duration: 1.5, ease: "power2.out", }, ); // 텍스트 페이드인 gsap.from(companyTextRef.current, { scrollTrigger: { trigger: companyTextRef.current, start: "top 80%", toggleActions: "play none none none", }, x: -40, opacity: 0, duration: 0.9, ease: "power3.out", }); // 의미 카드: 왼쪽/오른쪽에서 슬라이드인 meaningCardsRef.current.forEach((card, i) => { gsap.from(card, { scrollTrigger: { trigger: card, start: "top 85%", toggleActions: "play none none none", }, x: i === 0 ? -50 : 50, opacity: 0, duration: 0.8, ease: "power3.out", }); }); // 미션 아이템: stagger 페이드인 gsap.from(missionItemsRef.current, { scrollTrigger: { trigger: missionItemsRef.current[0], start: "top 85%", toggleActions: "play none none none", }, y: 30, opacity: 0, duration: 0.7, stagger: 0.15, ease: "power3.out", }); // 특허 텍스트 박스 gsap.from(".about-cert-patents", { scrollTrigger: { trigger: ".about-cert-patents", start: "top 85%", toggleActions: "play none none none", }, y: 24, opacity: 0, duration: 0.7, ease: "power3.out", }); // 인증 카드: 아래서 위로 stagger gsap.from(certCardsRef.current, { scrollTrigger: { trigger: ".about-cert-section", start: "top 60%", toggleActions: "play none none none", }, y: 30, opacity: 0, duration: 0.8, stagger: { amount: 0.6, ease: "power1.out", }, ease: "power2.out", clearProps: "all", }); gsap.from(".about-cta-inner", { scrollTrigger: { trigger: ".about-cta-section", start: "top 80%", toggleActions: "play none none none", }, y: 40, opacity: 0, duration: 0.9, ease: "power3.out", }); }, ref); return () => ctx.revert(); }, []); return (
About Us } navItems={COMPANY_NAV} rightSlot={heroRight} />

Values First,
Trust in Every Stepe

{t.heroSub}
{/* 회사 소개 */}

{t.companyLabel}

{t.companyHeadingBlue}
{t.companyHeadingPlain}

{t.companyBody1}

{t.companyBody2}

{t.companyBody3}

{t.companyImgAlt}{" "}
{t.companyImgAlt}
{/* PALNETWORKS 의미 */}

{t.meaningLabel}

{t.meaningTitle}

(meaningCardsRef.current[0] = el)}>
FRIENDSHIP

{t.meaningCard1Title}

{t.meaningCard1Desc}

(meaningCardsRef.current[1] = el)}>
RELIABILITY

{t.meaningCard2Title}

{t.meaningCard2Desc}

{/* 미션 */}

{t.missionLabel}

{t.missionTitle}

{t.missionDesc}

{MISSION_ITEMS.map((item, i) => (
(missionItemsRef.current[i] = el)}> {item.num}

{item.title}

{item.keyword}

{item.desc}

))}
{/* 인증 및 특허 */} {/*

Certification

인증 및 특허 현황

벤처기업등록 · 기업부설연구소 · 소프트웨어등록증 · 직접생산증명원 ADS-978(KC 인증) · 비행정보통합관리시스템(특허출원) · 항공기의 지상 이동 소요시간 예측 시스템 및 방법(특허출원)

{[ { year: "2018. 04", title: "관광 사업 등록증", desc: "관광 사업 등록", }, { year: "2018. 07", title: "벤처기업 확인서", desc: "벤처기업 인증", }, { year: "2018. 12", title: "인천시 항공 유망 기업 인증", desc: "인천시 항공 유망기업으로 선정", }, { year: "2020. 06", title: "인천 관광벤처 인증", desc: "인천 관광벤처 인증", }, { year: "2021. 03", title: "KT 클라우드 총판", desc: "KT 클라우드 인천 총판 등록", }, ].map((item, i) => (
(certCardsRef.current[i] = el)} >
{item.year}

{item.title}

{item.desc}

))}
*/}
{/* CTA */}

{t.ctaTitle}

{t.ctaDesc}

{t.ctaLocation} {t.ctaInquiry}
); }