import { useEffect, useRef } from "react"; import gsap from "gsap"; import { ScrollTrigger } from "gsap/ScrollTrigger"; import { motion } from "framer-motion"; import { Link } from "react-router-dom"; import SubHero from "../../components/SubHero"; import useFadeIn from "../../hooks/useFadeIn"; gsap.registerPlugin(ScrollTrigger); const COMPANY_NAV = [ { label: "회사소개", to: "/company/about" }, { label: "인증 및 특허현황", to: "/company/cert" }, { label: "연혁", to: "/company/history" }, { label: "고객 및 협력사", to: "/company/partners" }, { label: "찾아오시는 길", to: "/company/location" }, ]; const CLIENTS = [ { id: "airport", logo: "01" }, { id: "kac", logo: "09" }, { id: "mod", logo: "15" }, { id: "incheon", logo: "16" }, { id: "jeju", logo: "20" }, { id: "kiast", logo: "21" }, { id: "kari", logo: "23" }, { id: "molit", logo: "24" }, ]; const PARTNERS = [ "02", "03", "04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "18", "19", "22", ]; function LogoCard({ logo, basePath }) { return (
); } export default function PartnersPage() { const ref = useFadeIn(); const wrapRef = useRef(null); const basePath = import.meta.env.BASE_URL; useEffect(() => { const ctx = gsap.context(() => { // 모든 섹션 요소 — 아래에서 위로 gsap.utils .toArray([ ".partners-section-row", ".partners-sidebar", ".partners-grid", ".sub-fade-in", ]) .forEach((el) => { gsap.fromTo( el, { opacity: 0, y: 48 }, { opacity: 1, y: 0, duration: 0.7, ease: "power3.out", scrollTrigger: { trigger: el, start: "top 88%", }, }, ); }); // 로고 셀 stagger (기존 유지) gsap.fromTo( ".partners-logo-cell", { opacity: 0, y: 16 }, { opacity: 1, y: 0, duration: 0.5, stagger: { each: 0.03, from: "start" }, ease: "power3.out", scrollTrigger: { trigger: ".partners-wrap", start: "top 80%", }, }, ); }, wrapRef); return () => ctx.revert(); }, []); return (
{/* 함께하는
*/} Partners } // desc="공공·항공·국방 분야 주요 기관과의 신뢰를 바탕으로 성장해왔습니다." navItems={COMPANY_NAV} />
{/* 상단 타이틀 */}

Trusted by Many,
Built for the Future

오랜 신뢰, 깊은 협력 함께하는 기관과 파트너
{/* */}
{/* 주요 고객사 */}

Clients

주요
고객사

{CLIENTS.length}개사

{CLIENTS.map((c) => ( ))}
{/* 기술 협력사 */}

Partners

기술
협력사

{PARTNERS.length}개사

{PARTNERS.map((num) => ( ))}
{/* CTA */}

Become a Partner

팔네트웍스와 함께 성장할
파트너를 찾습니다

협력 문의하기
); }