Browse Source

Merge branch 'main' of https://github.com/geun1416/PALNetworks

remotes/origin/main
김지은 4 weeks ago
parent
commit
0b7606a719
  1. 14
      src/css/common.css
  2. 138
      src/pages/company/PartnersPage.jsx

14
src/css/common.css

@ -113,10 +113,10 @@ body{overflow-x:hidden;}
.partners-title-main em { font-style: normal; font-weight: 700; color: #333; background: none; }
.partners-title-desc { font-size: 13px; color: #bbb; line-height: 1.8; letter-spacing: 0.02em; }
.partners-section-row { display: grid; grid-template-columns: 180px 1fr; gap: 3rem; align-items: start; padding: 4rem 0; border-top: 1px solid #e8e8e8; }
.partners-sidebar { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; position: sticky; top: 100px; }
.partners-eyebrow { font-size: 11px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: #aaa; }
.partners-heading { font-size: 22px; font-weight: 600; color: #111; letter-spacing: -0.03em; line-height: 1.2; margin-top: 4px; }
.partners-count { font-size: 12px; color: #bbb; margin-top: 6px; }
.partners-sidebar { display: flex; flex-direction: column; gap: 6px; padding-top: 4px;}
.partners-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #888; }
.partners-heading { font-size: 32px; font-weight: 700; color: #111; letter-spacing: -0.04em; line-height: 1.15; margin-top: 6px; }
.partners-count { font-size: 13px; font-weight: 500; color: #999; margin-top: 8px; }
.partners-grid { display: grid; border: 1px solid #e8e8e8; border-radius: 16px; overflow: hidden; }
.partners-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.partners-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@ -126,11 +126,6 @@ body{overflow-x:hidden;}
.partners-grid--5 .partners-logo-cell:nth-child(5n) { border-right: none; }
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: none; }
.partners-logo-cell img { max-width: 75%; max-height: 28px; width: auto; height: auto; object-fit: contain; }
.partners-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 4rem 0 0; border-top: 1px solid #e8e8e8; }
.partners-cta-left { display: flex; flex-direction: column; gap: 8px; }
.partners-cta-title { font-size: 22px; font-weight: 600; color: #111; letter-spacing: -0.03em; line-height: 1.4; }
.partners-cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 0.85rem 2rem; border: 1px solid #222; border-radius: 100px; font-size: 14px; font-weight: 500; color: #111; background: transparent; text-decoration: none; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; flex-shrink: 0; }
.partners-cta-btn:hover { background: #111; color: #fff; }
@media (max-width: 768px) {
.partners-wrap { padding: 0 1.25rem 4rem; }
.partners-title-block { padding: 3rem 0 2rem; text-align: left; align-items: flex-start; }
@ -148,7 +143,6 @@ body{overflow-x:hidden;}
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+5) { border-bottom: 1px solid #e8e8e8; }
.partners-grid--5 .partners-logo-cell:nth-child(3n) { border-right: none; }
.partners-grid--5 .partners-logo-cell:nth-last-child(-n+3) { border-bottom: none; }
.partners-cta { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
}

138
src/pages/company/PartnersPage.jsx

@ -26,12 +26,32 @@ const CLIENTS = [
{ id: "molit", logo: "24" },
];
const PARTNERS = ["02", "03", "04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "18", "19", "22"];
const PARTNERS = [
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"10",
"11",
"12",
"13",
"14",
"18",
"19",
"22",
];
function LogoCard({ logo, basePath }) {
return (
<div className="partners-logo-cell">
<img src={`${basePath}images/partner/banner${logo}.png`} alt="" loading="lazy" />
<img
src={`${basePath}images/partner/banner${logo}.png`}
alt=""
loading="lazy"
/>
</div>
);
}
@ -43,6 +63,32 @@ export default function PartnersPage() {
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 },
@ -59,9 +105,9 @@ export default function PartnersPage() {
},
);
}, wrapRef);
return () => ctx.revert();
}, []);
return (
<article ref={ref}>
<SubHero
@ -80,7 +126,13 @@ export default function PartnersPage() {
<div className="sub-content">
<div className="inner-wrap">
{/* 상단 타이틀 */}
<motion.div className="ht-header" initial={{ opacity: 0, y: 32 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true, margin: "-80px" }} transition={{ duration: 0.6, ease: [0.4, 0, 0.2, 1] }}>
<motion.div
className="ht-header"
initial={{ opacity: 0, y: 32 }}
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true, margin: "-80px" }}
transition={{ duration: 0.6, ease: [0.4, 0, 0.2, 1] }}
>
<p className="ht-header-title">
Trusted by Many,
<br />
@ -88,7 +140,9 @@ export default function PartnersPage() {
<span>Built</span> <b>for the Future</b>
</em>
</p>
<em className="ht-header-sub">오랜 신뢰, 깊은 협력 함께하는 기관과 파트너</em>
<em className="ht-header-sub">
오랜 신뢰, 깊은 협력 함께하는 기관과 파트너
</em>
</motion.div>
<div className="partners-wrap" ref={wrapRef}>
@ -129,19 +183,69 @@ export default function PartnersPage() {
</div>
{/* CTA */}
<div className="partners-cta">
<div className="partners-cta-left">
<p className="partners-eyebrow">Become a Partner</p>
<p className="partners-cta-title">
팔네트웍스와 함께 성장할
<br />
파트너를 찾습니다
</p>
<section className="sub-section sub-fade-in">
<div
style={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
flexWrap: "wrap",
gap: "24px",
padding: "48px 56px",
background: "var(--color-primary)",
borderRadius: "24px",
}}
>
<div>
<p
style={{
margin: "0 0 8px",
fontSize: "13px",
fontWeight: 700,
letterSpacing: ".12em",
textTransform: "uppercase",
color: "rgba(255,255,255,.65)",
}}
>
Become a Partner
</p>
<h3
style={{
margin: 0,
fontSize: "clamp(22px,2.2vw,30px)",
fontWeight: 800,
color: "#fff",
letterSpacing: "-.03em",
lineHeight: 1.25,
}}
>
팔네트웍스와 함께 성장할
<br />
파트너를 찾습니다
</h3>
</div>
<a
href="/contact/inquiry"
style={{
display: "inline-flex",
alignItems: "center",
height: "52px",
padding: "0 28px",
background: "#fff",
borderRadius: "999px",
fontSize: "15px",
fontWeight: 700,
color: "var(--color-primary)",
textDecoration: "none",
whiteSpace: "nowrap",
letterSpacing: "-.01em",
flexShrink: 0,
}}
>
협력 문의하기
</a>
</div>
<a href="/contact/inquiry" className="partners-cta-btn">
협력 문의하기
</a>
</div>
</section>
</div>
</div>
</div>

Loading…
Cancel
Save